From 03298bc537ff3e29c6925f640ca0a1106a569bd5 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Thu, 19 Jun 2025 13:39:20 +0700 Subject: remove domain bank in transit on uangmuka penjualan --- fixco_custom/models/product_product.py | 4 ++++ fixco_custom/models/sale.py | 1 + fixco_custom/models/uangmuka_penjualan.py | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) (limited to 'fixco_custom/models') diff --git a/fixco_custom/models/product_product.py b/fixco_custom/models/product_product.py index bb3ba17..a6bec4d 100755 --- a/fixco_custom/models/product_product.py +++ b/fixco_custom/models/product_product.py @@ -18,6 +18,10 @@ class ProductProduct(models.Model): barcode_box = fields.Char("Barcode Box") qr_code_variant = fields.Binary("QR Code Variant", compute='_compute_qr_code_variant') + @api.constrains('name', 'default_code') + def constrains_product_type(self): + self.type = 'product' + def _compute_qr_code_variant(self): for rec in self: # Skip inactive variants diff --git a/fixco_custom/models/sale.py b/fixco_custom/models/sale.py index fc46f3d..a192928 100755 --- a/fixco_custom/models/sale.py +++ b/fixco_custom/models/sale.py @@ -81,5 +81,6 @@ class SaleOrder(models.Model): 'target': 'new', 'context': { 'so_ids': self.ids, + 'default_partner_name': self.partner_id.name } } diff --git a/fixco_custom/models/uangmuka_penjualan.py b/fixco_custom/models/uangmuka_penjualan.py index 9673bf1..f099b16 100644 --- a/fixco_custom/models/uangmuka_penjualan.py +++ b/fixco_custom/models/uangmuka_penjualan.py @@ -13,10 +13,23 @@ class UangmukaPenjualan(models.TransientModel): _description = 'digunakan untuk membuat Uang Muka Penjualan' pay_amt = fields.Float(string='Uang Muka', help='berapa nilai yang terbentuk untuk COA Uang Muka Penjualan') - account_id = fields.Many2one('account.account', string='Bank Intransit', default=389, help='pilih COA intransit bank') + account_id = fields.Many2one( + 'account.account', + string='Bank Intransit', + default=lambda self: self._default_account_id(), + ) ongkir_amt = fields.Float(string='Ongkir', help='masukan nilai yang akan menjadi Pendapatan Ongkos Kirim') selisih_amt = fields.Float(string='Selisih', help='masukan nilai yang akan menjadi Selisih Pembayaran') total_amt = fields.Float(string='Total', help='Total yang akan masuk di journal entries') + + def _default_account_id(self): + partner_name = self.env.context.get('default_partner_name', '') + domain = [ + ('name', 'not ilike', 'in transit'), + ('name', 'ilike', partner_name) + ] + account = self.env['account.account'].search(domain, limit=1) + return account.id if account else 389 @api.onchange('pay_amt', 'ongkir_amt', 'selisih_amt') def _compute_total_amt(self): -- cgit v1.2.3