Browse Source

Change is_validated by is_pdf_exists.
Do not propose to validate a facture even if it's already validated and pdf do not exists. This is not a sufficent reason.

Fabs 10 years ago
parent
commit
8985c1bc65

+ 3 - 3
coin/billing/admin.py

@@ -42,15 +42,15 @@ class PaymentInline(admin.StackedInline):
 
 
 class InvoiceAdmin(admin.ModelAdmin):
-    list_display = ('number', 'date', 'status', 'amount', 'member', 'is_validated')
+    list_display = ('number', 'date', 'status', 'amount', 'member', 'validated')
     list_display_links = ('number', 'date')
     inlines = [InvoiceDetailInline, PaymentInline]
     fields = (('number', 'date', 'status'),
        ('date_due'),
        ('member'),
        ('amount','amount_paid'),
-       ('is_validated', 'pdf'))
-    readonly_fields = ('amount','amount_paid','is_validated','pdf')
+       ('validated', 'pdf'))
+    readonly_fields = ('amount','amount_paid','validated','pdf')
     form = autocomplete_light.modelform_factory(Invoice)
 
     def get_formsets(self, request, obj=None):

+ 3 - 3
coin/billing/models.py

@@ -24,7 +24,7 @@ def next_invoice_number():
 
 def invoice_pdf_filename(instance, filename):
     "Nom du fichier pdf à stocker pour les factures"
-    return u'invoices/%d_%s_%s.pdf' % (instance.member.id, instance.number, uuid.uuid4())
+    return u'invoices/%d_%s_%s.pdf' % (getattr(instance,'member.id',0), instance.number, uuid.uuid4())
 
 class Invoice(models.Model):
 
@@ -97,12 +97,12 @@ class Invoice(models.Model):
         Switch invoice to validate mode. This set to False the draft field
         and generate the pdf
         """
-        if not self.is_validated():
+        if not self.is_pdf_exists():
             self.validated = True
             self.save()
             self.generate_pdf()
 
-    def is_validated(self):
+    def is_pdf_exists(self):
         return self.validated and bool(self.pdf) and private_files_storage.exists(self.pdf.name)
 
     def __unicode__(self):

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

@@ -3,9 +3,9 @@
 {% block object-tools %}
 {% if change %}{% if not is_popup %}
 <ul class="object-tools">
-    {% if not original.is_validated %}
+    {% if not original.validated %}
         <li><a href="{% url 'admin:invoice_validate' id=object_id %}">Valider la facture</a></li>
-    {% else %}
+    {% elif original.is_pdf_exists %}
         <li><a href="{% url 'billing:invoice_pdf' id=object_id %}">Télécharger le PDF</a></li>
     {% endif %}
 </ul>