diff options
Diffstat (limited to 'fixco_custom')
| -rwxr-xr-x | fixco_custom/models/product_product.py | 4 | ||||
| -rwxr-xr-x | fixco_custom/models/sale.py | 1 | ||||
| -rw-r--r-- | fixco_custom/models/uangmuka_penjualan.py | 15 | ||||
| -rw-r--r-- | fixco_custom/views/uangmuka_penjualan.xml | 2 |
4 files changed, 20 insertions, 2 deletions
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): diff --git a/fixco_custom/views/uangmuka_penjualan.xml b/fixco_custom/views/uangmuka_penjualan.xml index 447d89b..8e6b09a 100644 --- a/fixco_custom/views/uangmuka_penjualan.xml +++ b/fixco_custom/views/uangmuka_penjualan.xml @@ -12,7 +12,7 @@ <field name="pay_amt"/> <field name="ongkir_amt"/> <field name="selisih_amt"/> - <field name="account_id" domain="[('name', 'ilike', 'in transit')]"/> + <field name="account_id"/> <field name="total_amt" readonly="1"/> </group> <footer> |
