summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/sale_order.py
diff options
context:
space:
mode:
authorIndoteknik . <it@fixcomart.co.id>2025-07-26 11:58:32 +0700
committerIndoteknik . <it@fixcomart.co.id>2025-07-26 11:58:32 +0700
commite09e59db22d65fa144c2a43cd8f6959fada49484 (patch)
tree0567b1a8f0c8c57efb2d0d38ae489da26a55c245 /indoteknik_custom/models/sale_order.py
parentfff5507cf7c0f360a5c68068e77fa84b1d6340c5 (diff)
parent77e76f376b78733cad58aa196e3ead3c6a04ff42 (diff)
(andri) fix conflict
Diffstat (limited to 'indoteknik_custom/models/sale_order.py')
-rwxr-xr-xindoteknik_custom/models/sale_order.py47
1 files changed, 43 insertions, 4 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 995cafba..7be0e8ff 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -125,6 +125,7 @@ class SaleOrderLine(models.Model):
class SaleOrder(models.Model):
_inherit = "sale.order"
+ ccm_id = fields.Many2one('tukar.guling', string='Doc. CCM', readonly=True, compute='_has_ccm', copy=False)
ongkir_ke_xpdc = fields.Float(string='Ongkir ke Ekspedisi', help='Biaya ongkir ekspedisi', copy=False, index=True,
tracking=3)
@@ -364,6 +365,21 @@ class SaleOrder(models.Model):
compute='_compute_advance_payment_move',
string='Advance Payment Move',
)
+ advance_payment_move_ids = fields.Many2many(
+ 'account.move',
+ compute='_compute_advance_payment_moves',
+ string='All Advance Payment Moves',
+ )
+
+ advance_payment_move_count = fields.Integer(
+ string='Jumlah Jurnal Uang Muka',
+ compute='_compute_advance_payment_moves',
+ store=False
+ )
+
+ def _has_ccm(self):
+ if self.id:
+ self.ccm_id = self.env['tukar.guling'].search([('origin', 'ilike', self.name)], limit=1)
@api.depends('order_line.product_id', 'date_order')
def _compute_et_products(self):
@@ -3191,15 +3207,38 @@ class SaleOrder(models.Model):
('state', '=', 'posted'),
], limit=1, order="id desc")
order.advance_payment_move_id = move
+
+ @api.depends('invoice_ids')
+ def _compute_advance_payment_moves(self):
+ for order in self:
+ moves = self.env['account.move'].search([
+ ('sale_id', '=', order.id),
+ ('journal_id', '=', 11),
+ ('state', '=', 'posted'),
+ ])
+ order.advance_payment_move_ids = moves
+
+ @api.depends('invoice_ids')
+ def _compute_advance_payment_moves(self):
+ for order in self:
+ moves = self.env['account.move'].search([
+ ('sale_id', '=', order.id),
+ ('journal_id', '=', 11),
+ ('state', '=', 'posted'),
+ ])
+ order.advance_payment_move_ids = moves
+ order.advance_payment_move_count = len(moves)
- def action_open_advance_payment_move(self):
+ def action_open_advance_payment_moves(self):
self.ensure_one()
- if not self.advance_payment_move_id:
+ moves = self.advance_payment_move_ids
+ if not moves:
return
return {
'type': 'ir.actions.act_window',
+ 'name': 'Journals Sales Order',
'res_model': 'account.move',
- 'res_id': self.advance_payment_move_id.id,
- 'view_mode': 'form',
+ 'view_mode': 'tree,form',
+ 'domain': [('id', 'in', moves.ids)],
'target': 'current',
} \ No newline at end of file