Example #1
0
    def get_absolute_url(self):
        product_slug = localize(self, 'slug')

        if self.categories.count() < 1:
            return '/product/' + str(self.pk)

        category = self.categories.all()[0]
        category_slug = localize(category, 'slug')

        if category_slug != '' and product_slug != '':
            return reverse('product_with_cat_both_by_slug',
                           kwargs={'slug': product_slug, 'category_slug': category_slug})

        elif category_slug != '':
            return reverse('product_with_cat_cat_by_slug_prod_by_id',
                           kwargs={'pk': self.pk, 'category_slug': category_slug})

        elif product_slug != '':
            return reverse('product_with_cat_cat_by_id_prod_by_slug',
                           kwargs={'slug': product_slug, 'category_id': category.pk})

        else:
            return reverse('product_with_cat',
                           kwargs={'pk': self.pk, 'category_id': category.pk})
Example #2
0
 def get_absolute_url(self):
     category_slug = localize(self, 'slug')
     if category_slug != '':
         return reverse('products_in_category_by_slug', kwargs={'category_slug': category_slug})
     else:
         return reverse('products_in_category', kwargs={'category_id': self.pk})