Browse Source

Add payment method, reference and date to member cotisations

Baptiste Jonglez 10 years ago
parent
commit
b2b8c7d1f1
3 changed files with 51 additions and 1 deletions
  1. 2 1
      coin/members/admin.py
  2. 32 0
      coin/members/migrations/0002_auto_20141007_0121.py
  3. 17 0
      coin/members/models.py

+ 2 - 1
coin/members/admin.py

@@ -19,7 +19,8 @@ class CryptoKeyInline(admin.StackedInline):
 class MembershipFeeInline(admin.TabularInline):
     model = MembershipFee
     extra = 0
-    fields = ('start_date', 'end_date', 'amount')
+    fields = ('start_date', 'end_date', 'amount', 'payment_method',
+              'reference', 'payment_date')
 
 
 class MemberAdmin(UserAdmin):

+ 32 - 0
coin/members/migrations/0002_auto_20141007_0121.py

@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('members', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='membershipfee',
+            name='payment_date',
+            field=models.DateField(null=True, verbose_name='date du paiement'),
+            preserve_default=True,
+        ),
+        migrations.AddField(
+            model_name='membershipfee',
+            name='payment_method',
+            field=models.CharField(max_length=100, null=True, verbose_name='moyen de paiement', choices=[('cash', 'Esp\xe8ces'), ('check', 'Ch\xe8que'), ('transfer', 'Virement'), ('other', 'Autre')]),
+            preserve_default=True,
+        ),
+        migrations.AddField(
+            model_name='membershipfee',
+            name='reference',
+            field=models.CharField(help_text='num\xe9ro de ch\xe8que, r\xe9f\xe9rence de virement, commentaire...', max_length=125, null=True, verbose_name='r\xe9f\xe9rence du paiement'),
+            preserve_default=True,
+        ),
+    ]

+ 17 - 0
coin/members/models.py

@@ -265,6 +265,13 @@ class CryptoKey(models.Model):
 
 
 class MembershipFee(models.Model):
+    PAYMENT_METHOD_CHOICES = (
+        ('cash', 'Espèces'),
+        ('check', 'Chèque'),
+        ('transfer', 'Virement'),
+        ('other', 'Autre')
+    )
+
     member = models.ForeignKey('Member', related_name='membership_fees',
                                verbose_name='membre')
     # TODO: config: valeur par défaut à externaliser dans la configuration
@@ -281,6 +288,16 @@ class MembershipFee(models.Model):
         default=utils.in_one_year,
         verbose_name='date de fin de cotisation')
 
+    payment_method = models.CharField(max_length=100, null=True, blank=True,
+                                      choices=PAYMENT_METHOD_CHOICES,
+                                      verbose_name='moyen de paiement')
+    reference = models.CharField(max_length=125, null=True, blank=True,
+                                 verbose_name='référence du paiement',
+                                 help_text='numéro de chèque, '
+                                 'référence de virement, commentaire...')
+    payment_date = models.DateField(null=True, blank=True,
+                                    verbose_name='date du paiement')
+
     def __unicode__(self):
         return '%s - %s - %i€' % (self.member, self.start_date, self.amount)