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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user