Parcourir la source

Merge branch 'enh-donations' into arndev

ljf il y a 7 ans
Parent
commit
a96c4a5d9f

+ 7 - 8
coin/billing/models.py

@@ -433,13 +433,12 @@ class Donation(Bill):
 
     def save(self, *args, **kwargs):
 
-        super(Donation, self).save(*args, **kwargs)
-
-    def clean(self):
         # Only if no amount already allocated...
-        if not self.member or self.member.balance < self.amount:
+        if self.pk is None and (not self.member or self.member.balance < self.amount):
             raise ValidationError("Le solde n'est pas suffisant pour payer ce don. \
                         Merci de commencer par enregistrer un paiement pour ce membre.")
+        super(Donation, self).save(*args, **kwargs)
+
     class Meta:
         verbose_name = 'don'
 
@@ -466,6 +465,10 @@ class MembershipFee(Bill):
         return True
 
     def save(self, *args, **kwargs):
+        # Only if no amount already allocated...
+        if self.pk is None and (not self.member or self.member.balance < self.amount):
+            raise ValidationError("Le solde n'est pas suffisant pour payer cette cotisation. \
+                        Merci de commencer par enregistrer un paiement pour ce membre.")
 
         super(MembershipFee, self).save(*args, **kwargs)
 
@@ -473,10 +476,6 @@ class MembershipFee(Bill):
     def clean(self):
         if self.start_date is not None and self.end_date is None:
             self.end_date = self.start_date + datetime.timedelta(364)
-        # Only if no amount already allocated...
-        if not self.member or self.member.balance < self.amount:
-            raise ValidationError("Le solde n'est pas suffisant pour payer cette cotisation. \
-                        Merci de commencer par enregistrer un paiement pour ce membre.")
 
     class Meta:
         verbose_name = 'cotisation'

+ 1 - 1
coin/billing/templates/admin/billing/invoice/change_form.html

@@ -4,7 +4,7 @@
     {% if not original.validated %}
         <li><a href="{% url 'admin:invoice_validate' id=object_id %}">Valider la facture</a></li>
     {% elif original.validated %}
-        <li><a href="{% url 'billing:invoice_pdf' id=object_id %}">Télécharger le PDF</a></li>
+        <li><a href="{% url 'billing:bill_pdf' id=object_id %}">Télécharger le PDF</a></li>
     {% endif %}
     {{ block.super }}
 {% endblock %}

+ 1 - 1
coin/billing/templates/billing/invoice.html

@@ -7,7 +7,7 @@
         <p>Émise le {{ invoice.date }}</p>
     </div>
     <div class="large-4 columns">
-        {% if invoice.validated %}<a href="{% url 'billing:invoice_pdf' id=invoice.number %}" target="_blank" class="button expand"><i class="fa fa-file-pdf-o"></i> Télécharger en PDF</a>{% endif %}
+        {% if invoice.validated %}<a href="{% url 'billing:bill_pdf' id=invoice.number %}" target="_blank" class="button expand"><i class="fa fa-file-pdf-o"></i> Télécharger en PDF</a>{% endif %}
     </div>
 </div>