|
@@ -31,14 +31,11 @@ accounting_log = logging.getLogger("coin.billing")
|
|
|
|
|
|
|
|
|
def bill_pdf_filename(instance, filename):
|
|
|
- """Nom et chemin du fichier pdf à stocker pour les factures"""
|
|
|
+ """Nom et chemin du fichier pdf à stocker"""
|
|
|
member_id = instance.member.id if instance.member else 0
|
|
|
- return 'invoices/%d_%s_%s.pdf' % (member_id,
|
|
|
- instance.number,
|
|
|
- uuid.uuid4())
|
|
|
-
|
|
|
-def invoice_pdf_filename(instance, filename):
|
|
|
- return bill_pdf_filename(instance, filename)
|
|
|
+ number = instance.number if hasattr(instance, "number") else instance.pk
|
|
|
+ bill_type = self.__class__.__name__.lower()
|
|
|
+ return '%ss/%d_%s_%s.pdf' % (bill_type, member_id, number, uuid.uuid4())
|
|
|
|
|
|
class Bill(models.Model):
|
|
|
|
|
@@ -117,8 +114,8 @@ class Bill(models.Model):
|
|
|
"""
|
|
|
context = {"bill": self}
|
|
|
context.update(branding(None))
|
|
|
- pdf_file = render_as_pdf('billing/invoice_pdf.html', context)
|
|
|
- self.pdf.save('%s.pdf' % self.number, pdf_file)
|
|
|
+ pdf_file = render_as_pdf('billing/{bill_type}_pdf.html'.format(bill_type=self.type.lower()), context)
|
|
|
+ self.pdf.save('%s.pdf' % self.number if hasattr(self, "number") else self.pk, pdf_file)
|
|
|
|
|
|
def pdf_exists(self):
|
|
|
return (bool(self.pdf)
|