Merge lp:~jfb-tempo-consulting/unifield-server/US-9495 into lp:unifield-server
- US-9495
- Merge into trunk
Proposed by
jftempo
Status: | Merged |
---|---|
Merged at revision: | 6394 |
Proposed branch: | lp:~jfb-tempo-consulting/unifield-server/US-9495 |
Merge into: | lp:unifield-server |
Diff against target: |
291 lines (+93/-35) (has conflicts) 11 files modified
bin/addons/msf_profile/i18n/fr_MF.po (+28/-1) bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv (+1/-1) bin/addons/purchase/purchase_order_line.py (+15/-0) bin/addons/purchase/purchase_workflow.py (+1/-0) bin/addons/sale/sale_order.py (+3/-1) bin/addons/sale/sale_workflow.py (+1/-0) bin/addons/sale/wizard/split_order_line.py (+1/-0) bin/addons/sourcing/res_partner.py (+20/-20) bin/addons/sourcing/sale_order_line.py (+21/-11) bin/addons/sourcing/sourcing_view.xml (+1/-1) bin/addons/sync_so/sale.py (+1/-0) Text conflict in bin/addons/msf_profile/i18n/fr_MF.po |
To merge this branch: | bzr merge lp:~jfb-tempo-consulting/unifield-server/US-9495 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
UniField Reviewer Team | Pending | ||
Review via email: mp+435435@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'bin/addons/msf_profile/i18n/fr_MF.po' |
2 | --- bin/addons/msf_profile/i18n/fr_MF.po 2022-12-30 12:38:06 +0000 |
3 | +++ bin/addons/msf_profile/i18n/fr_MF.po 2023-01-10 08:45:42 +0000 |
4 | @@ -116921,8 +116921,9 @@ |
5 | msgid "No signature defined in user's profile" |
6 | msgstr "Aucun signature dans le profil de l'utilisateur" |
7 | |
8 | -#. module: purchase |
9 | +#. module: purchase, sale |
10 | #: field:purchase.order,nb_creation_message_nr:0 |
11 | +#: field:sale.order,nb_creation_message_nr:0 |
12 | msgid "Number of NR creation messages" |
13 | msgstr "Nombre de messages NR" |
14 | |
15 | @@ -117897,6 +117898,7 @@ |
16 | #, python-format |
17 | msgid "Both EoY Revaluation have been done in %s" |
18 | msgstr "Les deux réévaluations de fin d'année ont déjà été faite dans %s" |
19 | +<<<<<<< TREE |
20 | |
21 | #. module: account |
22 | #: code:addons/account/wizard/account_invoice_import.py:251 |
23 | @@ -117959,3 +117961,28 @@ |
24 | #, python-format |
25 | msgid "Active column is missing or empty at line %d" |
26 | msgstr "Valeur manquante ou vide dans la colonne statut à la ligne %d" |
27 | +======= |
28 | + |
29 | +#. module: purchase |
30 | +#: view:purchase.order:0 |
31 | +msgid "Activate Role" |
32 | +msgstr "Activer le rôle" |
33 | + |
34 | +#. module: purchase |
35 | +#: view:purchase.order:0 |
36 | +msgid "De-active Role" |
37 | +msgstr "Désactiver le rôle" |
38 | + |
39 | +#. modules: purchase, sale |
40 | +#: field:purchase.order.line,original_instance:0 |
41 | +#: field:sale.order.line,original_instance:0 |
42 | +msgid "Original Instance" |
43 | +msgstr "Instance originale" |
44 | + |
45 | +#. module: sourcing |
46 | +#: code:addons/sourcing/sale_order_line.py:1239 |
47 | +#, python-format |
48 | +msgid "You cannot re-sync a line more than 2 times" |
49 | +msgstr "Vous ne pouvez pas faire plus de 2 re-sync" |
50 | + |
51 | +>>>>>>> MERGE-SOURCE |
52 | |
53 | === modified file 'bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv' |
54 | --- bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv 2022-02-15 14:49:57 +0000 |
55 | +++ bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv 2023-01-10 08:45:42 +0000 |
56 | @@ -5,7 +5,7 @@ |
57 | msf_sync_data_server.po_updates_so_ref,TRUE,TRUE,"['name','state','partner_ref']","['&','&','&',('partner_type','!=','external'),('state','in',['validated', 'validated_p', 'sourced', 'sourced_p', 'confirmed', 'confirmed_p']),('partner_ref','!=',False),'!',('partner_ref', 'like', 'invalid_by_recovery')]",partner_id,MISSION,sale.order.update_sub_so_ref,purchase.order,PO updates SO ref,8,,Valid |
58 | msf_sync_data_server.fo_updates_po_ref,TRUE,TRUE,"['name','state','client_order_ref']","['&', '&','&','&', ('claim_name_goods_return', '=', False), ('partner_type','!=','external'),('client_order_ref','!=',False),('split_type_sale_order','=','original_sale_order'),'!',('client_order_ref', 'like', 'invalid_by_recovery')]",partner_id,MISSION,purchase.order.update_fo_ref,sale.order,FO updates PO ref,9,,Valid |
59 | msf_sync_data_server.update_in_ref,TRUE,TRUE,"['name','shipment_ref']","['&','&', ('partner_type_stock_picking', 'not in', ['esc', 'external']),('shipment_ref','!=',False),'!',('shipment_ref', 'like', 'invalid_by_recovery')]",partner_id,MISSION,stock.picking.update_in_ref,stock.picking,IN updates ref to OUT SHIP,10,,Valid |
60 | -msf_sync_data_server.pol_create_sol,TRUE,TRUE,"['sync_local_id', 'order_id/name','product_id/id', 'product_id/name', 'name', 'state', 'product_qty', 'product_uom', 'price_unit', 'analytic_distribution_id/id','comment','have_analytic_distribution_from_header','line_number', 'nomen_manda_0/id','nomen_manda_1/id','nomen_manda_2/id','nomen_manda_3/id', 'nomenclature_description','notes','default_name','default_code','is_line_split','date_planned', 'stock_take_date', 'ir_name_for_sync']","[('sync_linked_sol', '=', False), ('order_id.partner_type', 'not in',['external','esc']), ('state', 'in', ['validated', 'confirmed', 'done']), ('order_id.state', 'not in', ['draft', 'draft_p', 'cancel']), ('from_synchro_return_goods', '=', False), ('order_id.active', '=', 't')]",partner_id,MISSION,sale.order.line.create_so_line,purchase.order.line,PO line creates FO line,11,,Valid |
61 | +msf_sync_data_server.pol_create_sol,TRUE,TRUE,"['sync_local_id', 'order_id/name','product_id/id', 'product_id/name', 'name', 'state', 'product_qty', 'product_uom', 'price_unit', 'analytic_distribution_id/id','comment','have_analytic_distribution_from_header','line_number', 'nomen_manda_0/id','nomen_manda_1/id','nomen_manda_2/id','nomen_manda_3/id', 'nomenclature_description','notes','default_name','default_code','is_line_split','date_planned', 'stock_take_date', 'ir_name_for_sync', 'original_instance']","[('sync_linked_sol', '=', False), ('order_id.partner_type', 'not in',['external','esc']), ('state', 'in', ['validated', 'confirmed', 'done']), ('order_id.state', 'not in', ['draft', 'draft_p', 'cancel']), ('from_synchro_return_goods', '=', False), ('order_id.active', '=', 't')]",partner_id,MISSION,sale.order.line.create_so_line,purchase.order.line,PO line creates FO line,11,,Valid |
62 | msf_sync_data_server.sol_updates_pol,TRUE,TRUE,"['resourced_original_line/id', 'resourced_original_remote_line','sync_sourced_origin', 'sync_local_id', 'sync_linked_pol', 'order_id/name', 'product_id/id', 'product_id/name', 'name', 'state','product_uom_qty', 'product_uom', 'price_unit', 'in_name_goods_return', 'analytic_distribution_id/id','comment','have_analytic_distribution_from_header','line_number', 'nomen_manda_0/id','nomen_manda_1/id','nomen_manda_2/id','nomen_manda_3/id', 'nomenclature_description','notes','default_name','default_code','date_planned','is_line_split', 'original_line_id/id', 'confirmed_delivery_date', 'stock_take_date', 'cancel_split_ok', 'modification_comment', 'from_cancel_out', 'pol_external_ref', 'dpo_line_id/.id', 'dpo_id/.id', 'sync_pushed_from_po', 'esti_dd']","[('order_id.partner_type', '!=', 'external'), ('order_id.active', '=', 't'), ('state', '!=', 'draft'), ('order_id.procurement_request', '=', False), ('product_uom_qty', '!=', 0.0), '!', '&', ('order_id.fo_created_by_po_sync', '=', False), ('order_id.state', '=', 'draft')]",partner_id,MISSION,purchase.order.line.sol_update_original_pol,sale.order.line,FO line updates PO line,12,"[('order_id.procurement_request', '=', False), ('order_id.active', '=', 't'), ('order_id.state', 'in', ['draft', 'draft_p']), ('order_id.partner_type', 'not in', ['external', 'esc']), ('order_id.client_order_ref', '=', False)]",Valid |
63 | msf_sync_data_server.pol_update_date_expected,TRUE,TRUE,"['sync_local_id', 'sync_linked_pol']","[('id', '=', 0)]",partner_id,MISSION,purchase.order.line.update_date_expected,sale.order.line,Update IN expected date,55,,Valid |
64 | msf_sync_data_server.partial_shipped_coordo_updates_in_at_project,TRUE,TRUE,"['name', 'previous_step_id/name', 'state', 'origin', 'partner_type_stock_picking', 'shipment_id/name', 'min_date', 'note', 'claim', 'packing_list', 'move_lines/processed_stock_move', 'move_lines/id', 'move_lines/state','move_lines/original_qty_partial', 'move_lines/line_number', 'move_lines/name', 'move_lines/change_reason', 'move_lines/product_id/id', 'move_lines/product_id/name', 'move_lines/product_id/default_code', 'move_lines/product_qty', 'move_lines/prodlot_id/id','move_lines/prodlot_id/name','move_lines/prodlot_id/life_date', 'move_lines/prodlot_id/type', 'move_lines/prodlot_id/comment', 'move_lines/expired_date', 'move_lines/asset_id/id','move_lines/product_uom/id', 'move_lines/product_uom/name', 'move_lines/date', 'move_lines/date_expected', 'move_lines/note', 'move_lines/location_dest_id/usage', 'move_lines/comment', 'move_lines/sale_line_id/id', 'move_lines/sale_line_id/in_name_goods_return', 'move_lines/sale_line_id/resourced_original_remote_line', 'move_lines/from_pack', 'move_lines/to_pack', 'move_lines/weight', 'move_lines/height', 'move_lines/length', 'move_lines/width', 'sale_id/claim_name_goods_return', 'sale_id/client_order_ref']","['&','&','&','&','&',('partner_type_stock_picking', '!=', 'external'), ('type', '=', 'out'), ('subtype', 'in', ['standard', 'packing']), ('state', 'in', ['done', 'delivered']), ('already_shipped', '=', True), ('do_not_sync', '=', False)]",partner_id,MISSION,stock.picking.partial_shipped_fo_updates_in_po,stock.picking,Partial shipped at Coordo updates IN at Project,19,,Valid |
65 | |
66 | === modified file 'bin/addons/purchase/purchase_order_line.py' |
67 | --- bin/addons/purchase/purchase_order_line.py 2022-11-21 10:10:25 +0000 |
68 | +++ bin/addons/purchase/purchase_order_line.py 2023-01-10 08:45:42 +0000 |
69 | @@ -165,9 +165,22 @@ |
70 | |
71 | res = {} |
72 | for pol in self.browse(cr, uid, ids, fields_to_fetch=['linked_sol_id'], context=context): |
73 | + if not pol.linked_sol_id: |
74 | + original_instance = self.pool.get('res.company')._get_instance_record(cr, uid).instance |
75 | + elif pol.linked_sol_id.original_instance: |
76 | + original_instance = pol.linked_sol_id.original_instance |
77 | + elif pol.linked_sol_id.order_id.partner_type in ('esc', 'external'): |
78 | + # FO FS to Ext |
79 | + original_instance = self.pool.get('res.company')._get_instance_record(cr, uid).instance |
80 | + else: |
81 | + # IR or FO from scratch to instance |
82 | + original_instance = pol.linked_sol_id.order_id.partner_id.name |
83 | + |
84 | + |
85 | res[pol.id] = { |
86 | 'customer_ref': pol.linked_sol_id and pol.linked_sol_id.order_id.client_order_ref or False, |
87 | 'ir_name_for_sync': pol.linked_sol_id and pol.linked_sol_id.order_id.name or '', |
88 | + 'original_instance': original_instance, |
89 | } |
90 | |
91 | return res |
92 | @@ -656,6 +669,8 @@ |
93 | 'from_dpo_id': fields.integer('DPO id on the remote', internal=1), |
94 | 'dates_modified': fields.boolean('EDD/CDD modified on validated line', internal=1), |
95 | 'loan_line_id': fields.many2one('sale.order.line', string='Linked loan line', readonly=True), |
96 | + |
97 | + 'original_instance': fields.function(_get_customer_ref, method=True, type='char', string='Original Instance', multi='custo_ref_ir_name'), |
98 | } |
99 | |
100 | _defaults = { |
101 | |
102 | === modified file 'bin/addons/purchase/purchase_workflow.py' |
103 | --- bin/addons/purchase/purchase_workflow.py 2022-10-31 15:42:23 +0000 |
104 | +++ bin/addons/purchase/purchase_workflow.py 2023-01-10 08:45:42 +0000 |
105 | @@ -75,6 +75,7 @@ |
106 | if split_po.linked_sol_id: |
107 | sol_values['line_number'] = split_po.linked_sol_id.line_number |
108 | sol_values['original_line_id'] = split_po.linked_sol_id.id |
109 | + sol_values['original_instance'] = split_po.linked_sol_id.original_instance |
110 | return sol_values |
111 | |
112 | |
113 | |
114 | === modified file 'bin/addons/sale/sale_order.py' |
115 | --- bin/addons/sale/sale_order.py 2022-11-21 10:10:25 +0000 |
116 | +++ bin/addons/sale/sale_order.py 2023-01-10 08:45:42 +0000 |
117 | @@ -2292,6 +2292,8 @@ |
118 | 'instance_sync_order_ref': fields.many2one('sync.order.label', string='Order in sync. instance'), |
119 | 'cv_line_ids': fields.one2many('account.commitment.line', 'so_line_id', string="Commitment Voucher Lines"), |
120 | 'loan_line_id': fields.many2one('purchase.order.line', string='Linked loan line', readonly=True), |
121 | + |
122 | + 'original_instance': fields.char('Original Instance', size=128, readonly=1), |
123 | } |
124 | _order = 'sequence, id desc' |
125 | _defaults = { |
126 | @@ -2502,7 +2504,7 @@ |
127 | 'modification_comment', 'original_product', 'original_qty', 'original_price', |
128 | 'original_uom', 'sync_linked_pol', 'resourced_original_line', 'ir_name_from_sync', |
129 | 'in_name_goods_return', 'counterpart_po_line_id', 'from_cancel_out', |
130 | - 'instance_sync_order_ref', 'sync_sourced_origin' |
131 | + 'instance_sync_order_ref', 'sync_sourced_origin', 'original_instance', |
132 | ]: |
133 | if x not in default: |
134 | default[x] = False |
135 | |
136 | === modified file 'bin/addons/sale/sale_workflow.py' |
137 | --- bin/addons/sale/sale_workflow.py 2022-05-10 14:16:17 +0000 |
138 | +++ bin/addons/sale/sale_workflow.py 2023-01-10 08:45:42 +0000 |
139 | @@ -189,6 +189,7 @@ |
140 | 'analytic_distribution_id': sol.analytic_distribution_id.id or False, |
141 | 'ir_name_from_sync': sol.ir_name_from_sync or False, |
142 | 'sync_sourced_origin': sol.sync_sourced_origin, |
143 | + 'original_instance': sol.original_instance, |
144 | } |
145 | new_sol_id = self.copy(cr, uid, sol.id, sol_vals, context=context) |
146 | wf_service.trg_validate(uid, 'sale.order.line', new_sol_id, 'validated', cr) |
147 | |
148 | === modified file 'bin/addons/sale/wizard/split_order_line.py' |
149 | --- bin/addons/sale/wizard/split_order_line.py 2020-09-24 14:13:46 +0000 |
150 | +++ bin/addons/sale/wizard/split_order_line.py 2023-01-10 08:45:42 +0000 |
151 | @@ -84,6 +84,7 @@ |
152 | 'in_name_goods_return': split.sale_line_id.in_name_goods_return, |
153 | 'ir_name_from_sync': split.sale_line_id.ir_name_from_sync, |
154 | 'counterpart_po_line_id': split.sale_line_id.counterpart_po_line_id and split.sale_line_id.counterpart_po_line_id.id or False, |
155 | + 'original_instance': split.sale_line_id.original_instance, |
156 | } |
157 | # following new sequencing policy, we check if resequencing occur (behavior 1). |
158 | # if not (behavior 2), the split line keeps the same line number as original line |
159 | |
160 | === modified file 'bin/addons/sourcing/res_partner.py' |
161 | --- bin/addons/sourcing/res_partner.py 2020-11-05 09:39:35 +0000 |
162 | +++ bin/addons/sourcing/res_partner.py 2023-01-10 08:45:42 +0000 |
163 | @@ -72,6 +72,24 @@ |
164 | result[l_id] = True |
165 | return result |
166 | |
167 | + def _get_source_domain(self, cr, uid, sol_ids, context=None): |
168 | + if isinstance(sol_ids, (int, long)): |
169 | + sol_ids = [sol_ids] |
170 | + |
171 | + remove_ids = set() |
172 | + allowed_types_set = set(['external', 'esc', 'internal', 'section', 'intermission']) |
173 | + |
174 | + for sol in self.pool.get('sale.order.line').browse(cr, uid, sol_ids, fields_to_fetch=['order_id', 'original_instance']): |
175 | + remove_ids.add(sol.order_id.partner_id.id) |
176 | + if not sol.order_id.procurement_request: |
177 | + types_allowed = ['external', 'esc'] |
178 | + if sol.order_id.partner_type in ['esc', 'external']: |
179 | + types_allowed.extend(['internal', 'section', 'intermission']) |
180 | + elif not sol.original_instance or sol.original_instance == sol.order_id.partner_id.name: |
181 | + types_allowed.extend(['internal', 'section', 'intermission']) |
182 | + allowed_types_set.intersection_update(set(types_allowed)) |
183 | + return [('id', 'not in', list(remove_ids)), ('partner_type', 'in', list(allowed_types_set))] |
184 | + |
185 | def _check_partner_type(self, cr, uid, obj, name, args, context=None): |
186 | if context is None: |
187 | context = {} |
188 | @@ -86,15 +104,7 @@ |
189 | if arg[1] != '=' or not isinstance(arg[2], (int, long)): |
190 | raise osv.except_osv(_('Error'), _('Filter check_partner different than (arg[0], =, id) not implemented.')) |
191 | if arg[2]: |
192 | - so = self.pool.get('sale.order').browse(cr, uid, arg[2], fields_to_fetch=['partner_id', 'procurement_request', 'partner_type']) |
193 | - newargs.append(('id', '!=', so.partner_id.id)) |
194 | - if not so.procurement_request: |
195 | - types_allowed = ['external', 'esc'] |
196 | - if so.partner_type not in ['internal', 'section', 'intermission']: |
197 | - types_allowed.extend(['internal', 'section', 'intermission']) |
198 | - elif so.partner_type == 'internal': |
199 | - types_allowed.extend(['section', 'intermission']) |
200 | - newargs.append(('partner_type', 'in', types_allowed)) |
201 | + newargs += self._get_source_domain(cr, uid, arg[2], context=context) |
202 | else: |
203 | newargs.append(args) |
204 | return newargs |
205 | @@ -182,17 +192,7 @@ |
206 | for arg in args: |
207 | if arg[0] == 'line_contains_fo': |
208 | if type(arg[2]) == type(list()): |
209 | - for line in self.pool.get('sale.order.line').browse(cr, uid, arg[2][0][2], fields_to_fetch=['partner_id', 'order_id'], context=context): |
210 | - res.append(('id', '!=', line.partner_id.id)) |
211 | - if not line.order_id.procurement_request: |
212 | - types_allowed = ['external', 'esc'] |
213 | - if line.partner_id.partner_type not in ['internal', 'section', 'intermission']: |
214 | - types_allowed.extend(['internal', 'section', 'intermission']) |
215 | - elif line.partner_id.partner_type == 'internal': |
216 | - types_allowed.extend(['section', 'intermission']) |
217 | - |
218 | - res.append(('partner_type', 'in', types_allowed)) |
219 | - |
220 | + res += self._get_source_domain(cr, uid, arg[2][0][2], context=context) |
221 | return res |
222 | |
223 | _columns = { |
224 | |
225 | === modified file 'bin/addons/sourcing/sale_order_line.py' |
226 | --- bin/addons/sourcing/sale_order_line.py 2022-10-28 10:41:43 +0000 |
227 | +++ bin/addons/sourcing/sale_order_line.py 2023-01-10 08:45:42 +0000 |
228 | @@ -1217,17 +1217,27 @@ |
229 | _('You cannot confirm the sourcing of a line with unit price as zero.'), |
230 | ) |
231 | |
232 | - int_int_supplier = self.search(cr, uid, [ |
233 | - ('id', 'in', ids), |
234 | - ('supplier.partner_type', '=', 'internal'), |
235 | - ('order_id.partner_type', '=', 'internal'), |
236 | - ('order_id.procurement_request', '=', False), |
237 | - ], count=True, context=context) |
238 | - if int_int_supplier: |
239 | - raise osv.except_osv( |
240 | - _('Warning'), |
241 | - _('You cannot confirm the sourcing of a line to an internal customer with an internal supplier.'), |
242 | - ) |
243 | + if ids: |
244 | + cr.execute(''' |
245 | + select |
246 | + count(*) |
247 | + from |
248 | + sale_order_line sol, sale_order so, res_partner p, res_partner supplier |
249 | + where |
250 | + sol.order_id = so.id and |
251 | + p.id = so.partner_id and |
252 | + supplier.id = sol.supplier and |
253 | + p.partner_type in ('section', 'internal', 'intermission') and |
254 | + supplier.partner_type in ('section', 'internal', 'intermission') and |
255 | + coalesce(sol.original_instance, p.name) != p.name and |
256 | + sol.id in %s |
257 | + ''', (tuple(ids), )) |
258 | + |
259 | + if cr.fetchone()[0]: |
260 | + raise osv.except_osv( |
261 | + _('Warning'), |
262 | + _('You cannot re-sync a line more than 2 times') |
263 | + ) |
264 | |
265 | self.source_line(cr, uid, ids, context=context) |
266 | |
267 | |
268 | === modified file 'bin/addons/sourcing/sourcing_view.xml' |
269 | --- bin/addons/sourcing/sourcing_view.xml 2020-09-28 08:39:21 +0000 |
270 | +++ bin/addons/sourcing/sourcing_view.xml 2023-01-10 08:45:42 +0000 |
271 | @@ -69,7 +69,7 @@ |
272 | <field name="stock_uom_id" readonly="1" string="UoM Stock" /> |
273 | <field name="company_id" invisible="1" /> |
274 | <field name="supplier" colspan="2" |
275 | - domain="[('id', '!=', company_id), ('available_for_dpo', '=', po_cft),('check_partner', '=', order_id), '|', '|', ('supplier', '=', 't'), ('manufacturer', '=', 't'), ('transporter', '=', 't')]" |
276 | + domain="[('id', '!=', company_id), ('available_for_dpo', '=', po_cft),('check_partner', '=', active_id), '|', '|', ('supplier', '=', 't'), ('manufacturer', '=', 't'), ('transporter', '=', 't')]" |
277 | context="{'product_id': product_id, 'choose_supplier': True, 'uom': product_uom, 'product_qty': product_uom_qty}" |
278 | attrs="{'readonly': ['|', '|', ('po_cft', '=', 'cft'), ('state', '!=', 'validated'), ('type', '=', 'make_to_stock')]}" |
279 | on_change="onChangeSupplier(supplier, type)" /> |
280 | |
281 | === modified file 'bin/addons/sync_so/sale.py' |
282 | --- bin/addons/sync_so/sale.py 2021-08-09 17:27:06 +0000 |
283 | +++ bin/addons/sync_so/sale.py 2023-01-10 08:45:42 +0000 |
284 | @@ -66,6 +66,7 @@ |
285 | sol_values['order_id'] = sale_order_ids[0] |
286 | sol_values['sync_linked_pol'] = pol_dict.get('sync_local_id', False) |
287 | sol_values['ir_name_from_sync'] = pol_dict.get('ir_name_for_sync', False) |
288 | + sol_values['original_instance'] = pol_dict.get('original_instance', False) |
289 | if line_info.product_id and not sol_values.get('product_id'): |
290 | raise Exception('FO: %s , Product %s not found' % (so_name, line_info.default_code or '')) |
291 | if sol_values.get('product_id'): |