Merge lp:~julie-w/unifield-server/US-5667 into lp:unifield-server

Proposed by jftempo
Status: Merged
Merged at revision: 5310
Proposed branch: lp:~julie-w/unifield-server/US-5667
Merge into: lp:unifield-server
Diff against target: 248 lines (+76/-76)
7 files modified
bin/addons/financing_contract/__openerp__.py (+0/-1)
bin/addons/financing_contract/contract.py (+36/-3)
bin/addons/financing_contract/financing_contract_view.xml (+1/-1)
bin/addons/financing_contract/financing_contract_workflow.xml (+0/-68)
bin/addons/financing_contract/wizard/wizard_financing_contract_warning.py (+2/-3)
bin/addons/msf_profile/data/patches.xml (+5/-0)
bin/addons/msf_profile/msf_profile.py (+32/-0)
To merge this branch: bzr merge lp:~julie-w/unifield-server/US-5667
Reviewer Review Type Date Requested Status
UniField Reviewer Team Pending
Review via email: mp+364808@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/financing_contract/__openerp__.py'
2--- bin/addons/financing_contract/__openerp__.py 2017-10-09 21:06:10 +0000
3+++ bin/addons/financing_contract/__openerp__.py 2019-03-20 14:43:46 +0000
4@@ -31,7 +31,6 @@
5 "update_xml": [
6 'security/ir.model.access.csv',
7 'financing_contract_view.xml',
8- 'financing_contract_workflow.xml',
9 'financing_contract_report.xml',
10 'wizard/wizard_financing_currency_export_view.xml'
11 ],
12
13=== modified file 'bin/addons/financing_contract/contract.py'
14--- bin/addons/financing_contract/contract.py 2018-04-03 10:18:51 +0000
15+++ bin/addons/financing_contract/contract.py 2019-03-20 14:43:46 +0000
16@@ -132,6 +132,19 @@
17 return self._check_grant_amount_proxy(cr, uid, ids,
18 'contract_open', context=context)
19
20+ def contract_reopen_proxy(self, cr, uid, ids, context=None):
21+ """
22+ Sets the contract state from Soft-Closed BACK to Open (no check needed)
23+ """
24+ if context is None:
25+ context = {}
26+ if isinstance(ids, (long, int)):
27+ ids = [ids]
28+ for contract in self.read(cr, uid, ids, ['state'], context=context):
29+ if contract.get('state', '') == 'soft_closed':
30+ self.write(cr, uid, contract['id'], {'state': 'open'}, context=context)
31+ return True
32+
33 def contract_open(self, cr, uid, ids, *args):
34 self.write(cr, uid, ids, {
35 'state': 'open',
36@@ -628,6 +641,8 @@
37 def write(self, cr, uid, ids, vals, context=None):
38 if not ids:
39 return True
40+ if isinstance(ids, (int, long)):
41+ ids = [ids]
42 if context is None:
43 context = {}
44
45@@ -716,6 +731,26 @@
46
47 return res
48
49+ def change_contract_state(self, cr, uid, ids, signal, context=None):
50+ """
51+ Changes the contract state:
52+ - from Draft to Open (signal contract_open)
53+ - from Open to Soft-closed (signal contract_soft_closed)
54+ - from Soft-closed to Hard-closed (signal contract_hard_closed)
55+ """
56+ if context is None:
57+ context = {}
58+ if isinstance(ids, (long, int)):
59+ ids = [ids]
60+ for contract in self.read(cr, uid, ids, ['state'], context=context):
61+ state = contract.get('state', '')
62+ if state == 'draft' and signal == 'contract_open':
63+ self.contract_open(cr, uid, contract['id'])
64+ elif state == 'open' and signal == 'contract_soft_closed':
65+ self.contract_soft_closed(cr, uid, contract['id'])
66+ elif state == 'soft_closed' and signal == 'contract_hard_closed':
67+ self.contract_hard_closed(cr, uid, contract['id'])
68+
69 def _check_grant_amount_proxy(self, cr, uid, ids, signal, context=None):
70 if isinstance(ids, (long, int)):
71 ids = [ids]
72@@ -723,9 +758,7 @@
73 context=context)
74 if check_action:
75 return check_action
76- wf_service = netsvc.LocalService("workflow")
77- for id in ids:
78- wf_service.trg_validate(uid, self._name, id, signal, cr)
79+ self.change_contract_state(cr, uid, ids, signal, context=context)
80 return True
81
82 def _check_grant_amount(self, cr, uid, ids, signal, context=None):
83
84=== modified file 'bin/addons/financing_contract/financing_contract_view.xml'
85--- bin/addons/financing_contract/financing_contract_view.xml 2017-06-13 15:20:13 +0000
86+++ bin/addons/financing_contract/financing_contract_view.xml 2019-03-20 14:43:46 +0000
87@@ -134,7 +134,7 @@
88 </group>
89 <button name="contract_open_proxy" states="draft" string="Open" type="object" icon="gtk-go-forward"/>
90 <button name="contract_soft_closed_proxy" states="open" string="Soft-close" type="object" icon="gtk-go-forward"/>
91- <button name="contract_reopen" states="soft_closed" string="Re-Open" type="workflow" icon="gtk-go-forward"/>
92+ <button name="contract_reopen_proxy" states="soft_closed" string="Re-Open" type="object" icon="gtk-go-forward"/>
93 <button name="contract_hard_closed_proxy" states="soft_closed" string="Hard-close" type="object" icon="gtk-ok"/>
94 </form>
95 </field>
96
97=== removed file 'bin/addons/financing_contract/financing_contract_workflow.xml'
98--- bin/addons/financing_contract/financing_contract_workflow.xml 2018-09-28 15:47:23 +0000
99+++ bin/addons/financing_contract/financing_contract_workflow.xml 1970-01-01 00:00:00 +0000
100@@ -1,68 +0,0 @@
101-<?xml version="1.0" encoding="utf-8"?>
102-<openerp>
103- <data>
104-
105- <record id="wkf" model="workflow">
106- <field name="name">wkf.financing.contract</field>
107- <field name="osv">financing.contract.contract</field>
108- <field name="on_create">True</field>
109- </record>
110-
111- <record id="act_draft" model="workflow.activity">
112- <field name="wkf_id" ref="wkf"/>
113- <field name="flow_start">True</field>
114- <field name="name">draft</field>
115- </record>
116-
117- <record id="act_open" model="workflow.activity">
118- <field name="wkf_id" ref="wkf"/>
119- <field name="name">open</field>
120- <field name="action">contract_open()</field>
121- <field name="kind">function</field>
122- </record>
123-
124- <record id="act_soft_closed" model="workflow.activity">
125- <field name="wkf_id" ref="wkf"/>
126- <field name="name">soft_closed</field>
127- <field name="action">contract_soft_closed()</field>
128- <field name="kind">function</field>
129- </record>
130-
131- <record id="act_hard_closed" model="workflow.activity">
132- <field name="wkf_id" ref="wkf"/>
133- <field name="name">hard_closed</field>
134- <field name="flow_stop">True</field>
135- <field name="action">contract_hard_closed()</field>
136- <field name="kind">function</field>
137- </record>
138-
139- <record id="t1" model="workflow.transition">
140- <field name="act_from" ref="act_draft"/>
141- <field name="act_to" ref="act_open"/>
142- <field name="sequence" eval="10" />
143- <field name="signal">contract_open</field>
144- </record>
145-
146- <record id="t2" model="workflow.transition">
147- <field name="act_from" ref="act_open"/>
148- <field name="act_to" ref="act_soft_closed"/>
149- <field name="sequence" eval="10" />
150- <field name="signal">contract_soft_closed</field>
151- </record>
152-
153- <record id="t3" model="workflow.transition">
154- <field name="act_from" ref="act_soft_closed"/>
155- <field name="act_to" ref="act_hard_closed"/>
156- <field name="sequence" eval="10" />
157- <field name="signal">contract_hard_closed</field>
158- </record>
159-
160- <record id="t4" model="workflow.transition">
161- <field name="act_from" ref="act_soft_closed"/>
162- <field name="act_to" ref="act_open"/>
163- <field name="sequence" eval="20" />
164- <field name="signal">contract_reopen</field>
165- </record>
166-
167- </data>
168-</openerp>
169
170=== modified file 'bin/addons/financing_contract/wizard/wizard_financing_contract_warning.py'
171--- bin/addons/financing_contract/wizard/wizard_financing_contract_warning.py 2015-02-03 13:29:39 +0000
172+++ bin/addons/financing_contract/wizard/wizard_financing_contract_warning.py 2019-03-20 14:43:46 +0000
173@@ -42,14 +42,13 @@
174 }
175
176 def btn_close(self, cr, uid, ids, context=None):
177+ contract_obj = self.pool.get('financing.contract.contract')
178 signal = context.get('financing_contract_warning', {}).get(
179 'signal', False)
180 res_id = context.get('financing_contract_warning', {}).get(
181 'res_id', False)
182 if signal and res_id:
183- wf_service = netsvc.LocalService("workflow")
184- wf_service.trg_validate(uid, 'financing.contract.contract', res_id,
185- signal, cr)
186+ contract_obj.change_contract_state(cr, uid, res_id, signal, context=context)
187 return {
188 'type': 'ir.actions.act_window_close', 'context': context,
189 }
190
191=== modified file 'bin/addons/msf_profile/data/patches.xml'
192--- bin/addons/msf_profile/data/patches.xml 2019-02-21 16:12:25 +0000
193+++ bin/addons/msf_profile/data/patches.xml 2019-03-20 14:43:46 +0000
194@@ -1,6 +1,11 @@
195 <?xml version="1.0" encoding="utf-8" ?>
196 <openerp>
197 <data>
198+ <!-- UF13.0 -->
199+ <record id="us_5667_remove_contract_workflow" model="patch.scripts">
200+ <field name="method">us_5667_remove_contract_workflow</field>
201+ </record>
202+
203 <!-- UF12.0 -->
204 <record id="us_5724_set_previous_fy_dates_allowed" model="patch.scripts">
205 <field name="method">us_5724_set_previous_fy_dates_allowed</field>
206
207=== modified file 'bin/addons/msf_profile/msf_profile.py'
208--- bin/addons/msf_profile/msf_profile.py 2019-02-21 16:12:25 +0000
209+++ bin/addons/msf_profile/msf_profile.py 2019-03-20 14:43:46 +0000
210@@ -52,6 +52,38 @@
211 'model': lambda *a: 'patch.scripts',
212 }
213
214+ # UF13.0
215+ def us_5667_remove_contract_workflow(self, cr, uid, *a, **b):
216+ """
217+ Deletes the workflow related to Financing Contracts (not used anymore)
218+ """
219+ delete_wkf_transition = """
220+ DELETE FROM wkf_transition
221+ WHERE signal IN ('contract_open', 'contract_soft_closed', 'contract_hard_closed', 'contract_reopen')
222+ AND act_from IN
223+ (SELECT id FROM wkf_activity WHERE wkf_id =
224+ (SELECT id FROM wkf WHERE name='wkf.financing.contract' AND osv='financing.contract.contract')
225+ );
226+ """
227+ delete_wkf_workitem = """
228+ DELETE FROM wkf_workitem WHERE act_id IN
229+ (SELECT id FROM wkf_activity WHERE wkf_id =
230+ (SELECT id FROM wkf WHERE name='wkf.financing.contract' AND osv='financing.contract.contract')
231+ );
232+ """
233+ delete_wkf_activity = """
234+ DELETE FROM wkf_activity
235+ WHERE wkf_id = (SELECT id FROM wkf WHERE name='wkf.financing.contract' AND osv='financing.contract.contract');
236+ """
237+ delete_wkf = """
238+ DELETE FROM wkf WHERE name='wkf.financing.contract' AND osv='financing.contract.contract';
239+ """
240+ cr.execute(delete_wkf_transition)
241+ cr.execute(delete_wkf_workitem)
242+ cr.execute(delete_wkf_activity)
243+ cr.execute(delete_wkf) # will also delete data in wkf_instance because of the ONDELETE 'cascade'
244+ return True
245+
246 # UF12.0
247 def us_5724_set_previous_fy_dates_allowed(self, cr, uid, *a, **b):
248 """

Subscribers

People subscribed via source and target branches