diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-09-23 11:50:20 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-09-23 11:50:20 +0700 |
| commit | dae4a3bf266ba4c19b1ba1d11c52ed9e19259b7c (patch) | |
| tree | 8858e0660aa004b582aedf6f437c0f455f8ad1ef /indoteknik_custom/models/sale_order.py | |
| parent | adbc9b985f1c5fb2b2f41f79c686b3a573003e62 (diff) | |
Update promotion program scheme
Diffstat (limited to 'indoteknik_custom/models/sale_order.py')
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 2510d9e5..376b8e40 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -448,58 +448,6 @@ class SaleOrder(models.Model): line.discount = line.initial_discount line.initial_discount = False - def apply_promotion_program(self): - userdata = { - 'user_id': self.partner_id.user_id.id, - 'partner_id': self.partner_id.id - } - - iu_items = [] - for line in self.order_line: - promotion = line.program_line_id.format(user=userdata, qty=line.product_uom_qty) - if promotion['type']['value'] == 'merchandise': - iu_items += filter(lambda x: x['quantity'] > 0, promotion['items']) - - if len(iu_items) > 0: - self._create_promotion_program_iu_docs(iu_items) - - def _create_promotion_program_iu_docs(self, items): - default = { - 'picking_type_id': 33, # PT Indoteknik (Bandengan): Internal Transfers - 'location_id': 57, # BU/Stock - 'location_dest_id': 49, # Virtual Locations/Internal Use - 'account_id': 596, # Biaya awareness - 'product_uom': 1 # Unit - } - - picking_type = self.env['stock.picking.type'].browse(default['picking_type_id']) - picking = self.env['stock.picking'].create({ - 'name': picking_type.sequence_id.next_by_id(), - 'picking_type_id': default['picking_type_id'], - 'partner_id': self.partner_id.id, - 'real_shipping_id': self.real_shipping_id.id, - 'location_id': default['location_id'], - 'location_dest_id': default['location_dest_id'], - 'account_id': default['account_id'], - 'origin': self.display_name, - 'is_internal_use': True - }) - - product_model = self.env['product.product'] - for item in items: - picking.move_ids_without_package.create({ - 'product_id': item['product_id'], - 'name': product_model.browse(item['product_id']).display_name, - 'product_uom_qty': item['quantity'], - 'product_uom': default['product_uom'], - 'location_id': default['location_id'], - 'location_dest_id': default['location_dest_id'], - 'picking_id': picking.id - }) - - self.picking_iu_id = picking.id - - |
