defsearch_or_create_kontrak_tujuan_biaya(self,anggota):# Search for existing kontrak_tujuan_biaya
for record inself: struktur_swp =self.env['easykop.struktur_simpanan'].sudo().search(['|', ('name','=','Simpanan Wajib Pinjam Tagihan Bank'), ('name','=','Simpanan Wajib Pinjam Tagihan Tunai') ])
ifnot struktur_swp:raiseValidationError(str(f"Error struktur"))
try: kontrak_tujuan_biaya =self.env['easykop.kontrak_simpanan'].sudo().search([ ('customer_id','=', anggota.id), ('state','=','dimulai'), ('struktur_id','=', struktur_swp.id) ],order='create_date desc',limit=1)
ifnot kontrak_tujuan_biaya:raiseValidationError(f"Error saat memasukan kontrak tujuan: {struktur_swp}\n")# Create new kontrak_tujuan_biaya if not found# KontrakSimpanan = self.env['easykop.kontrak_simpanan'].sudo()# kontrak_tujuan_biaya = KontrakSimpanan.create({# 'customer_id': anggota.id,# 'tanggal_dimulai': fields.Date.today(),# 'struktur_id': struktur_swp.id,# })except ValidationError as e:raiseValidationError(str(f"Error {e}"))
return kontrak_tujuan_biaya
solved wiiir