Browse Source

End date of membership now has a default value *after* validating a form

Baptiste Jonglez 10 years ago
parent
commit
473307392a
2 changed files with 26 additions and 3 deletions
  1. 19 0
      coin/members/migrations/0006_auto_20141008_1056.py
  2. 7 3
      coin/members/models.py

+ 19 - 0
coin/members/migrations/0006_auto_20141008_1056.py

@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('members', '0005_auto_20141008_1038'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='membershipfee',
+            name='end_date',
+            field=models.DateField(help_text='par d\xe9faut, la cotisation dure un an', verbose_name='date de fin de cotisation', blank=True),
+        ),
+    ]

+ 7 - 3
coin/members/models.py

@@ -280,9 +280,9 @@ class MembershipFee(models.Model):
         verbose_name='date de début de cotisation')
     end_date = models.DateField(
         null=False,
-        blank=False,
-        default=utils.in_one_year,
-        verbose_name='date de fin de cotisation')
+        blank=True,
+        verbose_name='date de fin de cotisation',
+        help_text='par défaut, la cotisation dure un an')
 
     payment_method = models.CharField(max_length=100, null=True, blank=True,
                                       choices=PAYMENT_METHOD_CHOICES,
@@ -294,6 +294,10 @@ class MembershipFee(models.Model):
     payment_date = models.DateField(null=True, blank=True,
                                     verbose_name='date du paiement')
 
+    def clean(self):
+        if self.end_date is None:
+            self.end_date = self.start_date + datetime.timedelta(364)
+
     def __unicode__(self):
         return '%s - %s - %i€' % (self.member, self.start_date, self.amount)