diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2026-01-20 15:57:31 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2026-01-20 15:57:31 +0700 |
| commit | c48a2248a874277b7795d86c6247f51430c0b810 (patch) | |
| tree | dfa9540bbc72bcbdbc54844e97c1a47788cbeefb /fixco_custom/models | |
| parent | d2268706824167cd23dd3ea9e22acc241bc35122 (diff) | |
push
Diffstat (limited to 'fixco_custom/models')
| -rw-r--r-- | fixco_custom/models/account_move.py | 5 | ||||
| -rw-r--r-- | fixco_custom/models/account_move_reversal.py | 4 | ||||
| -rwxr-xr-x | fixco_custom/models/sale.py | 25 |
3 files changed, 32 insertions, 2 deletions
diff --git a/fixco_custom/models/account_move.py b/fixco_custom/models/account_move.py index 2346fec..6315b6e 100644 --- a/fixco_custom/models/account_move.py +++ b/fixco_custom/models/account_move.py @@ -47,6 +47,11 @@ class AccountMove(models.Model): compute="_compute_need_refund", help="Flag otomatis kalau invoice sudah paid dan picking terkait di-return." ) + total_discount = fields.Monetary( + string='Total Discount', + related='sale_id.total_discount', + currency_field='currency_id', + ) # purchase_item_ids= fields.Many2many( # 'purchase.order.line', # string='Auto Complete (PO Item)', diff --git a/fixco_custom/models/account_move_reversal.py b/fixco_custom/models/account_move_reversal.py index 745346a..c3cc5cf 100644 --- a/fixco_custom/models/account_move_reversal.py +++ b/fixco_custom/models/account_move_reversal.py @@ -46,8 +46,8 @@ class AccountMoveReversal(models.TransientModel): moves_vals_list.append(move.copy_data({'date': self.date if self.date_mode == 'custom' else move.date})[0]) new_moves = self.env['account.move'].create(moves_vals_list) - - new_moves.action_post() + if new_moves.state != 'posted': + new_moves.action_post() moves_to_redirect |= new_moves move_line = self.env['account.move.line'].search([('move_id', '=', new_moves.id), ('account_id', '=', 347), ('journal_id', '=', 17)], limit=1) if move_line and move_line.move_id.reversed_entry_id: diff --git a/fixco_custom/models/sale.py b/fixco_custom/models/sale.py index b8aa963..b880113 100755 --- a/fixco_custom/models/sale.py +++ b/fixco_custom/models/sale.py @@ -21,6 +21,31 @@ class SaleOrder(models.Model): deadline_date = fields.Datetime('Deadline', copy=False) + total_discount = fields.Monetary( + string='Total Discount', + compute='_compute_total_discount', + currency_field='currency_id', + ) + + @api.depends( + 'order_line.price_unit', + 'order_line.product_uom_qty', + 'order_line.discount', + ) + def _compute_total_discount(self): + for order in self: + total = 0.0 + for line in order.order_line: + if line.discount: + line_discount = ( + line.price_unit + * line.product_uom_qty + * line.discount / 100 + ) + total += line_discount + order.total_discount = total + + def create_invoices(self): created_invoices = self.env['account.move'] for order in self: |
