Merge lp:~unifield-team/unifield-server/us-4541 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 5155
Proposed branch: lp:~unifield-team/unifield-server/us-4541
Merge into: lp:unifield-server
Diff against target: 115 lines (+71/-3) (has conflicts)
3 files modified
bin/addons/mission_stock/mission_stock.py (+6/-3)
bin/addons/msf_profile/data/patches.xml (+3/-0)
bin/addons/msf_profile/msf_profile.py (+62/-0)
Text conflict in bin/addons/msf_profile/msf_profile.py
To merge this branch: bzr merge lp:~unifield-team/unifield-server/us-4541
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+356047@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/mission_stock/mission_stock.py'
2--- bin/addons/mission_stock/mission_stock.py 2018-07-18 09:21:25 +0000
3+++ bin/addons/mission_stock/mission_stock.py 2018-10-03 10:08:58 +0000
4@@ -911,12 +911,15 @@
5 ('central_location_ok', '=', False)], context=context)
6 cu_loc = location_obj.search(cr, uid, [('usage', '=', 'internal'), ('location_category', '=', 'consumption_unit')], context=context)
7 secondary_location_id = data_obj.get_object_reference(cr, uid, 'msf_config_locations', 'stock_location_intermediate_client_view')
8+ secondary_location_ids = []
9 if secondary_location_id:
10 secondary_location_id = secondary_location_id[1]
11- secondary_location_ids = location_obj.search(cr, uid, [('location_id', 'child_of', secondary_location_id)], context=context)
12+ secondary_location_ids = location_obj.search(cr, uid, [('location_id', 'child_of', secondary_location_id)], context=context)
13
14- cu_loc = location_obj.search(cr, uid, [('location_id', 'child_of', cu_loc)], context=context)
15- central_loc = location_obj.search(cr, uid, [('location_id', 'child_of', central_loc)], context=context)
16+ if cu_loc:
17+ cu_loc = location_obj.search(cr, uid, [('location_id', 'child_of', cu_loc)], context=context)
18+ if central_loc:
19+ central_loc = location_obj.search(cr, uid, [('location_id', 'child_of', central_loc)], context=context)
20
21 # Check if the instance is a coordination or a project
22 coordo_id = False
23
24=== modified file 'bin/addons/msf_profile/data/patches.xml'
25--- bin/addons/msf_profile/data/patches.xml 2018-09-21 15:20:25 +0000
26+++ bin/addons/msf_profile/data/patches.xml 2018-10-03 10:08:58 +0000
27@@ -1,6 +1,9 @@
28 <?xml version="1.0" encoding="utf-8" ?>
29 <openerp>
30 <data>
31+ <record id="us_4541_stock_mission_recompute_cu_qty" model="patch.scripts">
32+ <field name="method">us_4541_stock_mission_recompute_cu_qty</field>
33+ </record>
34
35 <!-- UF1A.0 -->
36 <record id="us_4996_bck_beforepatch" model="patch.scripts">
37
38=== modified file 'bin/addons/msf_profile/msf_profile.py'
39--- bin/addons/msf_profile/msf_profile.py 2018-09-21 15:20:25 +0000
40+++ bin/addons/msf_profile/msf_profile.py 2018-10-03 10:08:58 +0000
41@@ -51,12 +51,74 @@
42 'model': lambda *a: 'patch.scripts',
43 }
44
45+<<<<<<< TREE
46 # UF11.0
47 def us_4996_bck_beforepatch(self, cr, uid, *a, **b):
48 if self.pool.get('backup.config'):
49 cr.execute("update backup_config set beforepatching='t'")
50 return True
51
52+=======
53+ def us_4541_stock_mission_recompute_cu_qty(self, cr, uid, *a, **b):
54+ """
55+ recompute cu_qty
56+ """
57+ report_id = self.pool.get('stock.mission.report').search(cr, uid, [('full_view', '=', False)])
58+ if not report_id:
59+ return True
60+ report_id = report_id[0]
61+
62+ cu_loc = self.pool.get('stock.location').search(cr, uid, [
63+ ('usage', '=', 'internal'),
64+ ('location_category', '=', 'consumption_unit'),
65+ ])
66+ if cu_loc:
67+ cu_loc = self.pool.get('stock.location').search(cr, uid, [('location_id', 'child_of', cu_loc)])
68+
69+ ID, PRODUCT_ID, PRODUCT_UOM, PRODUCT_QTY, LOCATION_ID, LOCATION_DEST_ID = 0, 1, 2, 3, 4, 5
70+ cr.execute('''
71+ SELECT id, product_id, product_uom, product_qty, location_id, location_dest_id
72+ FROM stock_move
73+ WHERE state = 'done'
74+ AND id in (SELECT move_id FROM mission_move_rel WHERE mission_id = %s)
75+ ''', (report_id,))
76+ res = cr.fetchall()
77+
78+ # reset cu_qty on report lines:
79+ smrl_to_reset = self.pool.get('stock.mission.report.line').search(cr, uid, [
80+ ('product_id', 'in', [move[PRODUCT_ID] for move in res]),
81+ ('mission_report_id', '=', report_id)
82+ ])
83+ self.pool.get('stock.mission.report.line').write(cr, uid, smrl_to_reset, {'cu_qty': 0.0})
84+
85+ self._logger.warn("Reset cu_qty on %s stock mission report lines" % len(smrl_to_reset))
86+
87+ # recalculation of the cu_qty:
88+ if cu_loc:
89+ for move in res:
90+ product = self.pool.get('product.product').browse(cr, uid, move[PRODUCT_ID], fields_to_fetch=['uom_id'])
91+ smrl_id = self.pool.get('stock.mission.report.line').search(cr, uid, [
92+ ('product_id', '=', move[PRODUCT_ID]),
93+ ('mission_report_id', '=', report_id)
94+ ])
95+ if smrl_id:
96+ smrl = self.pool.get('stock.mission.report.line').browse(cr, uid, smrl_id[0])
97+ qty = self.pool.get('product.uom')._compute_qty(cr, uid, move[PRODUCT_UOM], move[PRODUCT_QTY], product.uom_id.id)
98+ vals = {
99+ 'cu_qty': smrl.cu_qty or 0.00,
100+ }
101+
102+ if move[LOCATION_ID] in cu_loc:
103+ vals['cu_qty'] -= qty
104+ if move[LOCATION_DEST_ID] in cu_loc:
105+ vals['cu_qty'] += qty
106+
107+ self.pool.get('stock.mission.report.line').write(cr, uid, smrl.id, vals)
108+
109+ return True
110+
111+
112+>>>>>>> MERGE-SOURCE
113 # UF10.0
114 def us_3427_update_third_parties_in_gl_selector(self, cr, uid, *a, **b):
115 """

Subscribers

People subscribed via source and target branches

to all changes: