feat: dodaj dodatne troškove s OCR sinkronizacijom
Dodana je tablica DODATNI TROŠKOVI za putni nalog (backend model + API + frontend modal) s izračunom ukupnog iznosa za isplatu. Upload računa sada odmah upisuje redak u dodatne troškove, a asinkroni OCR (Celery) naknadno pokušava popuniti broj računa i iznos iz slike/PDF-a. Uvedena je invalidacija PDF cache-a nakon promjena računa/dodatnih troškova kako bi generirani PDF uvijek prikazivao najnovije podatke. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -377,6 +377,35 @@ class WorkOrderInvoice(BaseModel):
|
||||
return f"{self.naziv_racuna} ({self.work_order_id})"
|
||||
|
||||
|
||||
class WorkOrderAdditionalCostsTable(BaseModel):
|
||||
work_order = models.OneToOneField(
|
||||
WorkOrder,
|
||||
on_delete=models.CASCADE,
|
||||
related_name='additional_costs_table',
|
||||
verbose_name=_("Putni nalog"),
|
||||
)
|
||||
data = models.JSONField(
|
||||
null=True,
|
||||
blank=True,
|
||||
default=None,
|
||||
verbose_name=_("Podaci tablice dodatnih troškova"),
|
||||
)
|
||||
total_for_payout = models.DecimalField(
|
||||
max_digits=12,
|
||||
decimal_places=2,
|
||||
default=Decimal('0.00'),
|
||||
verbose_name=_("Ukupno za isplatu"),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ['-updated_at']
|
||||
verbose_name = _("Tablica dodatnih troškova putnog naloga")
|
||||
verbose_name_plural = _("Tablice dodatnih troškova putnog naloga")
|
||||
|
||||
def __str__(self):
|
||||
return f"Additional costs table for work order {self.work_order_id}"
|
||||
|
||||
|
||||
class WorkOrderPhoto(BaseModel):
|
||||
work_order = models.ForeignKey(
|
||||
WorkOrder,
|
||||
|
||||
Reference in New Issue
Block a user