Example #1
0
def type_or_brand(request, catalog, type_or_brand, product=None, set=None):
    """
    В данной функции идёт обработка приходящего урла с выявлением, Тип это или Производитель.
    """
    context = RequestContext(request)
    context['catalog'] = get_object_or_404(Catalog, slug=catalog)
    context['type_or_brand_slug'] = type_or_brand
    context['catalog_slug'] = catalog
    try:
        if Manufacturer.objects.get(catalog=context['catalog'], slug=type_or_brand):
            if set:
                context['current_set'] = get_object_or_404(Set, slug=set)
                context['products_set'] = set_brand(catalog, type_or_brand, set)
                return render_to_response('catalog/catalog_set.html', context)
            context['catalog'] = get_object_or_404(Manufacturer, catalog=context['catalog'], slug=type_or_brand)
            
            #Уникальность зон для производителя
            zones = context['catalog'].get_zone(request.path)
            context['zone_title'] = zones['zone_title']
            context['zone_medium_one'] = zones['zone_medium_one']
            context['zone_medium_two'] = zones['zone_medium_two']
    
            context['type_or_brand_products'] = [type.type.all() for type in CatalogBrandType.objects.filter(catalog=get_object_or_404(Catalog, slug=catalog), brand=context['catalog'])][0]
            context['manufacturer'] = True
    except:
        try:
            if TypeA.objects.get(catalog=context['catalog'], slug=type_or_brand):
                if set:
                    context['current_set'] = get_object_or_404(Set, slug=set)
                    context['products_set'] = set_type(catalog, type_or_brand, set)
                    return render_to_response('catalog/catalog_set.html', context)
                context['catalog'] = get_object_or_404(TypeA, catalog=context['catalog'], slug=type_or_brand)
                context['type_or_brand_products'] = [brand.brand for brand in CatalogBrandType.objects.filter(catalog=get_object_or_404(Catalog, slug=catalog), type=context['catalog'])]
                context['type'] = True
        except:
            if get_object_or_404(TypeB, catalog=context['catalog'], slug=type_or_brand):
                if set:
                    context['current_set'] = get_object_or_404(Set, slug=set)
                    context['products_set'] = set_type(catalog, type_or_brand, set)
                    return render_to_response('catalog/catalog_set.html', context)
                context['catalog'] = get_object_or_404(TypeB, catalog=context['catalog'], slug=type_or_brand)
                context['type_or_brand_products'] = [brand.brand for brand in CatalogBrandType.objects.filter(catalog=get_object_or_404(Catalog, slug=catalog), type=context['catalog'])]
                context['type'] = True
    if product:
        if context.has_key('brand'):
            context['product'] = get_object_or_404(Product, manufacturer=context['brand'], slug=product)
        elif context.has_key('types'):
            context['product'] = get_object_or_404(Product, types=context['types'], slug=product)
        context['image'] = context['product'].picture.all()[0]
        #if ajax popupwindow request
        if request.GET.has_key('ajax'):
            return render_to_response('catalog/catalog_items_ajax.html', context)
        return render_to_response('catalog/catalog_items.html', context)
    return render_to_response('catalog/catalog_type_or_brand.html', context)
 def test_context_processor(self):
     OLD_TEMPLATE_CONTEXT_PROCESSORS = settings.TEMPLATE_CONTEXT_PROCESSORS
     settings.TEMPLATE_CONTEXT_PROCESSORS = tuple(settings.TEMPLATE_CONTEXT_PROCESSORS) + ('feedback.context_processors.feedback_form',)
     request = self.factory.get(self.feedback_url)
     c = RequestContext(request)
     self.assertTrue(c.has_key('feedback_form'))
     response = self.c.post(self.feedback_url, {})
     self.assertEqual(1, len(response.context['feedback_form'].errors))
     settings.TEMPLATE_CONTEXT_PROCESSORS = OLD_TEMPLATE_CONTEXT_PROCESSORS
Example #3
0
    def test_context_processor(self):

        from django.template import loader, context
        context._standard_context_processors = None

        request = self.factory.get(self.feedback_url)
        c = RequestContext(request)
        self.assertTrue(c.has_key('feedback_form'))
        response = self.c.post(self.feedback_url, {})
        self.assertEqual(1, len(response.context['feedback_form'].errors))

        context._standard_context_processors = None
Example #4
0
    def test_has_key(self):
        a = Context({'a': 1})
        b = RequestContext(HttpRequest(), {'a': 1})
        msg = "Context.has_key() is deprecated in favor of the 'in' operator."
        msg2 = "RequestContext.has_key() is deprecated in favor of the 'in' operator."

        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter('always')
            self.assertIs(a.has_key('a'), True)
            self.assertIs(a.has_key('b'), False)
            self.assertIs(b.has_key('a'), True)
            self.assertIs(b.has_key('b'), False)

        self.assertEqual(len(warns), 4)
        self.assertEqual(str(warns[0].message), msg)
        self.assertEqual(str(warns[1].message), msg)
        self.assertEqual(str(warns[2].message), msg2)
        self.assertEqual(str(warns[3].message), msg2)
Example #5
0
    def test_has_key(self):
        a = Context({'a': 1})
        b = RequestContext(HttpRequest(), {'a': 1})
        msg = "Context.has_key() is deprecated in favor of the 'in' operator."
        msg2 = "RequestContext.has_key() is deprecated in favor of the 'in' operator."

        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter('always')
            self.assertEqual(a.has_key('a'), True)
            self.assertEqual(a.has_key('b'), False)
            self.assertEqual(b.has_key('a'), True)
            self.assertEqual(b.has_key('b'), False)

        self.assertEqual(len(warns), 4)
        self.assertEqual(str(warns[0].message), msg)
        self.assertEqual(str(warns[1].message), msg)
        self.assertEqual(str(warns[2].message), msg2)
        self.assertEqual(str(warns[3].message), msg2)
Example #6
0
 def test_key_exists(self):
     """
     Check if SETTINGS key exists in default RequestContext
     """
     default_context = RequestContext(HttpRequest())
     self.assertTrue(default_context.has_key("SETTINGS"))
Example #7
0
 def test_settings_in_context(self):
     try:
         default_context = RequestContext(HttpRequest())
         self.assertTrue(default_context.has_key('SETTINGS'))
     except ImportError:
         pass