Merge lp:~dorian-kemps/unifield-server/US-607 into lp:unifield-server
- US-607
- Merge into trunk
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
UniField Reviewer Team | Pending | ||
Review via email: mp+371084@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_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'): |