summaryrefslogtreecommitdiff
path: root/fixco_custom/models
diff options
context:
space:
mode:
Diffstat (limited to 'fixco_custom/models')
-rwxr-xr-xfixco_custom/models/product_product.py4
-rwxr-xr-xfixco_custom/models/sale.py1
-rw-r--r--fixco_custom/models/uangmuka_penjualan.py15
3 files changed, 19 insertions, 1 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):