def companies_view(request): companies = Company.objects.get_everyone() cities = Company.objects.unique_cities(companies) countries = City.objects.unique_countries(cities) first_letters = Company.objects.first_letters(companies) tags = Company.objects.unique_tags(companies) companies_data = [{'id': c.id, 'order': c.order, 'alias': c.alias, 'tags': [t.id for t in c.tag_categories.all()], 'city': c.city.id} for c in companies] return {'companies': companies, 'cities': owear_json(cities), 'countries': owear_json(countries), 'letters': json.dumps(first_letters), 'tags': owear_json(tags), 'companies_data': json.dumps(companies_data), 'active_elements': ['nav_companies']}
def brands_view(request): brands = Brand.objects.get_everyone() for b in brands: b.country = b.countries.all()[0] countries = Brand.objects.unique_countries(brands) macroregions = Country.objects.unique_macroregions(countries) tags = Brand.objects.unique_tags(brands) letters = Brand.objects.first_letters(brands) prepped_brands = [{'id': brand.id, 'order': brand.order, 'tags': jsonize(brand.tag_categories.all()), 'countries': jsonize(brand.countries.all()), 'alias': brand.alias} for brand in brands] return {'countries': owear_json(countries), 'regions': owear_json(macroregions), 'tags': owear_json(tags), 'letters': json.dumps(letters), 'brands': brands, 'brands_data': json.dumps(prepped_brands), 'active_elements': ['nav_brands']}
def franchises_view(request): franchises = Franchise.objects.get_everyone() tags = Franchise.objects.unique_tags(franchises) letters = Franchise.objects.first_letters(franchises) min_price, max_price = Franchise.objects.get_minmax_range(franchises) franchises_data = [{'id': f.id, 'fl': f.alias[0].lower(), 'order': f.order, 'tags': [t.id for t in f.tags.all()], 'investments': f.investments} for f in franchises] return {'letters': json.dumps(letters), 'tags': owear_json(tags), 'franchises': franchises, 'min_price': min_price, 'max_price': max_price, 'franchises_data': json.dumps(franchises_data), 'active_elements':['nav_franchises']}