Merge lp:~dorian-kemps/unifield-server/US-607 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 5537
Proposed branch: lp:~dorian-kemps/unifield-server/US-607
Merge into: lp:unifield-server
Diff against target: 291 lines (+75/-11)
10 files modified
bin/addons/msf_doc_import/wizard/wizard_po_simulation_screen.py (+29/-2)
bin/addons/msf_profile/i18n/fr_MF.po (+12/-0)
bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xls.mako (+10/-2)
bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xml.mako (+5/-1)
bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv (+1/-1)
bin/addons/purchase/purchase_order_line.py (+10/-4)
bin/addons/purchase/purchase_view.xml (+2/-1)
bin/addons/sale/sale_order.py (+4/-0)
bin/addons/sale/sale_view.xml (+1/-0)
bin/addons/sync_so/sale.py (+1/-0)
To merge this branch: bzr merge lp:~dorian-kemps/unifield-server/US-607
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+371084@code.launchpad.net
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_doc_import/wizard/wizard_po_simulation_screen.py'
2--- bin/addons/msf_doc_import/wizard/wizard_po_simulation_screen.py 2019-10-01 09:09:50 +0000
3+++ bin/addons/msf_doc_import/wizard/wizard_po_simulation_screen.py 2019-10-11 15:14:55 +0000
4@@ -1545,6 +1545,7 @@
5 'imp_external_ref': fields.char(size=256, string='External Ref.', readonly=True),
6 'imp_project_ref': fields.char(size=256, string='Project Ref.', readonly=True),
7 'imp_origin': fields.char(size=256, string='Origin Ref.', readonly=True),
8+ 'imp_sync_order_ref': fields.many2one('sync.order.label', string='Order in sync. instance', readonly=True),
9 'change_ok': fields.function(_get_line_info, method=True, multi='line',
10 type='boolean', string='Change', store=False),
11 'error_msg': fields.text(string='Error message', readonly=True),
12@@ -1581,6 +1582,7 @@
13 prod_obj = self.pool.get('product.product')
14 uom_obj = self.pool.get('product.uom')
15 sale_obj = self.pool.get('sale.order')
16+ sync_order_obj = self.pool.get('sync.order.label')
17
18 if isinstance(ids, (int, long)):
19 ids = [ids]
20@@ -1733,8 +1735,14 @@
21 write_vals['type_change'] = 'error'
22
23 # Origin
24- origin = values[8]
25- if origin:
26+ full_origin = values[8]
27+ if full_origin:
28+ instance_sync_order_ref = False
29+ if ':' in full_origin:
30+ origin = full_origin.split(':')[0]
31+ instance_sync_order_ref = full_origin.split(':')[-1]
32+ else:
33+ origin = full_origin
34 if line.simu_id.order_id.order_type not in ['loan', 'donation_exp', 'donation_st', 'in_kind']:
35 so_ids = sale_obj.search(cr, uid, [('name', '=', origin), ('procurement_request', 'in', ['t', 'f'])],
36 limit=1, context=context)
37@@ -1751,6 +1759,23 @@
38 err_msg = _('\'Origin\' Document can\'t be Closed or Cancelled')
39 errors.append(err_msg)
40 write_vals['type_change'] = 'error'
41+ # To link the other instance's IR to the PO line
42+ if line.type_change in ['new', 'split'] and instance_sync_order_ref:
43+ sync_order_label_ids = sync_order_obj.\
44+ search(cr, uid, [('name', '=', instance_sync_order_ref),
45+ ('order_id.state', 'not in', ['done', 'cancel'])], context=context)
46+ if sync_order_label_ids:
47+ sync_order_label = sync_order_obj.browse(cr, uid, sync_order_label_ids[0], context=context)
48+ if sync_order_label.order_id.id == so.id:
49+ write_vals['imp_sync_order_ref'] = sync_order_label.id
50+ else:
51+ err_msg = _('This Order in sync. instance reference is not linked with the FO in \'Origin\'')
52+ errors.append(err_msg)
53+ write_vals['type_change'] = 'error'
54+ else:
55+ err_msg = _('No Order in sync. instance with an open FO was found with the data in \'Origin\'')
56+ errors.append(err_msg)
57+ write_vals['type_change'] = 'error'
58 else:
59 err_msg = _('The FO reference in \'Origin\' is not consistent with this PO')
60 errors.append(err_msg)
61@@ -1899,6 +1924,8 @@
62 line_vals['project_ref'] = line.imp_project_ref
63 if line.imp_origin:
64 line_vals['origin'] = line.imp_origin
65+ if line.imp_sync_order_ref:
66+ line_vals.update({'instance_sync_order_ref': line.imp_sync_order_ref.id, 'display_sync_ref': True})
67 if line.imp_external_ref:
68 line_vals['external_ref'] = line.imp_external_ref
69 if line.imp_dcd:
70
71=== modified file 'bin/addons/msf_profile/i18n/fr_MF.po'
72--- bin/addons/msf_profile/i18n/fr_MF.po 2019-10-03 14:01:19 +0000
73+++ bin/addons/msf_profile/i18n/fr_MF.po 2019-10-11 15:14:55 +0000
74@@ -107275,6 +107275,18 @@
75 msgid "This invoice will sync to its counterpart instance."
76 msgstr "Cette facture sera synchronisée à l'instance de Contrepartie."
77
78+#. module: msf_doc_import
79+#: code:addons/msf_doc_import/wizard/wizard_po_simulation_screen.py:1759
80+#, python-format
81+msgid "This Order in sync. instance reference is not linked with the FO in 'Origin'"
82+msgstr "Cette référence de commande en instance sync. n'a pas de lien avec le FO de 'Origine'"
83+
84+#. module: msf_doc_import
85+#: code:addons/msf_doc_import/wizard/wizard_po_simulation_screen.py:1763
86+#, python-format
87+msgid "No Order in sync. instance with an open FO was found with the data in 'Origin'"
88+msgstr "Aucune commande en instance sync. avec une CdT ouverte n'a été trouvée avec les données dans 'Origine'"
89+
90 #. module: msf_homere_interface
91 #: view:hr.employee.activation:0
92 #: model:ir.actions.act_window,name:msf_homere_interface.employee_activation_action
93
94=== modified file 'bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xls.mako'
95--- bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xls.mako 2018-08-10 10:25:45 +0000
96+++ bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xls.mako 2019-10-11 15:14:55 +0000
97@@ -67,7 +67,11 @@
98 <Table x:FullColumns="1" x:FullRows="1">
99 <Column ss:AutoFitWidth="1" ss:Width="120" />
100 <Column ss:AutoFitWidth="1" ss:Width="300" />
101-% for x in range(2,nb_of_columns - 1):
102+% for x in range(2, 8):
103+<Column ss:AutoFitWidth="1" ss:Width="60" />
104+% endfor
105+<Column ss:AutoFitWidth="1" ss:Width="100" />
106+% for x in range(10, nb_of_columns - 1):
107 <Column ss:AutoFitWidth="1" ss:Width="60" />
108 % endfor
109 <Column ss:AutoFitWidth="1" ss:Width="250" />
110@@ -269,7 +273,11 @@
111 <Cell ss:StyleID="line" ><Data ss:Type="String">${(line.product_uom.name or '')|x}</Data></Cell>
112 <Cell ss:StyleID="line" ><Data ss:Type="Number">${(line.price_unit or 0.00)|x}</Data></Cell>
113 <Cell ss:StyleID="line" ><Data ss:Type="String">${(o.pricelist_id.currency_id.name or '')|x}</Data></Cell>
114- <Cell ss:StyleID="line" ><Data ss:Type="String">${(line.origin or '')|x}</Data></Cell>
115+ % if line.instance_sync_order_ref and line.origin:
116+ <Cell ss:StyleID="line" ><Data ss:Type="String">${line.origin + ':' + line.instance_sync_order_ref.name|x}</Data></Cell>
117+ % else:
118+ <Cell ss:StyleID="line" ><Data ss:Type="String">${(line.origin and (line.linked_sol_id and line.linked_sol_id.ir_name_from_sync and line.origin + ':' + line.linked_sol_id.ir_name_from_sync or line.origin) or '')|x}</Data></Cell>
119+ % endif
120 % if isDate(line.stock_take_date):
121 <Cell ss:StyleID="short_date" ><Data ss:Type="DateTime">${line.stock_take_date|n}T00:00:00.000</Data></Cell>
122 % else:
123
124=== modified file 'bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xml.mako'
125--- bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xml.mako 2019-06-06 12:33:50 +0000
126+++ bin/addons/msf_supply_doc_export/report/report_validated_purchase_order_xml.mako 2019-10-11 15:14:55 +0000
127@@ -80,7 +80,11 @@
128 <field name="currency_id" key="name">
129 <field name="name">${l.currency_id and l.currency_id.name or ''|x}</field>
130 </field>
131- <field name="origin">${l.origin or ''|x}</field>
132+ % if l.instance_sync_order_ref and l.origin:
133+ <field name="origin">${l.origin + ':' + l.instance_sync_order_ref.name|x}</field>
134+ % else:
135+ <field name="origin">${l.origin and (l.linked_sol_id and l.linked_sol_id.ir_name_from_sync and l.origin + ':' + l.linked_sol_id.ir_name_from_sync or l.origin) or ''|x}</field>
136+ % endif
137 % if l.stock_take_date and l.stock_take_date not in (False, 'False'):
138 <field name="stock_take_date">${l.stock_take_date|n}</field>
139 % else:
140
141=== modified file 'bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv'
142--- bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv 2019-08-08 13:55:43 +0000
143+++ bin/addons/msf_sync_data_server/data/sync_server.message_rule.csv 2019-10-11 15:14:55 +0000
144@@ -5,7 +5,7 @@
145 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
146 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
147 msf_sync_data_server.update_in_ref,TRUE,TRUE,"['name','shipment_ref']","['&',('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
148-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']","[('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'])]",partner_id,MISSION,sale.order.line.create_so_line,purchase.order.line,PO line creates FO line,11,,Valid
149+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'])]",partner_id,MISSION,sale.order.line.create_so_line,purchase.order.line,PO line creates FO line,11,,Valid
150 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']","[('order_id.partner_type', '!=', 'external'), ('state', '!=', 'draft'), ('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.state', 'in', ['draft', 'draft_p']), ('order_id.partner_type', 'not in', ['external', 'esc']), ('order_id.client_order_ref', '=', False)]",Valid
151 msf_sync_data_server.partial_shipped_coordo_updates_in_at_project,TRUE,TRUE,"['name', 'state', 'origin', 'partner_type_stock_picking', 'shipment_id/name', 'min_date', 'note', 'claim', '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/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', 'sale_id/claim_name_goods_return', 'sale_id/client_order_ref']","['&','&','&','&','&',('partner_type_stock_picking', '!=', 'external'), ('type', '=', 'out'), ('subtype', 'in', ['standard', 'packing']), ('state', '=', 'done'), ('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
152 msf_sync_data_server.moves_from_dpo_closed_coordo_updates_in_at_project,TRUE,TRUE,"['name', 'state', 'origin', 'subtype', 'partner_type_stock_picking', 'shipment_id/name', 'min_date', 'note', '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/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/dpo_line_id', 'move_lines/comment']","['&', '&', '&', ('partner_type_stock_picking', '!=', 'external'), ('type', '=', 'out'), ('subtype', 'in', ['picking', 'standard']), ('dpo_out', '=', True)]",partner_id,MISSION,stock.picking.partial_shippped_dpo_updates_in_po,stock.picking,Moves from DPO closed at Coordo updates IN at Project,20,,Valid
153
154=== modified file 'bin/addons/purchase/purchase_order_line.py'
155--- bin/addons/purchase/purchase_order_line.py 2019-10-01 09:09:50 +0000
156+++ bin/addons/purchase/purchase_order_line.py 2019-10-11 15:14:55 +0000
157@@ -563,6 +563,7 @@
158 'validation_date': fields.date('Validation Date', readonly=True),
159 'confirmation_date': fields.date('Confirmation Date', readonly=True),
160 'closed_date': fields.date('Closed Date', readonly=True),
161+ 'ir_name_for_sync': fields.char(size=64, string='IR name to put on PO line after sync', invisible=True),
162 }
163
164 _defaults = {
165@@ -1194,8 +1195,11 @@
166
167 # utp-518:we write the comment from the sale.order.line on the PO line:
168 if vals.get('linked_sol_id'):
169- sol_comment = self.pool.get('sale.order.line').read(cr, uid, vals.get('linked_sol_id'), ['comment'], context=context)['comment']
170- vals.update({'comment': sol_comment})
171+ sol = self.pool.get('sale.order.line').browse(cr, uid, vals.get('linked_sol_id'), fields_to_fetch=['comment', 'order_id'], context=context)
172+ vals.update({
173+ 'comment': sol.comment,
174+ 'ir_name_for_sync': sol.order_id.procurement_request and sol.order_id.name or False,
175+ })
176 #if not product_id and not vals.get('name'): # US-3530
177 # vals.update({'name': 'None'})
178
179@@ -1237,6 +1241,7 @@
180 'esc_confirmed': False,
181 'created_by_sync': False,
182 'cancelled_by_sync': False,
183+ 'ir_name_for_sync': False,
184 })
185
186 return super(purchase_order_line, self).copy(cr, uid, line_id, defaults, context=context)
187@@ -1261,7 +1266,7 @@
188 if field not in default:
189 default[field] = False
190
191- default.update({'sync_order_line_db_id': False, 'set_as_sourced_n': False, 'set_as_validated_n': False, 'linked_sol_id': False, 'link_so_id': False, 'esc_confirmed': False, 'created_by_sync': False, 'cancelled_by_sync': False, 'resourced_original_line': False, 'set_as_resourced': False, 'stock_take_date': False})
192+ default.update({'sync_order_line_db_id': False, 'set_as_sourced_n': False, 'set_as_validated_n': False, 'linked_sol_id': False, 'link_so_id': False, 'esc_confirmed': False, 'created_by_sync': False, 'cancelled_by_sync': False, 'resourced_original_line': False, 'set_as_resourced': False, 'stock_take_date': False, 'ir_name_for_sync': False})
193
194 # from RfQ line to PO line: grab the linked sol if has:
195 if pol.order_id.rfq_ok and context.get('generate_po_from_rfq', False):
196@@ -1516,12 +1521,13 @@
197 Fill the origin field if a FO is selected
198 '''
199 if fo_id:
200- fo_domain = ['name', 'sourced_references', 'state', 'order_type']
201+ fo_domain = ['name', 'sourced_references', 'state', 'order_type', 'procurement_request']
202 fo = self.pool.get('sale.order').read(cr, uid, fo_id, fo_domain, context=context)
203 if fo['state'] not in ['done', 'cancel'] and fo['order_type'] == 'regular':
204 return {
205 'value': {
206 'origin': fo['name'],
207+ 'ir_name_for_sync': fo['procurement_request'] and fo['name'] or False,
208 'display_sync_ref': len(fo['sourced_references']) and True or False,
209 },
210 'warning': {
211
212=== modified file 'bin/addons/purchase/purchase_view.xml'
213--- bin/addons/purchase/purchase_view.xml 2019-07-25 13:52:35 +0000
214+++ bin/addons/purchase/purchase_view.xml 2019-10-11 15:14:55 +0000
215@@ -275,6 +275,7 @@
216 <field name="origin" invisible="1" readonly="1"/>
217 <field name="soq_updated" invisible="1" readonly="1"/>
218 <field name="order_state_purchase_order_line" invisible="True"/>
219+ <field name="ir_name_for_sync" invisible="True"/>
220 <button string="Split line" icon="terp-stock_effects-object-colorize" name="open_split_wizard" type="object" attrs="{'invisible': [('fake_state', 'not in', ('draft', 'validated', 'validated_n'))]}"/>
221 <button string="Validate" icon="terp-check" name="validated" type="workflow" attrs="{'invisible': [('fake_state', '!=', 'draft')]}" header="True"/>
222 <button string="Confirm" icon="terp-check" name="button_confirmed" type="object" attrs="{'invisible': [('fake_state', 'not in', ['validated', 'validated_n'])]}" header="True"/>
223@@ -673,7 +674,7 @@
224 <field name="fake_id" invisible="1"/>
225 <field name="change_price_ok" invisible="1"/>
226 <field name="old_price_unit" invisible="1"/>
227-
228+ <field name="ir_name_for_sync" invisible="1"/>
229
230
231 <separator string="Notes" colspan="4" />
232
233=== modified file 'bin/addons/sale/sale_order.py'
234--- bin/addons/sale/sale_order.py 2019-10-01 10:23:48 +0000
235+++ bin/addons/sale/sale_order.py 2019-10-11 15:14:55 +0000
236@@ -2118,6 +2118,7 @@
237 'from_cancel_out': fields.boolean('OUT cancel'),
238 'created_by_sync': fields.boolean(string='Created by Synchronisation'),
239 'cancelled_by_sync': fields.boolean(string='Cancelled by Synchronisation'),
240+ 'ir_name_from_sync': fields.char(size=64, string='IR name to put on PO line after sync', invisible=True),
241 }
242 _order = 'sequence, id desc'
243 _defaults = {
244@@ -2139,6 +2140,7 @@
245 'stock_take_date': _get_stock_take_date,
246 'created_by_sync': False,
247 'cancelled_by_sync': False,
248+ 'ir_name_from_sync': '',
249 }
250
251 def _check_stock_take_date(self, cr, uid, ids, context=None):
252@@ -2266,6 +2268,7 @@
253 'from_cancel_out': False,
254 'created_by_sync': False,
255 'cancelled_by_sync': False,
256+ 'ir_name_from_sync': '',
257 })
258
259 if 'in_name_goods_return' not in default:
260@@ -2306,6 +2309,7 @@
261 'created_by_sync': False,
262 'cancelled_by_sync': False,
263 'stock_take_date': False,
264+ 'ir_name_from_sync': '',
265 })
266 if context.get('from_button') and 'is_line_split' not in default:
267 default['is_line_split'] = False
268
269=== modified file 'bin/addons/sale/sale_view.xml'
270--- bin/addons/sale/sale_view.xml 2019-07-31 12:02:50 +0000
271+++ bin/addons/sale/sale_view.xml 2019-10-11 15:14:55 +0000
272@@ -278,6 +278,7 @@
273 <field name="to_correct_ok" readonly="1" invisible="1"/>
274 <field name="show_msg_ok" readonly="1" invisible="1"/>
275 <field name="inactive_product" invisible="1"/>
276+ <field name="ir_name_from_sync" invisible="1"/>
277 <group attrs="{'invisible': [('text_error', '=', False), ('inactive_error', '=', False)]}">
278 <html>
279 <style>
280
281=== modified file 'bin/addons/sync_so/sale.py'
282--- bin/addons/sync_so/sale.py 2018-11-09 16:10:16 +0000
283+++ bin/addons/sync_so/sale.py 2019-10-11 15:14:55 +0000
284@@ -63,6 +63,7 @@
285 sol_values = self.pool.get('so.po.common').get_line_data(cr, uid, source, line_info, context)
286 sol_values['order_id'] = sale_order_ids[0]
287 sol_values['sync_linked_pol'] = pol_dict.get('sync_local_id', False)
288+ sol_values['ir_name_from_sync'] = pol_dict.get('ir_name_for_sync', False)
289 if sol_values.get('product_id'):
290 sol_values['original_product'] = sol_values['product_id']
291 if sol_values.get('product_qty') or sol_values.get('product_uom_qty'):

Subscribers

People subscribed via source and target branches