Added views for invoices
Added class-based views for all operations Added corresponding urls Updated transaction page to use new views
This commit is contained in:
parent
d8c95fac25
commit
033698b38a
9 changed files with 168 additions and 51 deletions
|
@ -66,6 +66,13 @@ class Transaction(models.Model):
|
|||
def get_absolute_url(self):
|
||||
return reverse("transaction", kwargs={"pk": self.pk})
|
||||
|
||||
def get_delete_url(self):
|
||||
return reverse("del_transaction", kwargs={"pk": self.pk})
|
||||
|
||||
@property
|
||||
def adding(self):
|
||||
return self._state.adding
|
||||
|
||||
@property
|
||||
def invoices(self):
|
||||
return Invoice.objects.filter(transaction=self)
|
||||
|
@ -112,15 +119,33 @@ class Invoice(models.Model):
|
|||
verbose_name=_("File"),
|
||||
max_length=128,
|
||||
)
|
||||
transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE)
|
||||
transaction = models.ForeignKey(
|
||||
Transaction, on_delete=models.CASCADE, editable=False
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.name}: {self.transaction}"
|
||||
if hasattr(self, "transaction"):
|
||||
return f"{self.name} – {self.transaction.name}"
|
||||
return self.name
|
||||
|
||||
def delete(self, *args, **kwargs):
|
||||
self.file.delete()
|
||||
super().delete(*args, **kwargs)
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse(
|
||||
"invoice", kwargs={"transaction_pk": self.transaction.pk, "pk": self.pk}
|
||||
)
|
||||
|
||||
def get_delete_url(self):
|
||||
return reverse(
|
||||
"del_invoice", kwargs={"transaction_pk": self.transaction.pk, "pk": self.pk}
|
||||
)
|
||||
|
||||
@property
|
||||
def adding(self):
|
||||
return self._state.adding
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Invoice")
|
||||
verbose_name_plural = _("Invoices")
|
||||
|
@ -132,7 +157,7 @@ class InvoiceForm(ModelForm):
|
|||
|
||||
class Meta:
|
||||
model = Invoice
|
||||
fields = ["name", "file"]
|
||||
fields = "__all__"
|
||||
|
||||
|
||||
def snapshot_path(instance, filename):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue