Portofolio auto-sync: otomatis update saat transaksi berubah + tombol Rekalkulasi

- saat.transaksi.create/write/unlink memicu rekalkulasi portofolio otomatis
  (buka menu Portofolio selalu data segar, tanpa klik manual)
- Tambah tombol 'Rekalkulasi' di form portofolio sbg cadangan (action_recalc_click)
- Perbaiki help teks portofolio yg sebelumnya menyesatkan
This commit is contained in:
2026-09-02 13:30:42 +07:00
parent fca81a9997
commit 3417e077c7
4 changed files with 44 additions and 4 deletions

View File

@@ -49,3 +49,24 @@ class SaatTransaksi(models.Model):
raise models.ValidationError("Volume harus lebih dari 0.")
if r.harga < 0:
raise models.ValidationError("Harga tidak boleh negatif.")
# --- auto-sync portofolio: setiap transaksi berubah, portofolio diperbarui ---
def _resync_portofolio(self):
"""Rekalkulasi portofolio dari seluruh transaksi (idempoten)."""
self.env['saat.portofolio'].action_recalculate()
@api.model_create_multi
def create(self, vals_list):
res = super().create(vals_list)
res._resync_portofolio()
return res
def write(self, vals):
res = super().write(vals)
self._resync_portofolio()
return res
def unlink(self):
res = super().unlink()
self._resync_portofolio()
return res