From dbf0653baf9271fdbefd55ac34cc0988d26fc5ca Mon Sep 17 00:00:00 2001 From: Skia Date: Sat, 20 Aug 2016 22:12:46 +0200 Subject: [PATCH] Add support for product buying groups + many cosmetics and form pimping --- core/lookups.py | 29 +- core/models.py | 2 +- core/static/core/img/unknown.jpg | Bin 0 -> 50020 bytes core/static/core/img/yug.jpg | Bin 0 -> 54916 bytes core/static/core/style.css | 4 +- core/templates/core/base.jinja | 9 +- core/templates/core/user_detail.jinja | 23 +- core/templates/core/user_stats.jinja | 2 +- counter/migrations/0016_auto_20160820_1923.py | 36 ++ counter/migrations/0017_auto_20160820_2047.py | 25 ++ counter/migrations/0018_auto_20160820_2051.py | 24 ++ counter/migrations/0019_auto_20160820_2053.py | 19 + counter/models.py | 10 +- counter/templates/counter/counter_click.jinja | 16 +- counter/views.py | 53 ++- eboutic/views.py | 9 +- locale/fr/LC_MESSAGES/django.mo | Bin 28360 -> 29001 bytes locale/fr/LC_MESSAGES/django.po | 369 ++++++++++-------- migrate.py | 5 +- 19 files changed, 441 insertions(+), 194 deletions(-) create mode 100644 core/static/core/img/unknown.jpg create mode 100644 core/static/core/img/yug.jpg create mode 100644 counter/migrations/0016_auto_20160820_1923.py create mode 100644 counter/migrations/0017_auto_20160820_2047.py create mode 100644 counter/migrations/0018_auto_20160820_2051.py create mode 100644 counter/migrations/0019_auto_20160820_2053.py diff --git a/core/lookups.py b/core/lookups.py index 1e061674..5649f7c3 100644 --- a/core/lookups.py +++ b/core/lookups.py @@ -1,7 +1,8 @@ from ajax_select import register, LookupChannel from core.views.site import search_user -from core.models import User +from core.models import User, Group +from club.models import Club from counter.models import Product, Counter @register('users') @@ -17,6 +18,32 @@ class UsersLookup(LookupChannel): def format_item_display(self, item): return item.get_display_name() +@register('groups') +class GroupsLookup(LookupChannel): + model = Group + + def get_query(self, q, request): + return self.model.objects.filter(name__icontains=q)[:50] + + def format_match(self, obj): + return obj.name + + def format_item_display(self, item): + return item.name + +@register('clubs') +class ClubLookup(LookupChannel): + model = Club + + def get_query(self, q, request): + return self.model.objects.filter(name__icontains=q)[:50] + + def format_match(self, obj): + return obj.name + + def format_item_display(self, item): + return item.name + @register('counters') class CountersLookup(LookupChannel): model = Counter diff --git a/core/models.py b/core/models.py index 40323810..c3d3d772 100644 --- a/core/models.py +++ b/core/models.py @@ -368,7 +368,7 @@ class User(AbstractBaseUser): %s """ % ( - self.profile_pict.get_download_url() if self.profile_pict else staticfiles_storage.url("core/img/na.gif"), + self.profile_pict.get_download_url() if self.profile_pict else staticfiles_storage.url("core/img/unknown.jpg"), _("Profile"), escape(self.get_display_name()), ) diff --git a/core/static/core/img/unknown.jpg b/core/static/core/img/unknown.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9761a5854202efa9251c8533685b146eb9e73cf5 GIT binary patch literal 50020 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%0DUJnLi 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 Ky}<8(%l`+pc;$%z literal 0 HcmV?d00001 diff --git a/core/static/core/img/yug.jpg b/core/static/core/img/yug.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c4da788729de07def1e4e88691b2aab042b9e5f6 GIT binary patch literal 54916 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
- +
{% endif %} @@ -94,6 +94,13 @@ $('.select_date').datepicker({ monthNamesShort: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].monthNamesShort, monthNames: $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}" ].monthNames, }).datepicker( $.datepicker.regional[ "{{ request.LANGUAGE_CODE }}"] ); +$(document).keydown(function (e) { + if ($(e.target).is('input')) { return } + if (e.keyCode == 83) { + $("#search").focus(); + return false; + } +}); {% endblock %} diff --git a/core/templates/core/user_detail.jinja b/core/templates/core/user_detail.jinja index 50e17853..6b85fdac 100644 --- a/core/templates/core/user_detail.jinja +++ b/core/templates/core/user_detail.jinja @@ -11,7 +11,9 @@
{% if profile.profile_pict %} - {% trans %}Profile{% endtrans %} + {% trans %}Profile{% endtrans %} + {% else %} + {% trans %}Profile{% endtrans %} {% endif %}

{{ profile.quote }}

@@ -53,4 +55,23 @@ {% endblock %} +{% block script %} +{{ super() }} + +{% endblock %} diff --git a/core/templates/core/user_stats.jinja b/core/templates/core/user_stats.jinja index b6bf8021..b3a64820 100644 --- a/core/templates/core/user_stats.jinja +++ b/core/templates/core/user_stats.jinja @@ -7,7 +7,7 @@ {% block infos %} {% if profile.permanencies %}
-

Permanencies

+

{% trans %}Permanencies{% endtrans %}

Total: {{ total_perm_time }}

Foyer: {{ total_foyer_time }}

MDE: {{ total_mde_time }}

diff --git a/counter/migrations/0016_auto_20160820_1923.py b/counter/migrations/0016_auto_20160820_1923.py new file mode 100644 index 00000000..3e02cc49 --- /dev/null +++ b/counter/migrations/0016_auto_20160820_1923.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0007_auto_20160813_0522'), + ('counter', '0015_auto_20160820_0158'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='buying_group', + field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.SET_NULL, verbose_name='buying group', related_name='products', to='core.Group', null=True), + ), + migrations.AlterField( + model_name='product', + name='club', + field=models.ForeignKey(verbose_name='club', to='club.Club', related_name='products'), + ), + migrations.AlterField( + model_name='product', + name='icon', + field=models.ImageField(blank=True, null=True, upload_to='products', verbose_name='icon'), + ), + migrations.AlterField( + model_name='product', + name='product_type', + field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.SET_NULL, verbose_name='parent product', related_name='children_products', to='counter.Product', null=True), + ), + ] diff --git a/counter/migrations/0017_auto_20160820_2047.py b/counter/migrations/0017_auto_20160820_2047.py new file mode 100644 index 00000000..a30a827d --- /dev/null +++ b/counter/migrations/0017_auto_20160820_2047.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('counter', '0016_auto_20160820_1923'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='parent_product', + field=models.ForeignKey(to='counter.Product', null=True, related_name='children_products', on_delete=django.db.models.deletion.SET_NULL, verbose_name='parent product', blank=True), + ), + migrations.AlterField( + model_name='product', + name='product_type', + field=models.ForeignKey(to='counter.ProductType', null=True, related_name='products', on_delete=django.db.models.deletion.SET_NULL, verbose_name='product type', blank=True), + ), + ] diff --git a/counter/migrations/0018_auto_20160820_2051.py b/counter/migrations/0018_auto_20160820_2051.py new file mode 100644 index 00000000..96be2949 --- /dev/null +++ b/counter/migrations/0018_auto_20160820_2051.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0007_auto_20160813_0522'), + ('counter', '0017_auto_20160820_2047'), + ] + + operations = [ + migrations.RemoveField( + model_name='product', + name='buying_group', + ), + migrations.AddField( + model_name='product', + name='buying_group', + field=models.ManyToManyField(related_name='products', to='core.Group', verbose_name='buying group'), + ), + ] diff --git a/counter/migrations/0019_auto_20160820_2053.py b/counter/migrations/0019_auto_20160820_2053.py new file mode 100644 index 00000000..2d72575c --- /dev/null +++ b/counter/migrations/0019_auto_20160820_2053.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('counter', '0018_auto_20160820_2051'), + ] + + operations = [ + migrations.RenameField( + model_name='product', + old_name='buying_group', + new_name='buying_groups', + ), + ] diff --git a/counter/models.py b/counter/models.py index d835435d..0600193f 100644 --- a/counter/models.py +++ b/counter/models.py @@ -76,15 +76,19 @@ class Product(models.Model): """ name = models.CharField(_('name'), max_length=64) description = models.TextField(_('description'), blank=True) - product_type = models.ForeignKey(ProductType, related_name='products', null=True, blank=True) + product_type = models.ForeignKey(ProductType, related_name='products', verbose_name=_("product type"), null=True, blank=True, + on_delete=models.SET_NULL) code = models.CharField(_('code'), max_length=16, blank=True) purchase_price = CurrencyField(_('purchase price')) selling_price = CurrencyField(_('selling price')) special_selling_price = CurrencyField(_('special selling price')) - icon = models.ImageField(upload_to='products', null=True, blank=True) - club = models.ForeignKey(Club, related_name="products") + icon = models.ImageField(upload_to='products', null=True, blank=True, verbose_name=_("icon")) + club = models.ForeignKey(Club, related_name="products", verbose_name=_("club")) limit_age = models.IntegerField(_('limit age'), default=0) tray = models.BooleanField(_('tray price'), default=False) + parent_product = models.ForeignKey('self', related_name='children_products', verbose_name=_("parent product"), null=True, + blank=True, on_delete=models.SET_NULL) + buying_groups = models.ManyToManyField(Group, related_name='products', verbose_name=_("buying groups")) class Meta: verbose_name = _('product') diff --git a/counter/templates/counter/counter_click.jinja b/counter/templates/counter/counter_click.jinja index 90ceb3a4..33754691 100644 --- a/counter/templates/counter/counter_click.jinja +++ b/counter/templates/counter/counter_click.jinja @@ -46,6 +46,9 @@ {% if request.session['too_young'] %}

{% trans %}Too young for that product{% endtrans %}

{% endif %} + {% if request.session['not_allowed'] %} +

{% trans %}Not allowed for that product{% endtrans %}

+ {% endif %} {% if request.session['not_enough'] %}

{% trans %}Not enough money{% endtrans %}

{% endif %} @@ -79,11 +82,16 @@ -

{% trans %}Products: {% endtrans %} - {% for p in counter.products.all() %} - {{ add_product(p.id, p.name) }} +

{% trans %}Products: {% endtrans %} + {% for t in categories %} + {% if counter.products.filter(product_type=t).exists() %} +
{{ t }}
+ {% for p in counter.products.filter(product_type=t).all() %} + {{ add_product(p.id, p.name) }} + {% endfor %} + {% endif %} {% endfor %} -

+
{% endblock %} diff --git a/counter/views.py b/counter/views.py index f006c1ef..63864684 100644 --- a/counter/views.py +++ b/counter/views.py @@ -123,6 +123,7 @@ class CounterClick(DetailView): request.session['basket_total'] = 0 request.session['not_enough'] = False request.session['too_young'] = False + request.session['not_allowed'] = False self.refill_form = None ret = super(CounterClick, self).get(request, *args, **kwargs) if ((self.object.type != "BAR" and not request.user.is_authenticated()) or @@ -145,6 +146,7 @@ class CounterClick(DetailView): request.session['basket_total'] = 0 request.session['not_enough'] = False request.session['too_young'] = False + request.session['not_allowed'] = False if self.object.type != "BAR": self.operator = request.user elif self.is_barman_price(): @@ -208,6 +210,13 @@ class CounterClick(DetailView): price = self.get_price(pid) total = self.sum_basket(request) product = self.get_product(pid) + can_buy = False + for g in product.buying_groups.all(): + if request.user.is_in_group(g.name): + can_buy = True + if not can_buy: + request.session['not_allowed'] = True + return False bq = 0 # Bonus quantity, for trays if product.tray: # Handle the tray to adjust the quantity q to add and the bonus quantity bq total_qty_mod_6 = self.get_total_quantity_for_pid(request, pid) % 6 @@ -224,8 +233,6 @@ class CounterClick(DetailView): request.session['basket'][pid]['bonus_qty'] += bq else: # or create if not request.session['basket'][pid] = {'qty': q, 'price': int(price*100), 'bonus_qty': bq} - request.session['not_enough'] = False # Reset not_enough to save the session - request.session['too_young'] = False request.session.modified = True return True @@ -321,6 +328,7 @@ class CounterClick(DetailView): kwargs['customer'] = self.customer kwargs['basket_total'] = self.sum_basket(self.request) kwargs['refill_form'] = self.refill_form or RefillForm() + kwargs['categories'] = ProductType.objects.all() return kwargs class CounterLogin(RedirectView): @@ -451,23 +459,42 @@ class ProductListView(CanEditPropMixin, ListView): model = Product template_name = 'counter/product_list.jinja' +class ProductEditForm(forms.ModelForm): + class Meta: + model = Product + fields = ['name', 'description', 'product_type', 'code', 'parent_product', 'buying_groups', 'purchase_price', + 'selling_price', 'special_selling_price', 'icon', 'club', 'limit_age', 'tray'] + parent_product = AutoCompleteSelectField('products', show_help_text=False, label=_("Parent product"), required=False) + buying_groups = AutoCompleteSelectMultipleField('groups', show_help_text=False, help_text="", label=_("Buying groups")) + club = AutoCompleteSelectField('clubs', show_help_text=False) + counters = AutoCompleteSelectMultipleField('counters', show_help_text=False, help_text="", label=_("Counters"), required=False) + + def __init__(self, *args, **kwargs): + super(ProductEditForm, self).__init__(*args, **kwargs) + if self.instance.id: + self.fields['counters'].initial = [str(c.id) for c in self.instance.counters.all()] + + def save(self, *args, **kwargs): + ret = super(ProductEditForm, self).save(*args, **kwargs) + if self.fields['counters'].initial: + for cid in self.fields['counters'].initial: + c = Counter.objects.filter(id=int(cid)).first() + c.products.remove(self.instance) + c.save() + for cid in self.cleaned_data['counters']: + c = Counter.objects.filter(id=int(cid)).first() + c.products.add(self.instance) + c.save() + return ret + class ProductCreateView(CanCreateMixin, CreateView): """ A create view for the admins """ model = Product - fields = ['name', 'description', 'product_type', 'code', 'purchase_price', - 'selling_price', 'special_selling_price', 'icon', 'club'] + form_class = ProductEditForm template_name = 'core/create.jinja' -class ProductEditForm(forms.ModelForm): - class Meta: - model = Product - fields = ['name', 'description', 'product_type', 'code', 'purchase_price', - 'selling_price', 'special_selling_price', 'icon', 'club', 'limit_age', 'tray'] - counters = make_ajax_field(Product, 'counters', 'counters', show_help_text=False, label='Counters', help_text="Guy", - required=False) # TODO FIXME - class ProductEditView(CanEditPropMixin, UpdateView): """ An edit view for the admins @@ -476,8 +503,6 @@ class ProductEditView(CanEditPropMixin, UpdateView): form_class = ProductEditForm pk_url_kwarg = "product_id" template_name = 'core/edit.jinja' - # TODO: add management of the 'counters' ForeignKey - class RefillingDeleteView(CanEditPropMixin, DeleteView): """ diff --git a/eboutic/views.py b/eboutic/views.py index f698b9b0..2893b8e8 100644 --- a/eboutic/views.py +++ b/eboutic/views.py @@ -55,9 +55,12 @@ class EbouticMain(TemplateView): """ Add a product to the basket """ try: p = Product.objects.filter(id=int(request.POST['product_id'])).first() - self.basket.add_product(p) - except: - pass + for g in p.buying_groups.all(): + if request.user.is_in_group(g.name): + self.basket.add_product(p) + break + except Exception as e: + print(repr(e)) def del_product(self, request): """ Delete a product from the basket """ diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index dbf7508440b2578e1e95a94c2246240771326cdc..3cde4cbc23809cae7d7629bf4ccc7453c910447b 100644 GIT binary patch delta 10788 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 delta 10220 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 NbM*ZH-_@~W{tF|WRRjP4 diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 25172d9a..52944fe9 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-19 23:14+0200\n" +"POT-Creation-Date: 2016-08-20 21:11+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -18,7 +18,7 @@ msgstr "" #: accounting/models.py:33 accounting/models.py:45 accounting/models.py:68 #: accounting/models.py:111 club/models.py:18 counter/models.py:52 -#: counter/models.py:77 counter/models.py:105 launderette/models.py:15 +#: counter/models.py:77 counter/models.py:111 launderette/models.py:15 #: launderette/models.py:60 launderette/models.py:85 msgid "name" msgstr "nom" @@ -40,12 +40,12 @@ msgstr "numero de compte" msgid "%(club_account)s on %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s" -#: accounting/models.py:109 club/models.py:147 counter/models.py:291 +#: accounting/models.py:109 club/models.py:147 counter/models.py:297 #: launderette/models.py:122 msgid "start date" msgstr "date de début" -#: accounting/models.py:110 club/models.py:148 counter/models.py:292 +#: accounting/models.py:110 club/models.py:148 counter/models.py:298 msgid "end date" msgstr "date de fin" @@ -54,7 +54,7 @@ msgid "is closed" msgstr "est fermé" #: accounting/models.py:114 accounting/models.py:153 counter/models.py:25 -#: counter/models.py:206 +#: counter/models.py:212 msgid "amount" msgstr "montant" @@ -66,13 +66,13 @@ msgstr "montant effectif" msgid "number" msgstr "numéro" -#: accounting/models.py:154 core/models.py:418 core/models.py:694 -#: counter/models.py:209 counter/models.py:255 eboutic/models.py:14 +#: accounting/models.py:154 core/models.py:426 core/models.py:702 +#: counter/models.py:215 counter/models.py:261 eboutic/models.py:14 #: eboutic/models.py:47 msgid "date" msgstr "date" -#: accounting/models.py:155 accounting/models.py:241 counter/models.py:247 +#: accounting/models.py:155 accounting/models.py:241 counter/models.py:253 msgid "label" msgstr "intitulé" @@ -80,7 +80,7 @@ msgstr "intitulé" msgid "remark" msgstr "remarque" -#: accounting/models.py:157 counter/models.py:210 counter/models.py:256 +#: accounting/models.py:157 counter/models.py:216 counter/models.py:262 #: subscription/models.py:34 msgid "payment method" msgstr "méthode de paiement" @@ -152,7 +152,7 @@ msgid "Please add a target label if you set no existing target" msgstr "" "Merci d'ajouter un nom de cible si vous ne spécifiez pas de cible existante" -#: accounting/models.py:240 counter/models.py:80 +#: accounting/models.py:240 counter/models.py:81 msgid "code" msgstr "code" @@ -378,11 +378,11 @@ msgstr "" msgid "A club with that unix name already exists." msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:32 core/models.py:166 +#: club/models.py:32 core/models.py:168 msgid "address" msgstr "Adresse" -#: club/models.py:38 core/models.py:115 +#: club/models.py:38 core/models.py:117 msgid "home" msgstr "home" @@ -399,15 +399,15 @@ msgstr "Un club avec ce nom UNIX existe déjà." msgid "user" msgstr "nom d'utilisateur" -#: club/models.py:146 +#: club/models.py:146 counter/models.py:86 msgid "club" msgstr "club" -#: club/models.py:149 core/models.py:133 +#: club/models.py:149 core/models.py:135 msgid "role" msgstr "rôle" -#: club/models.py:151 core/models.py:30 counter/models.py:53 +#: club/models.py:151 core/models.py:32 counter/models.py:53 #: counter/models.py:78 msgid "description" msgstr "description" @@ -492,30 +492,30 @@ msgstr "Comptoirs : " msgid "Manage launderettes" msgstr "Gestion des laveries" -#: core/models.py:26 +#: core/models.py:28 msgid "meta group status" msgstr "status du meta-groupe" -#: core/models.py:28 +#: core/models.py:30 msgid "Whether a group is a meta group or not" msgstr "Si un groupe est un meta-groupe ou pas" -#: core/models.py:56 +#: core/models.py:58 #, python-format msgid "%(value)s is not a valid promo (between 0 and %(end)s)" msgstr "%(value)s n'est pas une promo valide (doit être entre 0 et %(end)s)" -#: core/models.py:72 +#: core/models.py:74 msgid "username" msgstr "nom d'utilisateur" -#: core/models.py:75 +#: core/models.py:77 msgid "Required. 254 characters or fewer. Letters, digits and @/./+/-/_ only." msgstr "" "Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et @/./" "+/-/_" -#: core/models.py:79 +#: core/models.py:81 msgid "" "Enter a valid username. This value may contain only letters, numbers and @/./" "+/-/_ characters." @@ -523,43 +523,43 @@ msgstr "" "Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et @/./" "+/-/_" -#: core/models.py:84 +#: core/models.py:86 msgid "A user with that username already exists." msgstr "Un utilisateur de ce nom existe déjà" -#: core/models.py:87 +#: core/models.py:89 msgid "first name" msgstr "Prénom" -#: core/models.py:88 +#: core/models.py:90 msgid "last name" msgstr "Nom" -#: core/models.py:89 +#: core/models.py:91 msgid "email address" msgstr "adresse email" -#: core/models.py:90 +#: core/models.py:92 msgid "date of birth" msgstr "date de naissance" -#: core/models.py:91 +#: core/models.py:93 msgid "nick name" msgstr "surnom" -#: core/models.py:93 +#: core/models.py:95 msgid "staff status" msgstr "status \"staff\"" -#: core/models.py:95 +#: core/models.py:97 msgid "Designates whether the user can log into this admin site." msgstr "Est-ce que l'utilisateur peut se logger à la partie admin du site." -#: core/models.py:98 +#: core/models.py:100 msgid "active" msgstr "actif" -#: core/models.py:101 +#: core/models.py:103 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -567,320 +567,320 @@ msgstr "" "Est-ce que l'utilisateur doit être traité comme actif. Déselectionnez au " "lieu de supprimer les comptes." -#: core/models.py:105 +#: core/models.py:107 msgid "date joined" msgstr "date d'inscription" -#: core/models.py:106 +#: core/models.py:108 msgid "last update" msgstr "dernière mise à jour" -#: core/models.py:108 +#: core/models.py:110 msgid "superuser" msgstr "super-utilisateur" -#: core/models.py:111 +#: core/models.py:113 msgid "Designates whether this user is a superuser. " msgstr "Est-ce que l'utilisateur est super-utilisateur." -#: core/models.py:116 +#: core/models.py:118 msgid "profile" msgstr "profil" -#: core/models.py:118 +#: core/models.py:120 msgid "avatar" msgstr "avatar" -#: core/models.py:120 +#: core/models.py:122 msgid "scrub" msgstr "blouse" -#: core/models.py:122 +#: core/models.py:124 msgid "sex" msgstr "sexe" -#: core/models.py:122 +#: core/models.py:124 msgid "Man" msgstr "Homme" -#: core/models.py:122 +#: core/models.py:124 msgid "Woman" msgstr "Femme" -#: core/models.py:123 +#: core/models.py:125 msgid "tshirt size" msgstr "taille de tshirt" -#: core/models.py:124 +#: core/models.py:126 msgid "-" msgstr "-" -#: core/models.py:125 +#: core/models.py:127 msgid "XS" msgstr "XS" -#: core/models.py:126 +#: core/models.py:128 msgid "S" msgstr "S" -#: core/models.py:127 +#: core/models.py:129 msgid "M" msgstr "M" -#: core/models.py:128 +#: core/models.py:130 msgid "L" msgstr "L" -#: core/models.py:129 +#: core/models.py:131 msgid "XL" msgstr "XL" -#: core/models.py:130 +#: core/models.py:132 msgid "XXL" msgstr "XXL" -#: core/models.py:131 +#: core/models.py:133 msgid "XXXL" msgstr "XXXL" -#: core/models.py:134 +#: core/models.py:136 msgid "Student" msgstr "Étudiant" -#: core/models.py:135 +#: core/models.py:137 msgid "Administrative agent" msgstr "Personnel administratif" -#: core/models.py:136 +#: core/models.py:138 msgid "Teacher" msgstr "Enseignant" -#: core/models.py:137 +#: core/models.py:139 msgid "Agent" msgstr "Personnel" -#: core/models.py:138 +#: core/models.py:140 msgid "Doctor" msgstr "Doctorant" -#: core/models.py:139 +#: core/models.py:141 msgid "Former student" msgstr "Ancien étudiant" -#: core/models.py:140 +#: core/models.py:142 msgid "Service" msgstr "Service" -#: core/models.py:142 +#: core/models.py:144 msgid "department" msgstr "département" -#: core/models.py:143 +#: core/models.py:145 msgid "TC" msgstr "TC" -#: core/models.py:144 +#: core/models.py:146 msgid "IMSI" msgstr "IMSI" -#: core/models.py:145 +#: core/models.py:147 msgid "IMAP" msgstr "IMAP" -#: core/models.py:146 +#: core/models.py:148 msgid "INFO" msgstr "INFO" -#: core/models.py:147 +#: core/models.py:149 msgid "GI" msgstr "GI" -#: core/models.py:148 +#: core/models.py:150 msgid "E" msgstr "E" -#: core/models.py:149 +#: core/models.py:151 msgid "EE" msgstr "EE" -#: core/models.py:150 +#: core/models.py:152 msgid "GESC" msgstr "GESC" -#: core/models.py:151 +#: core/models.py:153 msgid "GMC" msgstr "GMC" -#: core/models.py:152 +#: core/models.py:154 msgid "MC" msgstr "MC" -#: core/models.py:153 +#: core/models.py:155 msgid "EDIM" msgstr "EDIM" -#: core/models.py:154 +#: core/models.py:156 msgid "Humanities" msgstr "Humanités" -#: core/models.py:155 +#: core/models.py:157 msgid "N/A" msgstr "N/A" -#: core/models.py:157 +#: core/models.py:159 msgid "dpt option" msgstr "Filière" -#: core/models.py:158 +#: core/models.py:160 msgid "semester" msgstr "semestre" -#: core/models.py:159 +#: core/models.py:161 msgid "quote" msgstr "citation" -#: core/models.py:160 +#: core/models.py:162 msgid "school" msgstr "école" -#: core/models.py:161 +#: core/models.py:163 msgid "promo" msgstr "promo" -#: core/models.py:162 +#: core/models.py:164 msgid "forum signature" msgstr "signature du forum" -#: core/models.py:163 +#: core/models.py:165 msgid "second email address" msgstr "adresse email secondaire" -#: core/models.py:164 +#: core/models.py:166 msgid "phone" msgstr "téléphone" -#: core/models.py:165 +#: core/models.py:167 msgid "parent phone" msgstr "téléphone des parents" -#: core/models.py:167 +#: core/models.py:169 msgid "parent address" msgstr "adresse des parents" -#: core/models.py:254 +#: core/models.py:256 msgid "A user with that username already exists" msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" -#: core/models.py:364 core/templates/core/macros.jinja:9 -#: core/templates/core/macros.jinja:11 core/templates/core/macros.jinja:22 -#: core/templates/core/user_detail.jinja:13 +#: core/models.py:372 core/templates/core/macros.jinja:17 +#: core/templates/core/user_detail.jinja:14 +#: core/templates/core/user_detail.jinja:16 #: core/templates/core/user_edit.jinja:15 msgid "Profile" msgstr "Profil" -#: core/models.py:395 +#: core/models.py:403 msgid "Visitor" msgstr "Visiteur" -#: core/models.py:400 +#: core/models.py:408 msgid "define if we show a users stats" msgstr "Definit si l'on montre les statistiques de l'utilisateur" -#: core/models.py:402 +#: core/models.py:410 msgid "Show your account statistics to others" msgstr "Montrez vos statistiques de compte aux autres" -#: core/models.py:409 +#: core/models.py:417 msgid "file name" msgstr "nom du fichier" -#: core/models.py:410 core/models.py:543 +#: core/models.py:418 core/models.py:551 msgid "parent" msgstr "parent" -#: core/models.py:411 core/models.py:421 +#: core/models.py:419 core/models.py:429 msgid "file" msgstr "fichier" -#: core/models.py:412 +#: core/models.py:420 msgid "owner" msgstr "propriétaire" -#: core/models.py:413 core/models.py:549 +#: core/models.py:421 core/models.py:557 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:414 core/models.py:550 +#: core/models.py:422 core/models.py:558 msgid "view group" msgstr "groupe de vue" -#: core/models.py:415 +#: core/models.py:423 msgid "is folder" msgstr "est un dossier" -#: core/models.py:416 +#: core/models.py:424 msgid "mime type" msgstr "type mime" -#: core/models.py:417 +#: core/models.py:425 msgid "size" msgstr "taille" -#: core/models.py:447 +#: core/models.py:455 msgid "Character '/' not authorized in name" msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier" -#: core/models.py:450 core/models.py:455 +#: core/models.py:458 core/models.py:463 msgid "Loop in folder tree" msgstr "Boucle dans l'arborescence des dossiers" -#: core/models.py:459 +#: core/models.py:467 msgid "You can not make a file be a children of a non folder file" msgstr "" "Vous ne pouvez pas mettre un fichier enfant de quelque chose qui n'est pas " "un dossier" -#: core/models.py:463 +#: core/models.py:471 msgid "Duplicate file" msgstr "Un fichier de ce nom existe déjà" -#: core/models.py:473 +#: core/models.py:481 msgid "You must provide a file" msgstr "Vous devez fournir un fichier" -#: core/models.py:498 +#: core/models.py:506 msgid "Folder: " msgstr "Dossier : " -#: core/models.py:500 +#: core/models.py:508 msgid "File: " msgstr "Fichier : " -#: core/models.py:542 core/models.py:546 +#: core/models.py:550 core/models.py:554 msgid "page name" msgstr "nom de la page" -#: core/models.py:547 +#: core/models.py:555 msgid "owner group" msgstr "groupe propriétaire" -#: core/models.py:578 +#: core/models.py:586 msgid "Duplicate page" msgstr "Une page de ce nom existe déjà" -#: core/models.py:584 +#: core/models.py:592 msgid "Loop in page tree" msgstr "Boucle dans l'arborescence des pages" -#: core/models.py:691 +#: core/models.py:699 msgid "revision" msgstr "révision" -#: core/models.py:692 +#: core/models.py:700 msgid "page title" msgstr "titre de la page" -#: core/models.py:693 +#: core/models.py:701 msgid "page content" msgstr "contenu de la page" @@ -970,7 +970,7 @@ msgstr "Confirmation" #: core/templates/core/delete_confirm.jinja:14 #: core/templates/core/file_delete_confirm.jinja:14 -#: counter/templates/counter/counter_click.jinja:72 +#: counter/templates/counter/counter_click.jinja:83 msgid "Cancel" msgstr "Annuler" @@ -1076,7 +1076,7 @@ msgid "Please login to see this page." msgstr "Merci de vous identifier pour voir cette page." #: core/templates/core/login.jinja:28 -#: counter/templates/counter/counter_main.jinja:48 +#: counter/templates/counter/counter_main.jinja:52 msgid "login" msgstr "login" @@ -1084,13 +1084,13 @@ msgstr "login" msgid "Lost password?" msgstr "Mot de passe perdu ?" -#: core/templates/core/macros.jinja:30 -#: core/templates/core/user_detail.jinja:22 +#: core/templates/core/macros.jinja:27 +#: core/templates/core/user_detail.jinja:27 msgid "Born: " msgstr "Né le : " -#: core/templates/core/macros.jinja:34 -#: core/templates/core/user_detail.jinja:33 +#: core/templates/core/macros.jinja:31 +#: core/templates/core/user_detail.jinja:38 msgid "Promo: " msgstr "Promo : " @@ -1316,20 +1316,20 @@ msgstr "Groupes" msgid "%(user_name)s's profile" msgstr "Profil de %(user_name)s" -#: core/templates/core/user_detail.jinja:28 +#: core/templates/core/user_detail.jinja:33 msgid "Option: " msgstr "Filière : " -#: core/templates/core/user_detail.jinja:42 +#: core/templates/core/user_detail.jinja:48 #, python-format msgid "User is subscriber until %(subscription_end)s" msgstr "L'utilisateur est cotisant jusqu'au %(subscription_end)s" -#: core/templates/core/user_detail.jinja:44 +#: core/templates/core/user_detail.jinja:50 msgid "User is not subscribed. " msgstr "L'utilisateur n'est pas cotisant." -#: core/templates/core/user_detail.jinja:45 +#: core/templates/core/user_detail.jinja:51 #: subscription/templates/subscription/subscription.jinja:4 #: subscription/templates/subscription/subscription.jinja:8 msgid "New subscription" @@ -1393,6 +1393,10 @@ msgstr "Liste d'utilisateurs" msgid "%(user_name)s's stats" msgstr "Stats de %(user_name)s" +#: core/templates/core/user_stats.jinja:10 +msgid "Permanencies" +msgstr "Permanences" + #: core/templates/core/user_tools.jinja:4 #, python-format msgid "%(user_name)s's tools" @@ -1410,7 +1414,7 @@ msgstr "Gestion de Sith" msgid "Subscriptions" msgstr "Cotisations" -#: core/templates/core/user_tools.jinja:22 +#: core/templates/core/user_tools.jinja:22 counter/views.py:468 msgid "Counters" msgstr "Comptoirs" @@ -1492,43 +1496,63 @@ msgstr "client" msgid "customers" msgstr "clients" -#: counter/models.py:44 counter/templates/counter/counter_click.jinja:47 +#: counter/models.py:44 counter/templates/counter/counter_click.jinja:53 msgid "Not enough money" msgstr "Solde insuffisant" -#: counter/models.py:57 +#: counter/models.py:57 counter/models.py:79 msgid "product type" msgstr "type du produit" -#: counter/models.py:81 +#: counter/models.py:82 msgid "purchase price" msgstr "prix d'achat" -#: counter/models.py:82 +#: counter/models.py:83 msgid "selling price" msgstr "prix de vente" -#: counter/models.py:83 +#: counter/models.py:84 msgid "special selling price" msgstr "prix de vente spécial" +#: counter/models.py:85 +msgid "icon" +msgstr "icône" + +#: counter/models.py:87 +msgid "limit age" +msgstr "âge limite" + #: counter/models.py:88 +msgid "tray price" +msgstr "prix plateau" + +#: counter/models.py:89 +msgid "parent product" +msgstr "produit parent" + +#: counter/models.py:91 +msgid "buying groups" +msgstr "groupe d'achat" + +#: counter/models.py:94 msgid "product" msgstr "produit" -#: counter/models.py:108 +#: counter/models.py:114 msgid "counter type" msgstr "type de comptoir" -#: counter/models.py:110 +#: counter/models.py:116 msgid "Bar" msgstr "Bar" -#: counter/models.py:110 +#: counter/models.py:116 msgid "Office" msgstr "Bureau" -#: counter/models.py:110 eboutic/templates/eboutic/eboutic_main.jinja:4 +#: counter/models.py:116 eboutic/templates/eboutic/eboutic_main.jinja:4 #: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 @@ -1536,49 +1560,49 @@ msgstr "Bureau" msgid "Eboutic" msgstr "Eboutic" -#: counter/models.py:111 +#: counter/models.py:117 msgid "sellers" msgstr "vendeurs" -#: counter/models.py:117 launderette/models.py:16 +#: counter/models.py:123 launderette/models.py:16 msgid "counter" msgstr "comptoir" -#: counter/models.py:212 +#: counter/models.py:218 msgid "bank" msgstr "banque" -#: counter/models.py:214 counter/models.py:258 +#: counter/models.py:220 counter/models.py:264 msgid "is validated" msgstr "est validé" -#: counter/models.py:217 +#: counter/models.py:223 msgid "refilling" msgstr "rechargement" -#: counter/models.py:251 eboutic/models.py:102 +#: counter/models.py:257 eboutic/models.py:102 msgid "unit price" msgstr "prix unitaire" -#: counter/models.py:252 eboutic/models.py:103 +#: counter/models.py:258 eboutic/models.py:103 msgid "quantity" msgstr "quantité" -#: counter/models.py:257 +#: counter/models.py:263 msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:257 sith/settings.py:276 sith/settings.py:281 +#: counter/models.py:263 sith/settings.py:276 sith/settings.py:281 #: sith/settings.py:302 sith/settings_sample.py:259 #: sith/settings_sample.py:264 sith/settings_sample.py:285 msgid "Credit card" msgstr "Carte banquaire" -#: counter/models.py:261 +#: counter/models.py:267 msgid "selling" msgstr "vente" -#: counter/models.py:295 +#: counter/models.py:301 msgid "permanency" msgstr "permanence" @@ -1591,7 +1615,7 @@ msgid "Refilling" msgstr "Rechargement" #: counter/templates/counter/counter_click.jinja:40 -#: counter/templates/counter/counter_click.jinja:53 +#: counter/templates/counter/counter_click.jinja:59 #: launderette/templates/launderette/launderette_admin.jinja:35 #: launderette/templates/launderette/launderette_click.jinja:14 msgid "Go" @@ -1602,23 +1626,31 @@ msgstr "Valider" msgid "Selling" msgstr "Vente" -#: counter/templates/counter/counter_click.jinja:55 +#: counter/templates/counter/counter_click.jinja:47 +msgid "Too young for that product" +msgstr "Trop jeune pour ce produit" + +#: counter/templates/counter/counter_click.jinja:50 +msgid "Not allowed for that product" +msgstr "Non autorisé pour ce produit" + +#: counter/templates/counter/counter_click.jinja:61 #: eboutic/templates/eboutic/eboutic_main.jinja:27 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:11 msgid "Basket: " msgstr "Panier : " -#: counter/templates/counter/counter_click.jinja:63 -#: counter/templates/counter/counter_main.jinja:24 +#: counter/templates/counter/counter_click.jinja:74 +#: counter/templates/counter/counter_main.jinja:28 #: eboutic/templates/eboutic/eboutic_main.jinja:34 msgid "Total: " msgstr "Total : " -#: counter/templates/counter/counter_click.jinja:67 +#: counter/templates/counter/counter_click.jinja:78 msgid "Finish" msgstr "Terminer" -#: counter/templates/counter/counter_click.jinja:74 +#: counter/templates/counter/counter_click.jinja:85 msgid "Products: " msgstr "Produits : " @@ -1640,40 +1672,41 @@ msgid "There is no counters in this website." msgstr "Il n'y a pas de comptoirs dans ce site web." #: counter/templates/counter/counter_main.jinja:12 +#: counter/templates/counter/counter_main.jinja:16 #: launderette/templates/launderette/launderette_click.jinja:8 #, python-format msgid "%(counter_name)s counter" msgstr "Comptoir %(counter_name)s" -#: counter/templates/counter/counter_main.jinja:15 +#: counter/templates/counter/counter_main.jinja:19 msgid "Sellings" msgstr "Ventes" -#: counter/templates/counter/counter_main.jinja:17 +#: counter/templates/counter/counter_main.jinja:21 msgid "Last selling: " msgstr "Dernière vente : " -#: counter/templates/counter/counter_main.jinja:18 +#: counter/templates/counter/counter_main.jinja:22 msgid "Client: " msgstr "Client : " -#: counter/templates/counter/counter_main.jinja:18 +#: counter/templates/counter/counter_main.jinja:22 msgid "New amount: " msgstr "Nouveau montant : " -#: counter/templates/counter/counter_main.jinja:27 +#: counter/templates/counter/counter_main.jinja:31 msgid "Enter client code:" msgstr "Entrez un code client : " -#: counter/templates/counter/counter_main.jinja:31 +#: counter/templates/counter/counter_main.jinja:35 msgid "validate" msgstr "valider" -#: counter/templates/counter/counter_main.jinja:34 +#: counter/templates/counter/counter_main.jinja:38 msgid "Please, login" msgstr "Merci de vous identifier" -#: counter/templates/counter/counter_main.jinja:39 +#: counter/templates/counter/counter_main.jinja:43 msgid "Barman: " msgstr "Barman : " @@ -1711,18 +1744,34 @@ msgstr "Choisir un utilisateur" msgid "User not found" msgstr "Utilisateur non trouvé" -#: counter/views.py:214 +#: counter/views.py:83 +msgid "Bad credentials" +msgstr "Mauvais identifiants" + +#: counter/views.py:85 +msgid "User is not subscriber" +msgstr "L'utilisateur n'est pas cotisant." + +#: counter/views.py:253 msgid "END" msgstr "FIN" -#: counter/views.py:216 +#: counter/views.py:255 msgid "CAN" msgstr "ANN" -#: counter/views.py:246 +#: counter/views.py:285 msgid "You have not enough money to buy all the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" +#: counter/views.py:465 +msgid "Parent product" +msgstr "Produit parent" + +#: counter/views.py:466 +msgid "Buying groups" +msgstr "Groupes d'achat" + #: eboutic/models.py:48 msgid "validated" msgstr "validé" @@ -1782,7 +1831,7 @@ msgstr "Le paiement a été effectué" msgid "Return to eboutic" msgstr "Retourner à l'eboutic" -#: eboutic/views.py:135 +#: eboutic/views.py:136 msgid "You do not have enough money to buy the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" diff --git a/migrate.py b/migrate.py index fc009fbb..8693e0a6 100644 --- a/migrate.py +++ b/migrate.py @@ -83,7 +83,6 @@ def migrate_users(): } def get_random_free_email(): - id = random.randrange(4000) email = "no_email_%s@git.an" % random.randrange(4000, 40000) while User.objects.filter(email=email).exists(): email = "no_email_%s@git.an" % random.randrange(4000, 40000) @@ -602,10 +601,10 @@ def main(): migrate_products() migrate_products_to_counter() # reset_customer_amount() - migrate_invoices() migrate_refillings() + migrate_invoices() migrate_sellings() - # reset_index('core', 'counter', 'subscription') + reset_index('core', 'club', 'subscription', 'accounting', 'eboutic', 'launderette', 'counter') if __name__ == "__main__": main()

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 literal 0 HcmV?d00001 diff --git a/core/static/core/style.css b/core/static/core/style.css index 6a43701c..019eacfc 100644 --- a/core/static/core/style.css +++ b/core/static/core/style.css @@ -183,10 +183,10 @@ tbody>tr:hover { } #user_profile h4 { border-bottom: 1px solid grey; max-width: 60%; } #user_profile #left_column { - max-width: 59%; + width: 59%; } #user_profile #right_column { - max-width: 40%; + width: 40%; float: right; font-style: italic; } diff --git a/core/templates/core/base.jinja b/core/templates/core/base.jinja index 832ea758..f6677ef8 100644 --- a/core/templates/core/base.jinja +++ b/core/templates/core/base.jinja @@ -25,7 +25,7 @@ {% trans %}Tools{% endtrans %} | {% trans %}Logout{% endtrans %}