From 7ca123e885973c00bb833abf3e9b3d1e8139784f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Delobelle?= Date: Mon, 22 Aug 2016 04:21:10 +0200 Subject: [PATCH] =?UTF-8?q?Cr=C3=A9ation=20auto=20des=20settings=20si=20in?= =?UTF-8?q?existant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - S'effectue en allant sur la page `Paramètres` (perm `kfet.change_settings` nécessaires même pour voir les paramètres) - Correction websocket perform operations lorsqu'il n'y avait pas de majorations en cours --- kfet/models.py | 24 ++++++++++++++++++++++++ kfet/views.py | 6 +++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/kfet/models.py b/kfet/models.py index 7319e731..ac7a69b6 100644 --- a/kfet/models.py +++ b/kfet/models.py @@ -550,5 +550,29 @@ class Settings(models.Model): except Settings.DoesNotExist: return timedelta() + @staticmethod + def create_missing(): + s, created = Settings.objects.get_or_create(name='SUBVENTION_COF') + if created: + s.value_decimal = 25 + s.save() + s, created = Settings.objects.get_or_create(name='ADDCOST_AMOUNT') + if created: + s.value_decimal = 0.5 + s.save() + s, created = Settings.objects.get_or_create(name='ADDCOST_FOR') + s, created = Settings.objects.get_or_create(name='OVERDRAFT_DURATION') + if created: + s.value_duration = timedelta(days=1) # 24h + s.save() + s, created = Settings.objects.get_or_create(name='OVERDRAFT_AMOUNT') + if created: + s.value_decimal = 20 + s.save() + s, created = Settings.objects.get_or_create(name='CANCEL_DURATION') + if created: + s.value_duration = timedelta(minutes=5) # 5min + s.save() + class GenericTeamToken(models.Model): token = models.CharField(max_length = 50, unique = True) diff --git a/kfet/views.py b/kfet/views.py index f6343d42..b97a0144 100644 --- a/kfet/views.py +++ b/kfet/views.py @@ -670,7 +670,7 @@ def kpsul_perform_operations(request): ope_data = { 'id': operation.pk, 'type': operation.type, 'amount': operation.amount, 'addcost_amount': operation.addcost_amount, - 'addcost_for': addcost_for.trigramme, + 'addcost_for': is_addcost and addcost_for.trigramme or None, 'is_checkout': operation.is_checkout, 'article__name': operation.article and operation.article.name or None, 'article_nb': operation.article_nb, @@ -878,6 +878,10 @@ class SettingsList(ListView): context_object_name = 'settings' template_name = 'kfet/settings.html' + def get_context_data(self, **kwargs): + Settings.create_missing() + return super(SettingsList, self).get_context_data(**kwargs) + class SettingsUpdate(SuccessMessageMixin, UpdateView): model = Settings form_class = SettingsForm