From aa1afccf1f9d68b90600da99665176bf8e1d9c1b Mon Sep 17 00:00:00 2001 From: Qwann Date: Thu, 26 Jan 2017 19:22:38 +0100 Subject: [PATCH] adding argumement `hidden` to Article in order to avoid some articles to appear in the menu --- kfet/forms.py | 4 ++-- kfet/migrations/0048_article_hidden.py | 19 +++++++++++++++++++ kfet/models.py | 4 ++++ kfet/views.py | 8 +++----- 4 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 kfet/migrations/0048_article_hidden.py diff --git a/kfet/forms.py b/kfet/forms.py index 0c563b04..80504b03 100644 --- a/kfet/forms.py +++ b/kfet/forms.py @@ -262,12 +262,12 @@ class ArticleForm(forms.ModelForm): class Meta: model = Article - fields = ['name', 'is_sold', 'price', 'stock', 'category', 'box_type', + fields = ['name', 'is_sold', 'hidden', 'price', 'stock', 'category', 'box_type', 'box_capacity'] class ArticleRestrictForm(ArticleForm): class Meta(ArticleForm.Meta): - fields = ['name', 'is_sold', 'price', 'category', 'box_type', + fields = ['name', 'is_sold', 'hidden', 'price', 'category', 'box_type', 'box_capacity'] # ----- diff --git a/kfet/migrations/0048_article_hidden.py b/kfet/migrations/0048_article_hidden.py new file mode 100644 index 00000000..63869f77 --- /dev/null +++ b/kfet/migrations/0048_article_hidden.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('kfet', '0047_auto_20170104_1528'), + ] + + operations = [ + migrations.AddField( + model_name='article', + name='hidden', + field=models.BooleanField(help_text='Si oui, ne sera pas affiché au public ; par exemple sur la carte.', default=False), + ), + ] diff --git a/kfet/models.py b/kfet/models.py index 88626729..55ae7b76 100644 --- a/kfet/models.py +++ b/kfet/models.py @@ -331,6 +331,10 @@ class ArticleCategory(models.Model): class Article(models.Model): name = models.CharField(max_length = 45) is_sold = models.BooleanField(default = True) + hidden = models.BooleanField(default=False, + help_text="Si oui, ne sera pas affiché " + "au public ; par exemple " + "sur la carte.") price = models.DecimalField( max_digits = 6, decimal_places = 2, default = 0) diff --git a/kfet/views.py b/kfet/views.py index 869d2376..cd4719ae 100644 --- a/kfet/views.py +++ b/kfet/views.py @@ -48,12 +48,10 @@ class Home(TemplateView): def get_context_data(self, **kwargs): context = super(TemplateView, self).get_context_data(**kwargs) - articles = Article.objects.all() - context['pressions'] = (articles.filter(category__name='Pression') - .filter(is_sold=True)) + articles = Article.objects.all().filter(is_sold=True, hidden=False) + context['pressions'] = articles.filter(category__name='Pression') context['articles'] = (articles.exclude(category__name='Pression') - .filter(is_sold=True) - .order_by('category')) + .order_by('category')) return context @method_decorator(login_required)