diff options
| author | Indoteknik . <it@fixcomart.co.id> | 2025-08-01 17:00:42 +0700 |
|---|---|---|
| committer | Indoteknik . <it@fixcomart.co.id> | 2025-08-01 17:00:42 +0700 |
| commit | 71c0324d483419d3b91078cf6efc2263f279362a (patch) | |
| tree | 018daebf755b52449ca1323a337673fa61d8087e /indoteknik_custom | |
| parent | a6da6185d08075fe6819427e22fdb1940d50fe62 (diff) | |
| parent | c8ef030b4c1cb6b8daa14c081f569c71fbbda639 (diff) | |
Merge branch 'odoo-backup' of https://bitbucket.org/altafixco/indoteknik-addons into odoo-backup
Diffstat (limited to 'indoteknik_custom')
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 18 | ||||
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 4 | ||||
| -rw-r--r-- | indoteknik_custom/models/tukar_guling.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/models/tukar_guling_po.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/views/res_partner.xml | 2 | ||||
| -rwxr-xr-x | indoteknik_custom/views/sale_order.xml | 5 | ||||
| -rw-r--r-- | indoteknik_custom/views/user_company_request.xml | 3 |
7 files changed, 28 insertions, 8 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 4e36a9fb..47018f52 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -3088,6 +3088,24 @@ class SaleOrder(models.Model): except: pass + #payment term vals + if 'payment_term_id' in vals and any( + order.approval_status in ['pengajuan1', 'pengajuan2', 'approved'] for order in self): + raise UserError( + "Payment Term tidak dapat diubah karena Sales Order sedang dalam proses approval atau sudah diapprove.") + + if 'payment_term_id' in vals: + for order in self: + partner = order.partner_id.parent_id or order.partner_id + customer_payment_term = partner.property_payment_term_id + if vals['payment_term_id'] != customer_payment_term.id: + raise UserError( + f"Payment Term berbeda pada Master Data Customer. " + f"Harap ganti ke '{customer_payment_term.name}' " + f"sesuai dengan payment term yang terdaftar pada customer." + ) + + res = super(SaleOrder, self).write(vals) # Update before margin setelah write diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 75d71ad9..f2f5f52a 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -1387,9 +1387,9 @@ class StockPicking(models.Model): self.automatic_reserve_product() if self.tukar_guling_id: - self.tukar_guling_id.update_state() + self.tukar_guling_id.update_doc_state() elif self.tukar_guling_po_id: - self.tukar_guling_po_id.update_state() + self.tukar_guling_po_id.update_doc_state() return res diff --git a/indoteknik_custom/models/tukar_guling.py b/indoteknik_custom/models/tukar_guling.py index 5411b17c..3f81393a 100644 --- a/indoteknik_custom/models/tukar_guling.py +++ b/indoteknik_custom/models/tukar_guling.py @@ -462,7 +462,7 @@ class TukarGuling(models.Model): raise UserError("Submit hanya bisa dilakukan dari Draft.") self.state = 'approval_sales' - def update_state(self): + def update_doc_state(self): # OUT tukar guling if self.operations.picking_type_id.id == 29 and self.return_type == 'tukar_guling': total_out = self.env['stock.picking'].search_count([ diff --git a/indoteknik_custom/models/tukar_guling_po.py b/indoteknik_custom/models/tukar_guling_po.py index 23ca1923..92d8c9a6 100644 --- a/indoteknik_custom/models/tukar_guling_po.py +++ b/indoteknik_custom/models/tukar_guling_po.py @@ -419,7 +419,7 @@ class TukarGulingPO(models.Model): else: raise UserError("Status ini tidak bisa di-approve.") - def update_stae(self): + def update_doc_state(self): # bu input rev po if self.operations.picking_type_id.id == 28 and self.return_type == 'revisi_po': prt = self.env['stock.picking'].search([ diff --git a/indoteknik_custom/views/res_partner.xml b/indoteknik_custom/views/res_partner.xml index a030a75c..38cd2756 100644 --- a/indoteknik_custom/views/res_partner.xml +++ b/indoteknik_custom/views/res_partner.xml @@ -217,7 +217,7 @@ <group string="Aging Info"> <field name="avg_aging" readonly="1"/> <field name="payment_difficulty" attrs="{'readonly': [('parent_id', '!=', False)]}" /> - <field name="payment_history_url" readonly="1" /> + <field name="payment_history_url" readonly="1" widget="url"/> </group> </page> </notebook> diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index e8f41ca3..868bce7b 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -355,8 +355,9 @@ </field> <field name="payment_term_id" position="attributes"> <attribute name="attrs"> - {'readonly': [('approval_status', '=', 'approved'), ('state', 'not in', - ['cancel', 'draft'])]} + {'readonly': ['|', ('approval_status', 'in', ['pengajuan1', 'pengajuan2', 'approved']), + ('state', 'not in', + ['cancel', 'draft'])]} </attribute> </field> diff --git a/indoteknik_custom/views/user_company_request.xml b/indoteknik_custom/views/user_company_request.xml index 88d04c64..5f296cb0 100644 --- a/indoteknik_custom/views/user_company_request.xml +++ b/indoteknik_custom/views/user_company_request.xml @@ -31,7 +31,8 @@ <group> <field name="user_id" readonly="1"/> <field name="similar_company_ids" invisible="1"/> - <field name="user_company_id" domain="[('id', 'in', similar_company_ids)]"/> +<!-- <field name="user_company_id" domain="[('id', 'in', similar_company_ids)]"/>--> + <field name="user_company_id" /> <field name="user_input" readonly="1"/> <field name="is_approve" |
