@waron97/prbot 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dotenv +85908 -0
- package/example.xml +3903 -0
- package/index.js +247 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-23 09:21:16.xml +3122 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-23 09:25:03.xml +3122 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-23 09:28:23.xml +3122 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-23 09:31:30.xml +3122 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-26 22:53:31.xml +3170 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-29 09:38:23.xml +3170 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-23 09:21:17.xml +4160 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-23 09:25:05.xml +4160 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-23 09:28:25.xml +4160 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-23 09:31:31.xml +4160 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-26 22:53:34.xml +4208 -0
- package/out/xml_data_for_ML - RISOLUZIONE CONTRATTUALE_2026-01-29 09:38:25.xml +4208 -0
- package/out/xml_data_for_ML - Taglio Colonna Gas per Morosit/303/240 - Relazioni mancanti: Fasi - Workflow e Fasi - Esiti Consentiti_2026-01-26 22:57:38.xml" +2358 -0
- package/out/xml_data_for_ML - Taglio Colonna Gas per Morosit/303/240_2026-01-26 22:57:40.xml" +3667 -0
- package/package.json +31 -0
|
@@ -0,0 +1,3667 @@
|
|
|
1
|
+
<odoo>
|
|
2
|
+
<data>
|
|
3
|
+
<record id="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi" model="symple.triplet.phase">
|
|
4
|
+
<field name="active">True</field>
|
|
5
|
+
<field name="child_case">False</field>
|
|
6
|
+
<field name="code">def main():
|
|
7
|
+
service_point = case_id.service_point_ids[0]
|
|
8
|
+
billing_profile = service_point.billing_profile_id
|
|
9
|
+
asset = service_point.asset(active=False)
|
|
10
|
+
|
|
11
|
+
if not asset:
|
|
12
|
+
asset_id = False
|
|
13
|
+
else:
|
|
14
|
+
asset_id = asset._id
|
|
15
|
+
|
|
16
|
+
(result, incompatible_case_ids) = ( # "OK" | "KO" | "PARTIAL_KO" # List[int]
|
|
17
|
+
case_id.check_compatibility_matrix(
|
|
18
|
+
asset_id=asset_id,
|
|
19
|
+
client_id=case_id.customer_id.user_sequence,
|
|
20
|
+
billing_id=billing_profile.name,
|
|
21
|
+
# external_id -> default a case.ticket_type_id.univocal_code
|
|
22
|
+
)
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
if incompatible_case_ids:
|
|
26
|
+
case_id.write({"incompatible_ticket_ids": incompatible_case_ids})
|
|
27
|
+
|
|
28
|
+
if result in ["OK", "PARTIAL_KO"]:
|
|
29
|
+
case_id.create_matrix_process(
|
|
30
|
+
asset_id=asset_id,
|
|
31
|
+
client_id=case_id.customer_id.user_sequence,
|
|
32
|
+
billing_id=billing_profile.name,
|
|
33
|
+
# external_id -> default a case.ticket_type_id.univocal_code
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
return result
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
try:
|
|
40
|
+
result = main()
|
|
41
|
+
except Exception as e:
|
|
42
|
+
log(format_exc())
|
|
43
|
+
case_id.write({"error_message": str(e)})</field>
|
|
44
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
45
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
46
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
47
|
+
<field name="is_compute_refund">False</field>
|
|
48
|
+
<field name="is_dl">False</field>
|
|
49
|
+
<field name="is_needs_child_case">False</field>
|
|
50
|
+
<field name="is_pick_refund_template">False</field>
|
|
51
|
+
<field name="is_process_managed">False</field>
|
|
52
|
+
<field name="is_quote_accepted">False</field>
|
|
53
|
+
<field name="is_quote_sent">False</field>
|
|
54
|
+
<field name="is_timeout">False</field>
|
|
55
|
+
<field name="is_voidable">False</field>
|
|
56
|
+
<field name="name">A1938 - Verifica Compatibilità Processi</field>
|
|
57
|
+
<field name="set_result_automatically">from_code</field>
|
|
58
|
+
</record>
|
|
59
|
+
<record id="symple_triplet_phase_A1937_-_Verifica_Case_Incompatibile" model="symple.triplet.phase">
|
|
60
|
+
<field name="active">True</field>
|
|
61
|
+
<field name="child_case">False</field>
|
|
62
|
+
<field name="code"># Available variables:
|
|
63
|
+
# - case_id: the case that just reached this phase
|
|
64
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
65
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
66
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
67
|
+
# - env: Odoo Environment on which the action is triggered
|
|
68
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
69
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
70
|
+
# - ValidationError: Warning Exception to use with raise
|
|
71
|
+
# - Command: x2Many commands namespace
|
|
72
|
+
# - OrderedDict: ordered dictionaries
|
|
73
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
74
|
+
# (line = case id, func = phase name)
|
|
75
|
+
# To return a result, assign: result = {...}
|
|
76
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
77
|
+
# phase result will not be set.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
</field>
|
|
82
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
83
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
84
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
85
|
+
<field name="is_compute_refund">False</field>
|
|
86
|
+
<field name="is_dl">False</field>
|
|
87
|
+
<field name="is_needs_child_case">False</field>
|
|
88
|
+
<field name="is_pick_refund_template">False</field>
|
|
89
|
+
<field name="is_process_managed">False</field>
|
|
90
|
+
<field name="is_quote_accepted">False</field>
|
|
91
|
+
<field name="is_quote_sent">False</field>
|
|
92
|
+
<field name="is_timeout">False</field>
|
|
93
|
+
<field name="is_voidable">False</field>
|
|
94
|
+
<field name="name">A1937 - Verifica Case Incompatibile</field>
|
|
95
|
+
</record>
|
|
96
|
+
<record id="symple_triplet_phase_result_C2638_-_Incompatibilit__Bloccante_E-ML-GM08-3-0001" model="symple.triplet.phase.result">
|
|
97
|
+
<field name="active">True</field>
|
|
98
|
+
<field name="has_message">False</field>
|
|
99
|
+
<field name="is_annulment">False</field>
|
|
100
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
101
|
+
<field name="is_hidden">False</field>
|
|
102
|
+
<field name="is_quote_expired">False</field>
|
|
103
|
+
<field name="name">C2638 - Incompatibilità Bloccante</field>
|
|
104
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1937_-_Verifica_Case_Incompatibile"/>
|
|
105
|
+
<field name="state_code">E-ML-GM08-3-0001</field>
|
|
106
|
+
<field name="wizard_result">KO</field>
|
|
107
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi')])]"/>
|
|
108
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
109
|
+
</record>
|
|
110
|
+
<record id="symple_triplet_phase_result_C2647_-_OK_-_Incompatibilit__Risolta_E-ML-GM08-3-0005" model="symple.triplet.phase.result">
|
|
111
|
+
<field name="active">True</field>
|
|
112
|
+
<field name="has_message">False</field>
|
|
113
|
+
<field name="is_annulment">False</field>
|
|
114
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
115
|
+
<field name="is_hidden">False</field>
|
|
116
|
+
<field name="is_quote_expired">False</field>
|
|
117
|
+
<field name="name">C2647 - OK - Incompatibilità Risolta</field>
|
|
118
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
119
|
+
<field name="state_code">E-ML-GM08-3-0005</field>
|
|
120
|
+
<field name="wizard_result">SUCCESS</field>
|
|
121
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1937_-_Verifica_Case_Incompatibile')])]"/>
|
|
122
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
123
|
+
</record>
|
|
124
|
+
<record id="symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_" model="symple.triplet.phase">
|
|
125
|
+
<field name="active">True</field>
|
|
126
|
+
<field name="child_case">False</field>
|
|
127
|
+
<field name="code"># Available variables:
|
|
128
|
+
# - case_id: the case that just reached this phase
|
|
129
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
130
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
131
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
132
|
+
# - env: Odoo Environment on which the action is triggered
|
|
133
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
134
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
135
|
+
# - ValidationError: Warning Exception to use with raise
|
|
136
|
+
# - Command: x2Many commands namespace
|
|
137
|
+
# - OrderedDict: ordered dictionaries
|
|
138
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
139
|
+
# (line = case id, func = phase name)
|
|
140
|
+
# To return a result, assign: result = {...}
|
|
141
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
142
|
+
# phase result will not be set.
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
</field>
|
|
147
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
148
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
149
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
150
|
+
<field name="is_compute_refund">False</field>
|
|
151
|
+
<field name="is_dl">False</field>
|
|
152
|
+
<field name="is_needs_child_case">False</field>
|
|
153
|
+
<field name="is_pick_refund_template">False</field>
|
|
154
|
+
<field name="is_process_managed">False</field>
|
|
155
|
+
<field name="is_quote_accepted">False</field>
|
|
156
|
+
<field name="is_quote_sent">False</field>
|
|
157
|
+
<field name="is_timeout">False</field>
|
|
158
|
+
<field name="is_voidable">False</field>
|
|
159
|
+
<field name="name">A1311 - Invio Lettera (Extra sistema)</field>
|
|
160
|
+
</record>
|
|
161
|
+
<record id="symple_triplet_phase_result_C2639_-_Incompatibilit__Non_bloccante_E-ML-GM08-3-0002" model="symple.triplet.phase.result">
|
|
162
|
+
<field name="active">True</field>
|
|
163
|
+
<field name="has_message">False</field>
|
|
164
|
+
<field name="is_annulment">False</field>
|
|
165
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
166
|
+
<field name="is_hidden">False</field>
|
|
167
|
+
<field name="is_quote_expired">False</field>
|
|
168
|
+
<field name="name">C2639 - Incompatibilità Non bloccante</field>
|
|
169
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_"/>
|
|
170
|
+
<field name="state_code">E-ML-GM08-3-0002</field>
|
|
171
|
+
<field name="wizard_result">PARTIAL_KO</field>
|
|
172
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi')])]"/>
|
|
173
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Partial KO')])" />
|
|
174
|
+
</record>
|
|
175
|
+
<record id="symple_triplet_phase_result_C2654_-_Processo_Compatibile_E-ML-GM08-3-0003" model="symple.triplet.phase.result">
|
|
176
|
+
<field name="active">True</field>
|
|
177
|
+
<field name="has_message">False</field>
|
|
178
|
+
<field name="is_annulment">False</field>
|
|
179
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
180
|
+
<field name="is_hidden">False</field>
|
|
181
|
+
<field name="is_quote_expired">False</field>
|
|
182
|
+
<field name="name">C2654 - Processo Compatibile</field>
|
|
183
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_"/>
|
|
184
|
+
<field name="state_code">E-ML-GM08-3-0003</field>
|
|
185
|
+
<field name="wizard_result">SUCCESS</field>
|
|
186
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi')])]"/>
|
|
187
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
188
|
+
</record>
|
|
189
|
+
<record id="symple_triplet_phase_A1310_-_In_attesa_11_giorni_lavorativi" model="symple.triplet.phase">
|
|
190
|
+
<field name="active">True</field>
|
|
191
|
+
<field name="child_case">False</field>
|
|
192
|
+
<field name="code"># Available variables:
|
|
193
|
+
# - case_id: the case that just reached this phase
|
|
194
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
195
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
196
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
197
|
+
# - env: Odoo Environment on which the action is triggered
|
|
198
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
199
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
200
|
+
# - ValidationError: Warning Exception to use with raise
|
|
201
|
+
# - Command: x2Many commands namespace
|
|
202
|
+
# - OrderedDict: ordered dictionaries
|
|
203
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
204
|
+
# (line = case id, func = phase name)
|
|
205
|
+
# To return a result, assign: result = {...}
|
|
206
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
207
|
+
# phase result will not be set.
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
</field>
|
|
212
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
213
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
214
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
215
|
+
<field name="is_compute_refund">False</field>
|
|
216
|
+
<field name="is_dl">False</field>
|
|
217
|
+
<field name="is_needs_child_case">False</field>
|
|
218
|
+
<field name="is_pick_refund_template">False</field>
|
|
219
|
+
<field name="is_process_managed">False</field>
|
|
220
|
+
<field name="is_quote_accepted">False</field>
|
|
221
|
+
<field name="is_quote_sent">False</field>
|
|
222
|
+
<field name="is_timeout">False</field>
|
|
223
|
+
<field name="is_voidable">False</field>
|
|
224
|
+
<field name="name">A1310 - In attesa 11 giorni lavorativi</field>
|
|
225
|
+
</record>
|
|
226
|
+
<record id="symple_triplet_phase_result_C1884_-_OK_-_Lettera_inviata_E-ML-GM08-3-0008" model="symple.triplet.phase.result">
|
|
227
|
+
<field name="active">True</field>
|
|
228
|
+
<field name="has_message">False</field>
|
|
229
|
+
<field name="is_annulment">False</field>
|
|
230
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
231
|
+
<field name="is_hidden">False</field>
|
|
232
|
+
<field name="is_quote_expired">False</field>
|
|
233
|
+
<field name="name">C1884 - OK - Lettera inviata</field>
|
|
234
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1310_-_In_attesa_11_giorni_lavorativi"/>
|
|
235
|
+
<field name="state_code">E-ML-GM08-3-0008</field>
|
|
236
|
+
<field name="wizard_result">SUCCESS</field>
|
|
237
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_')])]"/>
|
|
238
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
239
|
+
</record>
|
|
240
|
+
<record id="symple_triplet_phase_A1559_-_Invio_alla_Market_Communication" model="symple.triplet.phase">
|
|
241
|
+
<field name="active">True</field>
|
|
242
|
+
<field name="child_case">False</field>
|
|
243
|
+
<field name="code">try:
|
|
244
|
+
# get headers
|
|
245
|
+
tenant_id = env["ir.config_parameter"].sudo().get_param("m2c_header_tenant_id")
|
|
246
|
+
org_token = env["ir.config_parameter"].sudo().get_param("m2c_header_org_token")
|
|
247
|
+
headers = {"tenantId": tenant_id, "orgToken": org_token}
|
|
248
|
+
|
|
249
|
+
customer = case_id.customer_id
|
|
250
|
+
|
|
251
|
+
# fake data to be modified
|
|
252
|
+
ifs_dict = {
|
|
253
|
+
"ifs_code": "SMG2",
|
|
254
|
+
"case_id": str(case_id.id),
|
|
255
|
+
"ifs_data_message": {
|
|
256
|
+
"COD_SERVIZIO": "SMG2",
|
|
257
|
+
"COD_FLUSSO": "0050",
|
|
258
|
+
"OWNER": "SORGE",
|
|
259
|
+
"PIVA_DISTRIBUTORE": case_id.service_point_ids[
|
|
260
|
+
0
|
|
261
|
+
].pdr_id.distributor_id.numbers_only_vat,
|
|
262
|
+
"PRIORITA": "",
|
|
263
|
+
"SERV_UI": "NO",
|
|
264
|
+
"CF_CF": customer.fiscal_code if customer.is_individual_client else "",
|
|
265
|
+
"CF_PIVA": customer.numbers_only_vat if customer.is_company else "",
|
|
266
|
+
"COD_PDR": case_id.service_point_ids[0].pdr_id.code,
|
|
267
|
+
"NOTE": "",
|
|
268
|
+
},
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
ifs_json = json_dumps(ifs_dict)
|
|
272
|
+
btw_url = "http://b2w-symphony-rest-service/api/symphony/process-instances/ml_IFS_passthrough"
|
|
273
|
+
response = request("POST", btw_url, headers=headers, data=ifs_json)
|
|
274
|
+
if str(response.status_code) == "200":
|
|
275
|
+
result = "OK"
|
|
276
|
+
else:
|
|
277
|
+
message = str(response.status_code)
|
|
278
|
+
case_id.write(
|
|
279
|
+
{
|
|
280
|
+
"info_message": (
|
|
281
|
+
(case_id.info_message + "\n" + message + str(response.text))
|
|
282
|
+
if case_id.info_message
|
|
283
|
+
else message + str(response.text)
|
|
284
|
+
)
|
|
285
|
+
}
|
|
286
|
+
)
|
|
287
|
+
except Exception as e:
|
|
288
|
+
case_id.write(
|
|
289
|
+
{
|
|
290
|
+
"info_message": (
|
|
291
|
+
(case_id.info_message + "\n" + str(e))
|
|
292
|
+
if case_id.info_message
|
|
293
|
+
else str(e)
|
|
294
|
+
)
|
|
295
|
+
}
|
|
296
|
+
)</field>
|
|
297
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
298
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
299
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
300
|
+
<field name="is_compute_refund">False</field>
|
|
301
|
+
<field name="is_dl">False</field>
|
|
302
|
+
<field name="is_needs_child_case">False</field>
|
|
303
|
+
<field name="is_pick_refund_template">False</field>
|
|
304
|
+
<field name="is_process_managed">False</field>
|
|
305
|
+
<field name="is_quote_accepted">False</field>
|
|
306
|
+
<field name="is_quote_sent">False</field>
|
|
307
|
+
<field name="is_timeout">False</field>
|
|
308
|
+
<field name="is_voidable">False</field>
|
|
309
|
+
<field name="name">A1559 - Invio alla Market Communication</field>
|
|
310
|
+
<field name="set_result_automatically">from_code</field>
|
|
311
|
+
</record>
|
|
312
|
+
<record id="symple_triplet_phase_result_C1887_-_OK_-_Avanzamento_dopo_11_giorni_E-ML-GM08-3-0012" model="symple.triplet.phase.result">
|
|
313
|
+
<field name="active">True</field>
|
|
314
|
+
<field name="has_message">False</field>
|
|
315
|
+
<field name="is_annulment">False</field>
|
|
316
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
317
|
+
<field name="is_hidden">False</field>
|
|
318
|
+
<field name="is_quote_expired">False</field>
|
|
319
|
+
<field name="name">C1887 - OK - Avanzamento dopo 11 giorni</field>
|
|
320
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1559_-_Invio_alla_Market_Communication"/>
|
|
321
|
+
<field name="state_code">E-ML-GM08-3-0012</field>
|
|
322
|
+
<field name="wizard_result">SUCCESS</field>
|
|
323
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1310_-_In_attesa_11_giorni_lavorativi')])]"/>
|
|
324
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
325
|
+
</record>
|
|
326
|
+
<record id="symple_triplet_phase_A1715_-_In_attesa_check_IFS" model="symple.triplet.phase">
|
|
327
|
+
<field name="active">True</field>
|
|
328
|
+
<field name="child_case">False</field>
|
|
329
|
+
<field name="code"># Available variables:
|
|
330
|
+
# - case_id: the case that just reached this phase
|
|
331
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
332
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
333
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
334
|
+
# - env: Odoo Environment on which the action is triggered
|
|
335
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
336
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
337
|
+
# - ValidationError: Warning Exception to use with raise
|
|
338
|
+
# - Command: x2Many commands namespace
|
|
339
|
+
# - OrderedDict: ordered dictionaries
|
|
340
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
341
|
+
# (line = case id, func = phase name)
|
|
342
|
+
# To return a result, assign: result = {...}
|
|
343
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
344
|
+
# phase result will not be set.
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
</field>
|
|
349
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
350
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
351
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
352
|
+
<field name="is_compute_refund">False</field>
|
|
353
|
+
<field name="is_dl">False</field>
|
|
354
|
+
<field name="is_needs_child_case">False</field>
|
|
355
|
+
<field name="is_pick_refund_template">False</field>
|
|
356
|
+
<field name="is_process_managed">False</field>
|
|
357
|
+
<field name="is_quote_accepted">False</field>
|
|
358
|
+
<field name="is_quote_sent">False</field>
|
|
359
|
+
<field name="is_timeout">False</field>
|
|
360
|
+
<field name="is_voidable">False</field>
|
|
361
|
+
<field name="name">A1715 - In attesa check IFS</field>
|
|
362
|
+
</record>
|
|
363
|
+
<record id="symple_triplet_phase_result_C2458_-_OK_Inviata_E-ML-GM08-3-0015" model="symple.triplet.phase.result">
|
|
364
|
+
<field name="active">True</field>
|
|
365
|
+
<field name="has_message">False</field>
|
|
366
|
+
<field name="is_annulment">False</field>
|
|
367
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
368
|
+
<field name="is_hidden">False</field>
|
|
369
|
+
<field name="is_quote_expired">False</field>
|
|
370
|
+
<field name="name">C2458 - OK Inviata</field>
|
|
371
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1715_-_In_attesa_check_IFS"/>
|
|
372
|
+
<field name="state_code">E-ML-GM08-3-0015</field>
|
|
373
|
+
<field name="wizard_result">SUCCESS</field>
|
|
374
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1559_-_Invio_alla_Market_Communication')])]"/>
|
|
375
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
376
|
+
</record>
|
|
377
|
+
<record id="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto" model="symple.triplet.phase">
|
|
378
|
+
<field name="active">True</field>
|
|
379
|
+
<field name="child_case">False</field>
|
|
380
|
+
<field name="code"># Available variables:
|
|
381
|
+
# - case_id: the case that just reached this phase
|
|
382
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
383
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
384
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
385
|
+
# - env: Odoo Environment on which the action is triggered
|
|
386
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
387
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
388
|
+
# - ValidationError: Warning Exception to use with raise
|
|
389
|
+
# - Command: x2Many commands namespace
|
|
390
|
+
# - OrderedDict: ordered dictionaries
|
|
391
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
392
|
+
# (line = case id, func = phase name)
|
|
393
|
+
# To return a result, assign: result = {...}
|
|
394
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
395
|
+
# phase result will not be set.
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
</field>
|
|
400
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
401
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
402
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
403
|
+
<field name="is_compute_refund">False</field>
|
|
404
|
+
<field name="is_dl">False</field>
|
|
405
|
+
<field name="is_needs_child_case">False</field>
|
|
406
|
+
<field name="is_pick_refund_template">False</field>
|
|
407
|
+
<field name="is_process_managed">False</field>
|
|
408
|
+
<field name="is_quote_accepted">False</field>
|
|
409
|
+
<field name="is_quote_sent">False</field>
|
|
410
|
+
<field name="is_timeout">False</field>
|
|
411
|
+
<field name="is_voidable">False</field>
|
|
412
|
+
<field name="name">A1717 - Gestione scarti da cruscotto</field>
|
|
413
|
+
</record>
|
|
414
|
+
<record id="symple_triplet_phase_result_C2225_-_KO_-_Ammissibilit__Hub_E-ML-GM08-3-0018" model="symple.triplet.phase.result">
|
|
415
|
+
<field name="active">True</field>
|
|
416
|
+
<field name="has_message">False</field>
|
|
417
|
+
<field name="is_annulment">False</field>
|
|
418
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
419
|
+
<field name="is_hidden">True</field>
|
|
420
|
+
<field name="is_quote_expired">False</field>
|
|
421
|
+
<field name="name">C2225 - KO - Ammissibilità Hub</field>
|
|
422
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto"/>
|
|
423
|
+
<field name="state_code">E-ML-GM08-3-0018</field>
|
|
424
|
+
<field name="wizard_result">KO-HUB</field>
|
|
425
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1715_-_In_attesa_check_IFS')])]"/>
|
|
426
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-HUB')])" />
|
|
427
|
+
</record>
|
|
428
|
+
<record id="symple_triplet_phase_result_C2416_-_Risottomessa_da_cruscotto_E-ML-GM08-3-0020" model="symple.triplet.phase.result">
|
|
429
|
+
<field name="active">True</field>
|
|
430
|
+
<field name="has_message">False</field>
|
|
431
|
+
<field name="is_annulment">False</field>
|
|
432
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
433
|
+
<field name="is_hidden">False</field>
|
|
434
|
+
<field name="is_quote_expired">False</field>
|
|
435
|
+
<field name="name">C2416 - Risottomessa da cruscotto</field>
|
|
436
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1715_-_In_attesa_check_IFS"/>
|
|
437
|
+
<field name="state_code">E-ML-GM08-3-0020</field>
|
|
438
|
+
<field name="wizard_result">RESUBMIT</field>
|
|
439
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto')])]"/>
|
|
440
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Resubmit')])" />
|
|
441
|
+
</record>
|
|
442
|
+
<record id="symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL" model="symple.triplet.phase">
|
|
443
|
+
<field name="active">True</field>
|
|
444
|
+
<field name="child_case">False</field>
|
|
445
|
+
<field name="code"># Available variables:
|
|
446
|
+
# - case_id: the case that just reached this phase
|
|
447
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
448
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
449
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
450
|
+
# - env: Odoo Environment on which the action is triggered
|
|
451
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
452
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
453
|
+
# - ValidationError: Warning Exception to use with raise
|
|
454
|
+
# - Command: x2Many commands namespace
|
|
455
|
+
# - OrderedDict: ordered dictionaries
|
|
456
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
457
|
+
# (line = case id, func = phase name)
|
|
458
|
+
# To return a result, assign: result = {...}
|
|
459
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
460
|
+
# phase result will not be set.
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
</field>
|
|
465
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
466
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
467
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
468
|
+
<field name="is_compute_refund">False</field>
|
|
469
|
+
<field name="is_dl">False</field>
|
|
470
|
+
<field name="is_needs_child_case">False</field>
|
|
471
|
+
<field name="is_pick_refund_template">False</field>
|
|
472
|
+
<field name="is_process_managed">False</field>
|
|
473
|
+
<field name="is_quote_accepted">False</field>
|
|
474
|
+
<field name="is_quote_sent">False</field>
|
|
475
|
+
<field name="is_timeout">False</field>
|
|
476
|
+
<field name="is_voidable">False</field>
|
|
477
|
+
<field name="name">A0823 - Inserimento richiesta sul Portale del DL</field>
|
|
478
|
+
</record>
|
|
479
|
+
<record id="symple_triplet_phase_result_C2224_-_OK_-_Ammissibilit__Hub_E-ML-GM08-3-0017" model="symple.triplet.phase.result">
|
|
480
|
+
<field name="active">True</field>
|
|
481
|
+
<field name="has_message">False</field>
|
|
482
|
+
<field name="is_annulment">False</field>
|
|
483
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
484
|
+
<field name="is_hidden">True</field>
|
|
485
|
+
<field name="is_quote_expired">False</field>
|
|
486
|
+
<field name="name">C2224 - OK - Ammissibilità Hub</field>
|
|
487
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL"/>
|
|
488
|
+
<field name="state_code">E-ML-GM08-3-0017</field>
|
|
489
|
+
<field name="wizard_result">OK-HUB</field>
|
|
490
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1715_-_In_attesa_check_IFS')])]"/>
|
|
491
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-HUB')])" />
|
|
492
|
+
</record>
|
|
493
|
+
<record id="symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione" model="symple.triplet.phase">
|
|
494
|
+
<field name="active">True</field>
|
|
495
|
+
<field name="child_case">False</field>
|
|
496
|
+
<field name="code"># Available variables:
|
|
497
|
+
# - case_id: the case that just reached this phase
|
|
498
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
499
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
500
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
501
|
+
# - env: Odoo Environment on which the action is triggered
|
|
502
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
503
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
504
|
+
# - ValidationError: Warning Exception to use with raise
|
|
505
|
+
# - Command: x2Many commands namespace
|
|
506
|
+
# - OrderedDict: ordered dictionaries
|
|
507
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
508
|
+
# (line = case id, func = phase name)
|
|
509
|
+
# To return a result, assign: result = {...}
|
|
510
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
511
|
+
# phase result will not be set.
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
</field>
|
|
516
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
517
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
518
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
519
|
+
<field name="is_compute_refund">False</field>
|
|
520
|
+
<field name="is_dl">False</field>
|
|
521
|
+
<field name="is_needs_child_case">False</field>
|
|
522
|
+
<field name="is_pick_refund_template">False</field>
|
|
523
|
+
<field name="is_process_managed">False</field>
|
|
524
|
+
<field name="is_quote_accepted">False</field>
|
|
525
|
+
<field name="is_quote_sent">False</field>
|
|
526
|
+
<field name="is_timeout">False</field>
|
|
527
|
+
<field name="is_voidable">False</field>
|
|
528
|
+
<field name="name">A1880 - Verifica Tipologia di Comunicazione</field>
|
|
529
|
+
</record>
|
|
530
|
+
<record id="symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_" model="symple.triplet.phase">
|
|
531
|
+
<field name="active">True</field>
|
|
532
|
+
<field name="child_case">False</field>
|
|
533
|
+
<field name="code"># Available variables:
|
|
534
|
+
# - case_id: the case that just reached this phase
|
|
535
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
536
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
537
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
538
|
+
# - env: Odoo Environment on which the action is triggered
|
|
539
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
540
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
541
|
+
# - ValidationError: Warning Exception to use with raise
|
|
542
|
+
# - Command: x2Many commands namespace
|
|
543
|
+
# - OrderedDict: ordered dictionaries
|
|
544
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
545
|
+
# (line = case id, func = phase name)
|
|
546
|
+
# To return a result, assign: result = {...}
|
|
547
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
548
|
+
# phase result will not be set.
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
</field>
|
|
553
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
554
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
555
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
556
|
+
<field name="is_compute_refund">False</field>
|
|
557
|
+
<field name="is_dl">False</field>
|
|
558
|
+
<field name="is_needs_child_case">False</field>
|
|
559
|
+
<field name="is_pick_refund_template">False</field>
|
|
560
|
+
<field name="is_process_managed">False</field>
|
|
561
|
+
<field name="is_quote_accepted">False</field>
|
|
562
|
+
<field name="is_quote_sent">False</field>
|
|
563
|
+
<field name="is_timeout">False</field>
|
|
564
|
+
<field name="is_voidable">False</field>
|
|
565
|
+
<field name="name">A0816 - In attesa esito ammissibilità</field>
|
|
566
|
+
</record>
|
|
567
|
+
<record id="symple_triplet_phase_result_C3117_-_OK_pratica_inserita_E-ML-GM08-3-0023" model="symple.triplet.phase.result">
|
|
568
|
+
<field name="active">True</field>
|
|
569
|
+
<field name="has_message">False</field>
|
|
570
|
+
<field name="is_annulment">False</field>
|
|
571
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
572
|
+
<field name="is_hidden">True</field>
|
|
573
|
+
<field name="is_quote_expired">False</field>
|
|
574
|
+
<field name="name">C3117 - OK pratica inserita</field>
|
|
575
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_"/>
|
|
576
|
+
<field name="state_code">E-ML-GM08-3-0023</field>
|
|
577
|
+
<field name="wizard_result">SUCCESS</field>
|
|
578
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL')])]"/>
|
|
579
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
580
|
+
</record>
|
|
581
|
+
<record id="symple_triplet_phase_result_C3119_-_gestione_manuale_E-ML-GM08-3-0024" model="symple.triplet.phase.result">
|
|
582
|
+
<field name="active">True</field>
|
|
583
|
+
<field name="has_message">False</field>
|
|
584
|
+
<field name="is_annulment">False</field>
|
|
585
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
586
|
+
<field name="is_hidden">True</field>
|
|
587
|
+
<field name="is_quote_expired">False</field>
|
|
588
|
+
<field name="name">C3119 - gestione manuale</field>
|
|
589
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_"/>
|
|
590
|
+
<field name="state_code">E-ML-GM08-3-0024</field>
|
|
591
|
+
<field name="wizard_result">KO-0050</field>
|
|
592
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL')])]"/>
|
|
593
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-0050')])" />
|
|
594
|
+
</record>
|
|
595
|
+
<record id="symple_triplet_phase_result_C2602_-_Tipologia_RPA_E-ML-GM08-3-0027" model="symple.triplet.phase.result">
|
|
596
|
+
<field name="active">True</field>
|
|
597
|
+
<field name="has_message">False</field>
|
|
598
|
+
<field name="is_annulment">False</field>
|
|
599
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
600
|
+
<field name="is_hidden">False</field>
|
|
601
|
+
<field name="is_quote_expired">False</field>
|
|
602
|
+
<field name="name">C2602 - Tipologia RPA</field>
|
|
603
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_"/>
|
|
604
|
+
<field name="state_code">E-ML-GM08-3-0027</field>
|
|
605
|
+
<field name="wizard_result">SUCCESS</field>
|
|
606
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione')])]"/>
|
|
607
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
608
|
+
</record>
|
|
609
|
+
<record id="symple_triplet_phase_result_C1038_-_Ammissibilit__KO_E-ML-GM08-3-0031" model="symple.triplet.phase.result">
|
|
610
|
+
<field name="active">True</field>
|
|
611
|
+
<field name="has_message">False</field>
|
|
612
|
+
<field name="is_annulment">False</field>
|
|
613
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
614
|
+
<field name="is_hidden">False</field>
|
|
615
|
+
<field name="is_quote_expired">False</field>
|
|
616
|
+
<field name="name">C1038 - Ammissibilità KO</field>
|
|
617
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto"/>
|
|
618
|
+
<field name="state_code">E-ML-GM08-3-0031</field>
|
|
619
|
+
<field name="wizard_result">KO-100</field>
|
|
620
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_')])]"/>
|
|
621
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-100')])" />
|
|
622
|
+
</record>
|
|
623
|
+
<record id="symple_triplet_phase_A1761_-_Verifica_Inserimento_richiesta_su_Portale_DL" model="symple.triplet.phase">
|
|
624
|
+
<field name="active">True</field>
|
|
625
|
+
<field name="child_case">False</field>
|
|
626
|
+
<field name="code"># Available variables:
|
|
627
|
+
# - case_id: the case that just reached this phase
|
|
628
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
629
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
630
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
631
|
+
# - env: Odoo Environment on which the action is triggered
|
|
632
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
633
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
634
|
+
# - ValidationError: Warning Exception to use with raise
|
|
635
|
+
# - Command: x2Many commands namespace
|
|
636
|
+
# - OrderedDict: ordered dictionaries
|
|
637
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
638
|
+
# (line = case id, func = phase name)
|
|
639
|
+
# To return a result, assign: result = {...}
|
|
640
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
641
|
+
# phase result will not be set.
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
</field>
|
|
646
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
647
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
648
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
649
|
+
<field name="is_compute_refund">False</field>
|
|
650
|
+
<field name="is_dl">False</field>
|
|
651
|
+
<field name="is_needs_child_case">False</field>
|
|
652
|
+
<field name="is_pick_refund_template">False</field>
|
|
653
|
+
<field name="is_process_managed">False</field>
|
|
654
|
+
<field name="is_quote_accepted">False</field>
|
|
655
|
+
<field name="is_quote_sent">False</field>
|
|
656
|
+
<field name="is_timeout">False</field>
|
|
657
|
+
<field name="is_voidable">False</field>
|
|
658
|
+
<field name="name">A1761 - Verifica Inserimento richiesta su Portale DL</field>
|
|
659
|
+
</record>
|
|
660
|
+
<record id="symple_triplet_phase_result_C1035_-_Inserita_richiesta_sul_portale_del_DL_E-ML-GM08-3-0034" model="symple.triplet.phase.result">
|
|
661
|
+
<field name="active">True</field>
|
|
662
|
+
<field name="has_message">False</field>
|
|
663
|
+
<field name="is_annulment">False</field>
|
|
664
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
665
|
+
<field name="is_hidden">False</field>
|
|
666
|
+
<field name="is_quote_expired">False</field>
|
|
667
|
+
<field name="name">C1035 - Inserita richiesta sul portale del DL</field>
|
|
668
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione"/>
|
|
669
|
+
<field name="state_code">E-ML-GM08-3-0034</field>
|
|
670
|
+
<field name="wizard_result">SUCCESS</field>
|
|
671
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1761_-_Verifica_Inserimento_richiesta_su_Portale_DL')])]"/>
|
|
672
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
673
|
+
</record>
|
|
674
|
+
<record id="symple_triplet_phase_result_C2463_-_Gestito_Fuori_linea_E-ML-GM08-3-0035" model="symple.triplet.phase.result">
|
|
675
|
+
<field name="active">True</field>
|
|
676
|
+
<field name="has_message">False</field>
|
|
677
|
+
<field name="is_annulment">False</field>
|
|
678
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
679
|
+
<field name="is_hidden">False</field>
|
|
680
|
+
<field name="is_quote_expired">False</field>
|
|
681
|
+
<field name="name">C2463 - Gestito Fuori linea</field>
|
|
682
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione"/>
|
|
683
|
+
<field name="state_code">E-ML-GM08-3-0035</field>
|
|
684
|
+
<field name="wizard_result">SUCCESS</field>
|
|
685
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1761_-_Verifica_Inserimento_richiesta_su_Portale_DL')])]"/>
|
|
686
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
687
|
+
</record>
|
|
688
|
+
<record id="symple_triplet_phase_A0825_-_In_attesa_Esito_finale" model="symple.triplet.phase">
|
|
689
|
+
<field name="active">True</field>
|
|
690
|
+
<field name="child_case">False</field>
|
|
691
|
+
<field name="code"># Available variables:
|
|
692
|
+
# - case_id: the case that just reached this phase
|
|
693
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
694
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
695
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
696
|
+
# - env: Odoo Environment on which the action is triggered
|
|
697
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
698
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
699
|
+
# - ValidationError: Warning Exception to use with raise
|
|
700
|
+
# - Command: x2Many commands namespace
|
|
701
|
+
# - OrderedDict: ordered dictionaries
|
|
702
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
703
|
+
# (line = case id, func = phase name)
|
|
704
|
+
# To return a result, assign: result = {...}
|
|
705
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
706
|
+
# phase result will not be set.
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
</field>
|
|
711
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
712
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
713
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
714
|
+
<field name="is_compute_refund">False</field>
|
|
715
|
+
<field name="is_dl">False</field>
|
|
716
|
+
<field name="is_needs_child_case">False</field>
|
|
717
|
+
<field name="is_pick_refund_template">False</field>
|
|
718
|
+
<field name="is_process_managed">False</field>
|
|
719
|
+
<field name="is_quote_accepted">False</field>
|
|
720
|
+
<field name="is_quote_sent">False</field>
|
|
721
|
+
<field name="is_timeout">False</field>
|
|
722
|
+
<field name="is_voidable">True</field>
|
|
723
|
+
<field name="name">A0825 - In attesa Esito finale</field>
|
|
724
|
+
</record>
|
|
725
|
+
<record id="symple_triplet_phase_result_C2603_-_Tipologia_PEC_E-ML-GM08-3-0028" model="symple.triplet.phase.result">
|
|
726
|
+
<field name="active">True</field>
|
|
727
|
+
<field name="has_message">False</field>
|
|
728
|
+
<field name="is_annulment">False</field>
|
|
729
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
730
|
+
<field name="is_hidden">False</field>
|
|
731
|
+
<field name="is_quote_expired">False</field>
|
|
732
|
+
<field name="name">C2603 - Tipologia PEC</field>
|
|
733
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0825_-_In_attesa_Esito_finale"/>
|
|
734
|
+
<field name="state_code">E-ML-GM08-3-0028</field>
|
|
735
|
+
<field name="wizard_result">SUCCESS</field>
|
|
736
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione')])]"/>
|
|
737
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
738
|
+
</record>
|
|
739
|
+
<record id="symple_triplet_phase_result_C1037_-_Ammissibilit__OK_E-ML-GM08-3-0030" model="symple.triplet.phase.result">
|
|
740
|
+
<field name="active">True</field>
|
|
741
|
+
<field name="has_message">False</field>
|
|
742
|
+
<field name="is_annulment">False</field>
|
|
743
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
744
|
+
<field name="is_hidden">False</field>
|
|
745
|
+
<field name="is_quote_expired">False</field>
|
|
746
|
+
<field name="name">C1037 - Ammissibilità OK</field>
|
|
747
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0825_-_In_attesa_Esito_finale"/>
|
|
748
|
+
<field name="state_code">E-ML-GM08-3-0030</field>
|
|
749
|
+
<field name="wizard_result">OK-100</field>
|
|
750
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_')])]"/>
|
|
751
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-100')])" />
|
|
752
|
+
</record>
|
|
753
|
+
<record id="symple_triplet_phase_result_C1043_-_Esito_finale_KO_E-ML-GM08-3-0038" model="symple.triplet.phase.result">
|
|
754
|
+
<field name="active">True</field>
|
|
755
|
+
<field name="has_message">False</field>
|
|
756
|
+
<field name="is_annulment">False</field>
|
|
757
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
758
|
+
<field name="is_hidden">True</field>
|
|
759
|
+
<field name="is_quote_expired">False</field>
|
|
760
|
+
<field name="name">C1043 - Esito finale KO</field>
|
|
761
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto"/>
|
|
762
|
+
<field name="state_code">E-ML-GM08-3-0038</field>
|
|
763
|
+
<field name="wizard_result">KO-150</field>
|
|
764
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0825_-_In_attesa_Esito_finale')])]"/>
|
|
765
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-150')])" />
|
|
766
|
+
</record>
|
|
767
|
+
<record id="symple_triplet_phase_result_C2655_-_Richiesta_Gestione_Sollecito_E-ML-GM08-3-0039" model="symple.triplet.phase.result">
|
|
768
|
+
<field name="active">True</field>
|
|
769
|
+
<field name="has_message">False</field>
|
|
770
|
+
<field name="is_annulment">False</field>
|
|
771
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
772
|
+
<field name="is_hidden">False</field>
|
|
773
|
+
<field name="is_quote_expired">False</field>
|
|
774
|
+
<field name="name">C2655 - Richiesta Gestione Sollecito</field>
|
|
775
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0825_-_In_attesa_Esito_finale"/>
|
|
776
|
+
<field name="state_code">E-ML-GM08-3-0039</field>
|
|
777
|
+
<field name="wizard_result">Manuale</field>
|
|
778
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0825_-_In_attesa_Esito_finale')])]"/>
|
|
779
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Manuale')])" />
|
|
780
|
+
</record>
|
|
781
|
+
<record id="symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
782
|
+
<field name="active">True</field>
|
|
783
|
+
<field name="child_case">False</field>
|
|
784
|
+
<field name="code"># Available variables:
|
|
785
|
+
# - case_id: the case that just reached this phase
|
|
786
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
787
|
+
# - json_dumps: allows you to use JSON.dumps to converto object to json
|
|
788
|
+
# - env: Odoo Environment on which the action is triggered
|
|
789
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
790
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
791
|
+
# - ValidationError: Warning Exception to use with raise
|
|
792
|
+
# - Command: x2Many commands namespace
|
|
793
|
+
# - OrderedDict: ordered dictionaries
|
|
794
|
+
# To return a result, assign: result = {...}
|
|
795
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
796
|
+
# phase result will not be set.
|
|
797
|
+
|
|
798
|
+
logs = []
|
|
799
|
+
IrConfigParam = env["ir.config_parameter"]
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
def get_assets(client_id, code):
|
|
803
|
+
token = IrConfigParam.get_b2w_access_token()
|
|
804
|
+
url = IrConfigParam.get_param("b2w_order_management_endpoint") + "assets"
|
|
805
|
+
headers = {"Authorization": "Bearer " + token, "Content-Type": "application/json"}
|
|
806
|
+
|
|
807
|
+
body = json_dumps(
|
|
808
|
+
{
|
|
809
|
+
"filters": [
|
|
810
|
+
{"field": "accountcode", "type": "=", "value": str(client_id)},
|
|
811
|
+
{"field": "type", "type": "=", "value": "product"},
|
|
812
|
+
{"field": "podcode", "type": "=", "value": code},
|
|
813
|
+
],
|
|
814
|
+
"sorters": [{"field": "created_date", "direction": "desc"}],
|
|
815
|
+
"page": 1,
|
|
816
|
+
"size": 999999,
|
|
817
|
+
}
|
|
818
|
+
)
|
|
819
|
+
|
|
820
|
+
response = request("POST", url, headers=headers, data=body)
|
|
821
|
+
|
|
822
|
+
if response.status_code != 200:
|
|
823
|
+
try:
|
|
824
|
+
logs.append({"message": "response json", "data": response.json()})
|
|
825
|
+
except Exception:
|
|
826
|
+
logs.append({"message": "response text", "data": response.text})
|
|
827
|
+
|
|
828
|
+
raise Exception("Non è stato possibile scaricare gli asset")
|
|
829
|
+
|
|
830
|
+
json = response.json()
|
|
831
|
+
return json.get("items", [])
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
def all_disconnected(assets):
|
|
835
|
+
for asset in assets:
|
|
836
|
+
if asset.get("sm_state") != "cessato":
|
|
837
|
+
return False
|
|
838
|
+
return True
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
def disconnectable(assets):
|
|
842
|
+
r = []
|
|
843
|
+
for asset in assets:
|
|
844
|
+
if asset.get("sm_state") == "attivo":
|
|
845
|
+
r.append(asset)
|
|
846
|
+
return r
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
try:
|
|
850
|
+
client_id = case_id.customer_id.id
|
|
851
|
+
if not case_id.pdr_ids:
|
|
852
|
+
raise ValidationError("Non è possibile creare un case di Morosità senza POD")
|
|
853
|
+
|
|
854
|
+
if not case_id.service_point_ids:
|
|
855
|
+
raise ValidationError("Nessun service point trovato per il POD")
|
|
856
|
+
|
|
857
|
+
point = case_id.pod_ids[0] if case_id.pod_ids else case_id.pdr_ids[0]
|
|
858
|
+
|
|
859
|
+
assets = get_assets(client_id, point.code)
|
|
860
|
+
d = disconnectable(assets)
|
|
861
|
+
case_id.sudo().kv_store().set("assets", d)
|
|
862
|
+
|
|
863
|
+
if len(assets) == 0:
|
|
864
|
+
case_id.write(
|
|
865
|
+
{
|
|
866
|
+
"error_message": "The POD {} does not exist in the CRM".format(
|
|
867
|
+
point.code,
|
|
868
|
+
)
|
|
869
|
+
}
|
|
870
|
+
)
|
|
871
|
+
elif all_disconnected(assets):
|
|
872
|
+
raise ValidationError("PDR already disconnected")
|
|
873
|
+
else:
|
|
874
|
+
if len(d) > 1:
|
|
875
|
+
raise ValidationError("More than one POD instance active in the CRM")
|
|
876
|
+
else:
|
|
877
|
+
result = "OK"
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
except Exception as inst:
|
|
881
|
+
case_id.write({"error_message": str(inst)})
|
|
882
|
+
logs.append(
|
|
883
|
+
{
|
|
884
|
+
"message": "Exception occurred",
|
|
885
|
+
"data": {"exception": str(inst), "traceback": format_exc()},
|
|
886
|
+
}
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
if logs:
|
|
890
|
+
log(json_dumps(logs, indent=2))</field>
|
|
891
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
892
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
893
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
894
|
+
<field name="is_compute_refund">False</field>
|
|
895
|
+
<field name="is_dl">False</field>
|
|
896
|
+
<field name="is_needs_child_case">False</field>
|
|
897
|
+
<field name="is_pick_refund_template">False</field>
|
|
898
|
+
<field name="is_process_managed">False</field>
|
|
899
|
+
<field name="is_quote_accepted">False</field>
|
|
900
|
+
<field name="is_quote_sent">False</field>
|
|
901
|
+
<field name="is_timeout">False</field>
|
|
902
|
+
<field name="is_voidable">False</field>
|
|
903
|
+
<field name="name">A1312 - Controlli CRM per Taglio Colonna</field>
|
|
904
|
+
<field name="set_result_automatically">from_code</field>
|
|
905
|
+
</record>
|
|
906
|
+
<record id="symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
907
|
+
<field name="active">True</field>
|
|
908
|
+
<field name="child_case">False</field>
|
|
909
|
+
<field name="code"># Available variables:
|
|
910
|
+
# - case_id: the case that just reached this phase
|
|
911
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
912
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
913
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
914
|
+
# - env: Odoo Environment on which the action is triggered
|
|
915
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
916
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
917
|
+
# - ValidationError: Warning Exception to use with raise
|
|
918
|
+
# - Command: x2Many commands namespace
|
|
919
|
+
# - OrderedDict: ordered dictionaries
|
|
920
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
921
|
+
# (line = case id, func = phase name)
|
|
922
|
+
# To return a result, assign: result = {...}
|
|
923
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
924
|
+
# phase result will not be set.
|
|
925
|
+
|
|
926
|
+
logs = []
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
def log_and_parse_response(response, log_message):
|
|
930
|
+
try:
|
|
931
|
+
json_data = response.json()
|
|
932
|
+
logs.append({"message": log_message, "data": json_data})
|
|
933
|
+
return json_data
|
|
934
|
+
except Exception:
|
|
935
|
+
logs.append({"message": log_message, "response_text": response.text})
|
|
936
|
+
return response.text
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
def get_asset(code):
|
|
940
|
+
assets = env["ir.config_parameter"].get_assets(
|
|
941
|
+
asset_id=None,
|
|
942
|
+
additional_params={"prcode": code, "assetstatus": "Active", "rootvid": "null"},
|
|
943
|
+
)
|
|
944
|
+
|
|
945
|
+
return assets[0]
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
def create_order_disconnect(asset_id, token):
|
|
949
|
+
url = "http://b2w-cpq-order-management-service/v1/order"
|
|
950
|
+
headers = {
|
|
951
|
+
"X-Auth-Request-Access-Token": "" + token,
|
|
952
|
+
"Content-Type": "application/json",
|
|
953
|
+
"generatesession": "true",
|
|
954
|
+
}
|
|
955
|
+
body = {
|
|
956
|
+
"obj_type": "Order",
|
|
957
|
+
"crm_accountcode": case_id.customer_id.user_sequence,
|
|
958
|
+
"accountcode": str(case_id.customer_id.id),
|
|
959
|
+
"type": "Disconnect",
|
|
960
|
+
"subtype": case_id.ticket_type_id.name,
|
|
961
|
+
"industry": "BSP Utility",
|
|
962
|
+
"commodity": "power" if case_id.service_point_ids[0].pod_id else "gas",
|
|
963
|
+
"order_date": datetime.datetime.now().strftime("%Y-%m-%d"),
|
|
964
|
+
"contract": True,
|
|
965
|
+
"singlecontract": True,
|
|
966
|
+
"assets": [asset_id],
|
|
967
|
+
"options": {
|
|
968
|
+
"userLanguage": "en-US",
|
|
969
|
+
"remotePagination": True,
|
|
970
|
+
"itemsForPage": 10,
|
|
971
|
+
"cartItemsForPage": 10,
|
|
972
|
+
},
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
logs.append(
|
|
976
|
+
{"message": "Creating order", "data": {"body": body, "headers": headers}}
|
|
977
|
+
)
|
|
978
|
+
|
|
979
|
+
response = request("POST", url, headers=headers, data=json_dumps(body))
|
|
980
|
+
json = log_and_parse_response(
|
|
981
|
+
response,
|
|
982
|
+
"Order creation response",
|
|
983
|
+
)
|
|
984
|
+
|
|
985
|
+
if response.status_code != 200:
|
|
986
|
+
raise ValidationError("Failed to create order")
|
|
987
|
+
|
|
988
|
+
return json
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
def bind_catalog(config_id, catalog_id, token):
|
|
992
|
+
logs.append(
|
|
993
|
+
{
|
|
994
|
+
"message": "Binding catalog and order",
|
|
995
|
+
"data": {
|
|
996
|
+
"config_id": config_id,
|
|
997
|
+
"catalog_id": catalog_id,
|
|
998
|
+
},
|
|
999
|
+
}
|
|
1000
|
+
)
|
|
1001
|
+
|
|
1002
|
+
headers = {
|
|
1003
|
+
"X-Auth-Request-Access-Token": "" + token,
|
|
1004
|
+
"Content-Type": "application/json",
|
|
1005
|
+
"generatesession": "true",
|
|
1006
|
+
}
|
|
1007
|
+
url = "http://b2w-cpq-catalog-navigator-node-service/v1/configurations/{}/catalogs/{}".format(
|
|
1008
|
+
config_id, catalog_id
|
|
1009
|
+
)
|
|
1010
|
+
|
|
1011
|
+
response = request("GET", url, headers=headers)
|
|
1012
|
+
json = log_and_parse_response(
|
|
1013
|
+
response,
|
|
1014
|
+
"Catalog binding response",
|
|
1015
|
+
)
|
|
1016
|
+
|
|
1017
|
+
if response.status_code != 200:
|
|
1018
|
+
raise ValidationError("Failed to set catalog id on order")
|
|
1019
|
+
|
|
1020
|
+
return json
|
|
1021
|
+
|
|
1022
|
+
|
|
1023
|
+
def checkout(config_id, token):
|
|
1024
|
+
logs.append(
|
|
1025
|
+
{
|
|
1026
|
+
"message": "Binding catalog and order",
|
|
1027
|
+
"data": {
|
|
1028
|
+
"config_id": config_id,
|
|
1029
|
+
},
|
|
1030
|
+
}
|
|
1031
|
+
)
|
|
1032
|
+
|
|
1033
|
+
headers = {
|
|
1034
|
+
"X-Auth-Request-Access-Token": "" + token,
|
|
1035
|
+
"Content-Type": "application/json",
|
|
1036
|
+
"generatesession": "true",
|
|
1037
|
+
}
|
|
1038
|
+
url = "http://b2w-cpq-order-management-service/v1/order/{}".format(config_id)
|
|
1039
|
+
|
|
1040
|
+
response = request("POST", url, headers=headers, data="{}")
|
|
1041
|
+
json = log_and_parse_response(
|
|
1042
|
+
response,
|
|
1043
|
+
"Checkout response",
|
|
1044
|
+
)
|
|
1045
|
+
|
|
1046
|
+
if response.status_code != 200:
|
|
1047
|
+
raise ValidationError("Failed to checkout")
|
|
1048
|
+
|
|
1049
|
+
return json
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
try:
|
|
1053
|
+
StagingArea = env["symple.pb.process.data"]
|
|
1054
|
+
IrConfigParam = env["ir.config_parameter"].sudo()
|
|
1055
|
+
token = IrConfigParam.get_b2w_access_token()
|
|
1056
|
+
|
|
1057
|
+
code = case_id.service_point_ids[0].code
|
|
1058
|
+
asset = get_asset(code)
|
|
1059
|
+
catalog_id = asset["catalogid"]
|
|
1060
|
+
logs.append({"message": "Asset loaded", "data": asset})
|
|
1061
|
+
order = create_order_disconnect(asset["_id"], token)
|
|
1062
|
+
order_id = order["_id"]
|
|
1063
|
+
config_id = order["conf_id"]
|
|
1064
|
+
logs.append({"message": "Order created", "data": order})
|
|
1065
|
+
bind_catalog(config_id, catalog_id, token)
|
|
1066
|
+
checkout(config_id, token)
|
|
1067
|
+
|
|
1068
|
+
IrConfigParam.update_b2w_statemodel(
|
|
1069
|
+
"in_cessazione", asset_id=asset["_id"], sm_reason=case_id.ticket_type_id.name
|
|
1070
|
+
)
|
|
1071
|
+
case_id.service_point_ids.sudo().write({"state": "deactivating"})
|
|
1072
|
+
|
|
1073
|
+
case_id.kv_store().set_many(
|
|
1074
|
+
{
|
|
1075
|
+
"config_id": config_id,
|
|
1076
|
+
"order_id": order_id,
|
|
1077
|
+
"asset_id": asset["_id"],
|
|
1078
|
+
"catalog_id": catalog_id,
|
|
1079
|
+
}
|
|
1080
|
+
)
|
|
1081
|
+
|
|
1082
|
+
result = "OK"
|
|
1083
|
+
|
|
1084
|
+
except Exception as e:
|
|
1085
|
+
logs.append({"message": str(e), "traceback": format_exc()})
|
|
1086
|
+
case_id.write({"error_message": str(e)})
|
|
1087
|
+
|
|
1088
|
+
|
|
1089
|
+
if logs:
|
|
1090
|
+
log(json_dumps(logs))</field>
|
|
1091
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1092
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1093
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1094
|
+
<field name="is_compute_refund">False</field>
|
|
1095
|
+
<field name="is_dl">False</field>
|
|
1096
|
+
<field name="is_needs_child_case">False</field>
|
|
1097
|
+
<field name="is_pick_refund_template">False</field>
|
|
1098
|
+
<field name="is_process_managed">False</field>
|
|
1099
|
+
<field name="is_quote_accepted">False</field>
|
|
1100
|
+
<field name="is_quote_sent">False</field>
|
|
1101
|
+
<field name="is_timeout">False</field>
|
|
1102
|
+
<field name="is_voidable">False</field>
|
|
1103
|
+
<field name="name">A1316 - CRM - Creazione Ordine per Taglio Colonna</field>
|
|
1104
|
+
<field name="set_result_automatically">from_code</field>
|
|
1105
|
+
</record>
|
|
1106
|
+
<record id="symple_triplet_phase_result_C1613_-_Controlli_CRM_OK_E-ML-GM08-3-0042" model="symple.triplet.phase.result">
|
|
1107
|
+
<field name="active">True</field>
|
|
1108
|
+
<field name="has_message">False</field>
|
|
1109
|
+
<field name="is_annulment">False</field>
|
|
1110
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1111
|
+
<field name="is_hidden">False</field>
|
|
1112
|
+
<field name="is_quote_expired">False</field>
|
|
1113
|
+
<field name="name">C1613 - Controlli CRM OK</field>
|
|
1114
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna"/>
|
|
1115
|
+
<field name="state_code">E-ML-GM08-3-0042</field>
|
|
1116
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1117
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna')])]"/>
|
|
1118
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1119
|
+
</record>
|
|
1120
|
+
<record id="symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1121
|
+
<field name="active">True</field>
|
|
1122
|
+
<field name="child_case">False</field>
|
|
1123
|
+
<field name="code"># Available variables:
|
|
1124
|
+
# - case_id: the case that just reached this phase
|
|
1125
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1126
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1127
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1128
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1129
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1130
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1131
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1132
|
+
# - Command: x2Many commands namespace
|
|
1133
|
+
# - OrderedDict: ordered dictionaries
|
|
1134
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1135
|
+
# (line = case id, func = phase name)
|
|
1136
|
+
# To return a result, assign: result = {...}
|
|
1137
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1138
|
+
# phase result will not be set.
|
|
1139
|
+
|
|
1140
|
+
logs = []
|
|
1141
|
+
|
|
1142
|
+
try:
|
|
1143
|
+
logs.append({"message": "Starting M2C integration"})
|
|
1144
|
+
tenant_id = env["ir.config_parameter"].sudo().get_param("m2c_header_tenant_id")
|
|
1145
|
+
org_token = env["ir.config_parameter"].sudo().get_param("m2c_header_org_token")
|
|
1146
|
+
headers = {"tenantId": tenant_id, "orgToken": org_token}
|
|
1147
|
+
|
|
1148
|
+
StagingArea = env["symple.pb.process.data"]
|
|
1149
|
+
wizard_data_record = StagingArea.search(
|
|
1150
|
+
[("res_id", "=", case_id.id), ("process_name", "=", "ml_taglio_colonna")],
|
|
1151
|
+
limit=1,
|
|
1152
|
+
order="create_date DESC",
|
|
1153
|
+
)
|
|
1154
|
+
wizard_payload = wizard_data_record.get_payload()
|
|
1155
|
+
|
|
1156
|
+
end_date = wizard_data_record.get("end_date")
|
|
1157
|
+
|
|
1158
|
+
m2c_payload_debug = {
|
|
1159
|
+
"case_id": case_id.id,
|
|
1160
|
+
"tripet": case_id.ticket_type_id.name,
|
|
1161
|
+
"is_contratti_mandato": True,
|
|
1162
|
+
"service_points": [case_id.service_point_ids[0].id],
|
|
1163
|
+
"causale_cessazione": case_id.ticket_type_id.name,
|
|
1164
|
+
"fine_contratto": str(end_date),
|
|
1165
|
+
"is_contratti": True,
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
logs.append(
|
|
1169
|
+
{
|
|
1170
|
+
"message": "Calling prepare_m2c_passthrough_payload",
|
|
1171
|
+
"data": m2c_payload_debug,
|
|
1172
|
+
}
|
|
1173
|
+
)
|
|
1174
|
+
|
|
1175
|
+
IrConfigParameter = env["ir.config_parameter"]
|
|
1176
|
+
m2c_dict = IrConfigParameter.prepare_m2c_passthrough_payload(
|
|
1177
|
+
case_id,
|
|
1178
|
+
case_id.ticket_type_id.name,
|
|
1179
|
+
is_contratti_mandato=True,
|
|
1180
|
+
service_points=[case_id.service_point_ids[0].id],
|
|
1181
|
+
is_contratti=True,
|
|
1182
|
+
contatti_array=[],
|
|
1183
|
+
contrattiMandatoDettaglio_array=[],
|
|
1184
|
+
causale_cessazione=case_id.ticket_type_id.name,
|
|
1185
|
+
fine_contratto=end_date,
|
|
1186
|
+
fine_contratto_fornitura=end_date,
|
|
1187
|
+
)
|
|
1188
|
+
|
|
1189
|
+
logs.append({"message": "M2C dict", "data": m2c_dict})
|
|
1190
|
+
|
|
1191
|
+
m2c_url = IrConfigParameter.sudo().get_param("m2c_passthrough_url")
|
|
1192
|
+
response = request("POST", m2c_url, headers=headers, data=m2c_dict)
|
|
1193
|
+
|
|
1194
|
+
result = "OK"
|
|
1195
|
+
|
|
1196
|
+
except Exception as e:
|
|
1197
|
+
logs.append({"level": "error", "message": str(e), "traceback": format_exc()})
|
|
1198
|
+
prev = case_id.info_message + "\n" if case_id.info_message else ""
|
|
1199
|
+
case_id.write({"info_message": prev + str(e)})
|
|
1200
|
+
|
|
1201
|
+
if logs:
|
|
1202
|
+
log(json_dumps(logs))</field>
|
|
1203
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1204
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1205
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1206
|
+
<field name="is_compute_refund">False</field>
|
|
1207
|
+
<field name="is_dl">False</field>
|
|
1208
|
+
<field name="is_needs_child_case">False</field>
|
|
1209
|
+
<field name="is_pick_refund_template">False</field>
|
|
1210
|
+
<field name="is_process_managed">False</field>
|
|
1211
|
+
<field name="is_quote_accepted">False</field>
|
|
1212
|
+
<field name="is_quote_sent">False</field>
|
|
1213
|
+
<field name="is_timeout">False</field>
|
|
1214
|
+
<field name="is_voidable">False</field>
|
|
1215
|
+
<field name="name">A1313 - Integrazione M2C per Taglio Colonna</field>
|
|
1216
|
+
<field name="set_result_automatically">from_code</field>
|
|
1217
|
+
</record>
|
|
1218
|
+
<record id="symple_triplet_phase_A1314_-_In_Attesa_M2C_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1219
|
+
<field name="active">True</field>
|
|
1220
|
+
<field name="child_case">False</field>
|
|
1221
|
+
<field name="code"># Available variables:
|
|
1222
|
+
# - case_id: the case that just reached this phase
|
|
1223
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1224
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1225
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1226
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1227
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1228
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1229
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1230
|
+
# - Command: x2Many commands namespace
|
|
1231
|
+
# - OrderedDict: ordered dictionaries
|
|
1232
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1233
|
+
# (line = case id, func = phase name)
|
|
1234
|
+
# To return a result, assign: result = {...}
|
|
1235
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1236
|
+
# phase result will not be set.
|
|
1237
|
+
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
</field>
|
|
1241
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1242
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1243
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1244
|
+
<field name="is_compute_refund">False</field>
|
|
1245
|
+
<field name="is_dl">False</field>
|
|
1246
|
+
<field name="is_needs_child_case">False</field>
|
|
1247
|
+
<field name="is_pick_refund_template">False</field>
|
|
1248
|
+
<field name="is_process_managed">False</field>
|
|
1249
|
+
<field name="is_quote_accepted">False</field>
|
|
1250
|
+
<field name="is_quote_sent">False</field>
|
|
1251
|
+
<field name="is_timeout">False</field>
|
|
1252
|
+
<field name="is_voidable">False</field>
|
|
1253
|
+
<field name="name">A1314 - In Attesa M2C per Taglio Colonna</field>
|
|
1254
|
+
</record>
|
|
1255
|
+
<record id="symple_triplet_phase_result_C1888_-_OK_-_Integrazione_M2C_per_Taglio_Colonna_E-ML-GM08-3-0046" model="symple.triplet.phase.result">
|
|
1256
|
+
<field name="active">True</field>
|
|
1257
|
+
<field name="has_message">False</field>
|
|
1258
|
+
<field name="is_annulment">False</field>
|
|
1259
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1260
|
+
<field name="is_hidden">False</field>
|
|
1261
|
+
<field name="is_quote_expired">False</field>
|
|
1262
|
+
<field name="name">C1888 - OK - Integrazione M2C per Taglio Colonna</field>
|
|
1263
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1314_-_In_Attesa_M2C_per_Taglio_Colonna"/>
|
|
1264
|
+
<field name="state_code">E-ML-GM08-3-0046</field>
|
|
1265
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1266
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna')])]"/>
|
|
1267
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1268
|
+
</record>
|
|
1269
|
+
<record id="symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1270
|
+
<field name="active">True</field>
|
|
1271
|
+
<field name="child_case">False</field>
|
|
1272
|
+
<field name="code"># Available variables:
|
|
1273
|
+
# - case_id: the case that just reached this phase
|
|
1274
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1275
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1276
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1277
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1278
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1279
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1280
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1281
|
+
# - Command: x2Many commands namespace
|
|
1282
|
+
# - OrderedDict: ordered dictionaries
|
|
1283
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1284
|
+
# (line = case id, func = phase name)
|
|
1285
|
+
# To return a result, assign: result = {...}
|
|
1286
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1287
|
+
# phase result will not be set.
|
|
1288
|
+
|
|
1289
|
+
logs = []
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
def log_and_parse_response(response, log_message):
|
|
1293
|
+
try:
|
|
1294
|
+
json_data = response.json()
|
|
1295
|
+
logs.append({"message": log_message, "data": json_data})
|
|
1296
|
+
return json_data
|
|
1297
|
+
except Exception:
|
|
1298
|
+
logs.append({"message": log_message, "response_text": response.text})
|
|
1299
|
+
return response.text
|
|
1300
|
+
|
|
1301
|
+
|
|
1302
|
+
def order2asset(order_id, token):
|
|
1303
|
+
url = "http://b2w-cpq-order-management-service/v1/order/asset/{}".format(order_id)
|
|
1304
|
+
headers = {
|
|
1305
|
+
"X-Auth-Request-Access-Token": "" + token,
|
|
1306
|
+
"Content-Type": "application/json",
|
|
1307
|
+
"generatesession": "true",
|
|
1308
|
+
}
|
|
1309
|
+
|
|
1310
|
+
logs.append(
|
|
1311
|
+
{"message": "Creating Order2Asset", "data": {"url": url, "headers": headers}}
|
|
1312
|
+
)
|
|
1313
|
+
|
|
1314
|
+
response = request("POST", url, headers=headers)
|
|
1315
|
+
json = log_and_parse_response(
|
|
1316
|
+
response,
|
|
1317
|
+
"Order2Asset response",
|
|
1318
|
+
)
|
|
1319
|
+
|
|
1320
|
+
if response.status_code != 200:
|
|
1321
|
+
raise ValidationError("Failed to launch order2asset")
|
|
1322
|
+
|
|
1323
|
+
return json
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
try:
|
|
1327
|
+
IrConfigParam = env["ir.config_parameter"].sudo()
|
|
1328
|
+
token = IrConfigParam.get_b2w_access_token()
|
|
1329
|
+
|
|
1330
|
+
order_id, asset_id = case_id.kv_store().get_many("order_id", "asset_id")
|
|
1331
|
+
|
|
1332
|
+
order2asset(order_id, token)
|
|
1333
|
+
logs.append({"message": "order2asset done"})
|
|
1334
|
+
case_id.service_point_ids.sudo().write({"state": "inactive"})
|
|
1335
|
+
IrConfigParam.update_b2w_statemodel(
|
|
1336
|
+
"cessato", asset_id=asset_id, sm_reason=case_id.ticket_type_id.name
|
|
1337
|
+
)
|
|
1338
|
+
|
|
1339
|
+
case_id.service_point_ids[0].write(
|
|
1340
|
+
{
|
|
1341
|
+
"state": "inactive",
|
|
1342
|
+
"supply_end_date": datetime.date.today().strftime("%Y-%m-%d"),
|
|
1343
|
+
}
|
|
1344
|
+
)
|
|
1345
|
+
|
|
1346
|
+
logs.append({"message": "service point updated"})
|
|
1347
|
+
|
|
1348
|
+
result = "OK"
|
|
1349
|
+
|
|
1350
|
+
except Exception as e:
|
|
1351
|
+
logs.append({"message": str(e), "traceback": format_exc()})
|
|
1352
|
+
case_id.write({"error_message": str(e)})
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
if logs:
|
|
1356
|
+
log(json_dumps(logs))</field>
|
|
1357
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1358
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1359
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1360
|
+
<field name="is_compute_refund">False</field>
|
|
1361
|
+
<field name="is_dl">False</field>
|
|
1362
|
+
<field name="is_needs_child_case">False</field>
|
|
1363
|
+
<field name="is_pick_refund_template">False</field>
|
|
1364
|
+
<field name="is_process_managed">False</field>
|
|
1365
|
+
<field name="is_quote_accepted">False</field>
|
|
1366
|
+
<field name="is_quote_sent">False</field>
|
|
1367
|
+
<field name="is_timeout">False</field>
|
|
1368
|
+
<field name="is_voidable">False</field>
|
|
1369
|
+
<field name="name">A1315 - Aggiornamento CRM per Taglio Colonna</field>
|
|
1370
|
+
<field name="set_result_automatically">from_code</field>
|
|
1371
|
+
</record>
|
|
1372
|
+
<record id="symple_triplet_phase_result_C1891_-_OK_-_Creazione_Ordine_E-ML-GM08-3-0044" model="symple.triplet.phase.result">
|
|
1373
|
+
<field name="active">True</field>
|
|
1374
|
+
<field name="has_message">False</field>
|
|
1375
|
+
<field name="is_annulment">False</field>
|
|
1376
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1377
|
+
<field name="is_hidden">False</field>
|
|
1378
|
+
<field name="is_quote_expired">False</field>
|
|
1379
|
+
<field name="name">C1891 - OK - Creazione Ordine</field>
|
|
1380
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna"/>
|
|
1381
|
+
<field name="state_code">E-ML-GM08-3-0044</field>
|
|
1382
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1383
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna')])]"/>
|
|
1384
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1385
|
+
</record>
|
|
1386
|
+
<record id="symple_triplet_phase_result_C1889_-_OK_-_Aggiornamento_CRM_E-ML-GM08-3-0050" model="symple.triplet.phase.result">
|
|
1387
|
+
<field name="active">True</field>
|
|
1388
|
+
<field name="has_message">False</field>
|
|
1389
|
+
<field name="is_annulment">False</field>
|
|
1390
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1391
|
+
<field name="is_hidden">False</field>
|
|
1392
|
+
<field name="is_quote_expired">False</field>
|
|
1393
|
+
<field name="name">C1889 - OK - Aggiornamento CRM</field>
|
|
1394
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna"/>
|
|
1395
|
+
<field name="state_code">E-ML-GM08-3-0050</field>
|
|
1396
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1397
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna')])]"/>
|
|
1398
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1399
|
+
</record>
|
|
1400
|
+
<record id="symple_triplet_phase_A1379_-_Apertura_Case_Invio_Onere" model="symple.triplet.phase">
|
|
1401
|
+
<field name="active">True</field>
|
|
1402
|
+
<field name="child_case">False</field>
|
|
1403
|
+
<field name="code"># RES1 = C2003 - OK - Case di invio oneri aperto
|
|
1404
|
+
|
|
1405
|
+
OK = "RES1"
|
|
1406
|
+
|
|
1407
|
+
logs = []
|
|
1408
|
+
debug_logs = []
|
|
1409
|
+
error_occurred = False
|
|
1410
|
+
|
|
1411
|
+
|
|
1412
|
+
def make_log(message, data=None, always=False):
|
|
1413
|
+
log_entry = {"message": message}
|
|
1414
|
+
if data is not None:
|
|
1415
|
+
log_entry["data"] = data
|
|
1416
|
+
|
|
1417
|
+
if always:
|
|
1418
|
+
logs.append(log_entry)
|
|
1419
|
+
else:
|
|
1420
|
+
debug_logs.append(log_entry)
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
# --------------------------------------
|
|
1424
|
+
|
|
1425
|
+
|
|
1426
|
+
def main():
|
|
1427
|
+
detail = env["helpdesk.ticket.type"].search([("code", "=", "GM08-4")])
|
|
1428
|
+
env["helpdesk.ticket"].create(
|
|
1429
|
+
{
|
|
1430
|
+
"name": case_id.symple_interaction_id.name,
|
|
1431
|
+
"parent_case_id": case_id.id,
|
|
1432
|
+
"description": case_id.symple_interaction_id.note,
|
|
1433
|
+
"assign_date": datetime.datetime.now(),
|
|
1434
|
+
"triplet_type_id": detail.subtype_id.type_id.id,
|
|
1435
|
+
"triplet_subtype_id": detail.subtype_id.id,
|
|
1436
|
+
"ticket_type_id": detail.id,
|
|
1437
|
+
"symple_interaction_id": case_id.symple_interaction_id.id,
|
|
1438
|
+
"triplet_phase_id": detail.workflow_id.triplet_phase_id.id,
|
|
1439
|
+
"triplet_active_phase_id": detail.workflow_id.triplet_phase_id.id,
|
|
1440
|
+
"pdr_ids": case_id.pdr_ids.ids,
|
|
1441
|
+
"service_point_ids": case_id.service_point_ids.ids,
|
|
1442
|
+
}
|
|
1443
|
+
)
|
|
1444
|
+
|
|
1445
|
+
return OK
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
try:
|
|
1449
|
+
result = main()
|
|
1450
|
+
except Exception as e:
|
|
1451
|
+
error_occurred = True
|
|
1452
|
+
make_log(
|
|
1453
|
+
"Error occurred in phase",
|
|
1454
|
+
{"error": str(e), "traceback": format_exc()},
|
|
1455
|
+
always=True,
|
|
1456
|
+
)
|
|
1457
|
+
case_id.write({"error_message": str(e)})
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
if error_occurred and debug_logs:
|
|
1461
|
+
logs.append({"message": "debug_logs", "logs": debug_logs})
|
|
1462
|
+
|
|
1463
|
+
if logs:
|
|
1464
|
+
log(json_dumps(logs, indent=2))</field>
|
|
1465
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1466
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1467
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1468
|
+
<field name="is_compute_refund">False</field>
|
|
1469
|
+
<field name="is_dl">False</field>
|
|
1470
|
+
<field name="is_needs_child_case">False</field>
|
|
1471
|
+
<field name="is_pick_refund_template">False</field>
|
|
1472
|
+
<field name="is_process_managed">False</field>
|
|
1473
|
+
<field name="is_quote_accepted">False</field>
|
|
1474
|
+
<field name="is_quote_sent">False</field>
|
|
1475
|
+
<field name="is_timeout">False</field>
|
|
1476
|
+
<field name="is_voidable">False</field>
|
|
1477
|
+
<field name="name">A1379 - Apertura Case Invio Onere</field>
|
|
1478
|
+
<field name="set_result_automatically">from_code</field>
|
|
1479
|
+
</record>
|
|
1480
|
+
<record id="symple_triplet_phase_result_C1890_-_OK_-_Esito_M2C_E-ML-GM08-3-0048" model="symple.triplet.phase.result">
|
|
1481
|
+
<field name="active">True</field>
|
|
1482
|
+
<field name="has_message">False</field>
|
|
1483
|
+
<field name="is_annulment">False</field>
|
|
1484
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1485
|
+
<field name="is_hidden">False</field>
|
|
1486
|
+
<field name="is_quote_expired">False</field>
|
|
1487
|
+
<field name="name">C1890 - OK - Esito M2C</field>
|
|
1488
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1379_-_Apertura_Case_Invio_Onere"/>
|
|
1489
|
+
<field name="state_code">E-ML-GM08-3-0048</field>
|
|
1490
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1491
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1314_-_In_Attesa_M2C_per_Taglio_Colonna')])]"/>
|
|
1492
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1493
|
+
</record>
|
|
1494
|
+
<record id="symple_triplet_phase_A1317_-_Errore_in_fase_di_Controlli_CRM_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1495
|
+
<field name="active">True</field>
|
|
1496
|
+
<field name="child_case">False</field>
|
|
1497
|
+
<field name="code"># Available variables:
|
|
1498
|
+
# - case_id: the case that just reached this phase
|
|
1499
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1500
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1501
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1502
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1503
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1504
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1505
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1506
|
+
# - Command: x2Many commands namespace
|
|
1507
|
+
# - OrderedDict: ordered dictionaries
|
|
1508
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1509
|
+
# (line = case id, func = phase name)
|
|
1510
|
+
# To return a result, assign: result = {...}
|
|
1511
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1512
|
+
# phase result will not be set.
|
|
1513
|
+
|
|
1514
|
+
|
|
1515
|
+
|
|
1516
|
+
</field>
|
|
1517
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1518
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1519
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1520
|
+
<field name="is_compute_refund">False</field>
|
|
1521
|
+
<field name="is_dl">False</field>
|
|
1522
|
+
<field name="is_needs_child_case">False</field>
|
|
1523
|
+
<field name="is_pick_refund_template">False</field>
|
|
1524
|
+
<field name="is_process_managed">False</field>
|
|
1525
|
+
<field name="is_quote_accepted">False</field>
|
|
1526
|
+
<field name="is_quote_sent">False</field>
|
|
1527
|
+
<field name="is_timeout">False</field>
|
|
1528
|
+
<field name="is_voidable">False</field>
|
|
1529
|
+
<field name="name">A1317 - Errore in fase di Controlli CRM per Taglio Colonna</field>
|
|
1530
|
+
</record>
|
|
1531
|
+
<record id="symple_triplet_phase_result_C1614_-_Controlli_CRM_KO_E-ML-GM08-3-0043" model="symple.triplet.phase.result">
|
|
1532
|
+
<field name="active">True</field>
|
|
1533
|
+
<field name="has_message">False</field>
|
|
1534
|
+
<field name="is_annulment">False</field>
|
|
1535
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1536
|
+
<field name="is_hidden">False</field>
|
|
1537
|
+
<field name="is_quote_expired">False</field>
|
|
1538
|
+
<field name="name">C1614 - Controlli CRM KO</field>
|
|
1539
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1317_-_Errore_in_fase_di_Controlli_CRM_per_Taglio_Colonna"/>
|
|
1540
|
+
<field name="state_code">E-ML-GM08-3-0043</field>
|
|
1541
|
+
<field name="wizard_result">KO</field>
|
|
1542
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna')])]"/>
|
|
1543
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
1544
|
+
</record>
|
|
1545
|
+
<record id="symple_triplet_phase_result_C1926_-_OK_-_Risolto_Errore_durante_Controlli_CRM_E-ML-GM08-3-0053" model="symple.triplet.phase.result">
|
|
1546
|
+
<field name="active">True</field>
|
|
1547
|
+
<field name="has_message">False</field>
|
|
1548
|
+
<field name="is_annulment">False</field>
|
|
1549
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1550
|
+
<field name="is_hidden">False</field>
|
|
1551
|
+
<field name="is_quote_expired">False</field>
|
|
1552
|
+
<field name="name">C1926 - OK - Risolto Errore durante Controlli CRM</field>
|
|
1553
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna"/>
|
|
1554
|
+
<field name="state_code">E-ML-GM08-3-0053</field>
|
|
1555
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1556
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1317_-_Errore_in_fase_di_Controlli_CRM_per_Taglio_Colonna')])]"/>
|
|
1557
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1558
|
+
</record>
|
|
1559
|
+
<record id="symple_triplet_phase_A1318_-_Errore_in_fase_di_Creazione_Ordine_CRM_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1560
|
+
<field name="active">True</field>
|
|
1561
|
+
<field name="child_case">False</field>
|
|
1562
|
+
<field name="code"># Available variables:
|
|
1563
|
+
# - case_id: the case that just reached this phase
|
|
1564
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1565
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1566
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1567
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1568
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1569
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1570
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1571
|
+
# - Command: x2Many commands namespace
|
|
1572
|
+
# - OrderedDict: ordered dictionaries
|
|
1573
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1574
|
+
# (line = case id, func = phase name)
|
|
1575
|
+
# To return a result, assign: result = {...}
|
|
1576
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1577
|
+
# phase result will not be set.
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
</field>
|
|
1582
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1583
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1584
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1585
|
+
<field name="is_compute_refund">False</field>
|
|
1586
|
+
<field name="is_dl">False</field>
|
|
1587
|
+
<field name="is_needs_child_case">False</field>
|
|
1588
|
+
<field name="is_pick_refund_template">False</field>
|
|
1589
|
+
<field name="is_process_managed">False</field>
|
|
1590
|
+
<field name="is_quote_accepted">False</field>
|
|
1591
|
+
<field name="is_quote_sent">False</field>
|
|
1592
|
+
<field name="is_timeout">False</field>
|
|
1593
|
+
<field name="is_voidable">False</field>
|
|
1594
|
+
<field name="name">A1318 - Errore in fase di Creazione Ordine CRM per Taglio Colonna</field>
|
|
1595
|
+
</record>
|
|
1596
|
+
<record id="symple_triplet_phase_result_C1892_-_KO_-_Creazione_Ordine_CRM_E-ML-GM08-3-0045" model="symple.triplet.phase.result">
|
|
1597
|
+
<field name="active">True</field>
|
|
1598
|
+
<field name="has_message">False</field>
|
|
1599
|
+
<field name="is_annulment">False</field>
|
|
1600
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1601
|
+
<field name="is_hidden">False</field>
|
|
1602
|
+
<field name="is_quote_expired">False</field>
|
|
1603
|
+
<field name="name">C1892 - KO - Creazione Ordine CRM</field>
|
|
1604
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1318_-_Errore_in_fase_di_Creazione_Ordine_CRM_per_Taglio_Colonna"/>
|
|
1605
|
+
<field name="state_code">E-ML-GM08-3-0045</field>
|
|
1606
|
+
<field name="wizard_result">KO</field>
|
|
1607
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna')])]"/>
|
|
1608
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
1609
|
+
</record>
|
|
1610
|
+
<record id="symple_triplet_phase_result_C1894_-_OK_-_Errore_Risolto_Creazione_Ordine_E-ML-GM08-3-0056" model="symple.triplet.phase.result">
|
|
1611
|
+
<field name="active">True</field>
|
|
1612
|
+
<field name="has_message">False</field>
|
|
1613
|
+
<field name="is_annulment">False</field>
|
|
1614
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1615
|
+
<field name="is_hidden">False</field>
|
|
1616
|
+
<field name="is_quote_expired">False</field>
|
|
1617
|
+
<field name="name">C1894 - OK - Errore Risolto Creazione Ordine</field>
|
|
1618
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna"/>
|
|
1619
|
+
<field name="state_code">E-ML-GM08-3-0056</field>
|
|
1620
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1621
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1318_-_Errore_in_fase_di_Creazione_Ordine_CRM_per_Taglio_Colonna')])]"/>
|
|
1622
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1623
|
+
</record>
|
|
1624
|
+
<record id="symple_triplet_phase_A1319_-_Errore_in_fase_di_Integrazione_M2C_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1625
|
+
<field name="active">True</field>
|
|
1626
|
+
<field name="child_case">False</field>
|
|
1627
|
+
<field name="code"># Available variables:
|
|
1628
|
+
# - case_id: the case that just reached this phase
|
|
1629
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1630
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1631
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1632
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1633
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1634
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1635
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1636
|
+
# - Command: x2Many commands namespace
|
|
1637
|
+
# - OrderedDict: ordered dictionaries
|
|
1638
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1639
|
+
# (line = case id, func = phase name)
|
|
1640
|
+
# To return a result, assign: result = {...}
|
|
1641
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1642
|
+
# phase result will not be set.
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
</field>
|
|
1647
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1648
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1649
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1650
|
+
<field name="is_compute_refund">False</field>
|
|
1651
|
+
<field name="is_dl">False</field>
|
|
1652
|
+
<field name="is_needs_child_case">False</field>
|
|
1653
|
+
<field name="is_pick_refund_template">False</field>
|
|
1654
|
+
<field name="is_process_managed">False</field>
|
|
1655
|
+
<field name="is_quote_accepted">False</field>
|
|
1656
|
+
<field name="is_quote_sent">False</field>
|
|
1657
|
+
<field name="is_timeout">False</field>
|
|
1658
|
+
<field name="is_voidable">False</field>
|
|
1659
|
+
<field name="name">A1319 - Errore in fase di Integrazione M2C per Taglio Colonna</field>
|
|
1660
|
+
</record>
|
|
1661
|
+
<record id="symple_triplet_phase_result_C1895_-_KO_-_Errore_Integrazione_M2C_E-ML-GM08-3-0047" model="symple.triplet.phase.result">
|
|
1662
|
+
<field name="active">True</field>
|
|
1663
|
+
<field name="has_message">False</field>
|
|
1664
|
+
<field name="is_annulment">False</field>
|
|
1665
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1666
|
+
<field name="is_hidden">False</field>
|
|
1667
|
+
<field name="is_quote_expired">False</field>
|
|
1668
|
+
<field name="name">C1895 - KO - Errore Integrazione M2C</field>
|
|
1669
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1319_-_Errore_in_fase_di_Integrazione_M2C_per_Taglio_Colonna"/>
|
|
1670
|
+
<field name="state_code">E-ML-GM08-3-0047</field>
|
|
1671
|
+
<field name="wizard_result">KO</field>
|
|
1672
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna')])]"/>
|
|
1673
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
1674
|
+
</record>
|
|
1675
|
+
<record id="symple_triplet_phase_result_C1918_-_OK_-_Errore_Risolto_in_fase_Integrazione_M2C_per_Taglio_Colonna_E-ML-GM08-3-0058" model="symple.triplet.phase.result">
|
|
1676
|
+
<field name="active">True</field>
|
|
1677
|
+
<field name="has_message">False</field>
|
|
1678
|
+
<field name="is_annulment">False</field>
|
|
1679
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1680
|
+
<field name="is_hidden">False</field>
|
|
1681
|
+
<field name="is_quote_expired">False</field>
|
|
1682
|
+
<field name="name">C1918 - OK - Errore Risolto in fase Integrazione M2C per Taglio Colonna</field>
|
|
1683
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna"/>
|
|
1684
|
+
<field name="state_code">E-ML-GM08-3-0058</field>
|
|
1685
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1686
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1319_-_Errore_in_fase_di_Integrazione_M2C_per_Taglio_Colonna')])]"/>
|
|
1687
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1688
|
+
</record>
|
|
1689
|
+
<record id="symple_triplet_phase_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1690
|
+
<field name="active">True</field>
|
|
1691
|
+
<field name="child_case">False</field>
|
|
1692
|
+
<field name="code"># Available variables:
|
|
1693
|
+
# - case_id: the case that just reached this phase
|
|
1694
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1695
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1696
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1697
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1698
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1699
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1700
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1701
|
+
# - Command: x2Many commands namespace
|
|
1702
|
+
# - OrderedDict: ordered dictionaries
|
|
1703
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1704
|
+
# (line = case id, func = phase name)
|
|
1705
|
+
# To return a result, assign: result = {...}
|
|
1706
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1707
|
+
# phase result will not be set.
|
|
1708
|
+
|
|
1709
|
+
logs = []
|
|
1710
|
+
|
|
1711
|
+
try:
|
|
1712
|
+
logs.append({"message": "Starting M2C integration"})
|
|
1713
|
+
tenant_id = env["ir.config_parameter"].sudo().get_param("m2c_header_tenant_id")
|
|
1714
|
+
org_token = env["ir.config_parameter"].sudo().get_param("m2c_header_org_token")
|
|
1715
|
+
headers = {"tenantId": tenant_id, "orgToken": org_token}
|
|
1716
|
+
|
|
1717
|
+
end_date = datetime.date.today().strftime("%Y-%m-%d")
|
|
1718
|
+
|
|
1719
|
+
m2c_payload_debug = {
|
|
1720
|
+
"case_id": case_id.id,
|
|
1721
|
+
"tripet": "SB06 - 1 - Cessazione per Subentro",
|
|
1722
|
+
"is_contratti_mandato": True,
|
|
1723
|
+
"service_points": [case_id.service_point_ids[0].id],
|
|
1724
|
+
"causale_cessazione": case_id.ticket_type_id.name,
|
|
1725
|
+
"fine_contratto_fornitura": str(end_date),
|
|
1726
|
+
"is_contratti": True,
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
logs.append(
|
|
1730
|
+
{
|
|
1731
|
+
"message": "Calling prepare_m2c_passthrough_payload",
|
|
1732
|
+
"data": m2c_payload_debug,
|
|
1733
|
+
}
|
|
1734
|
+
)
|
|
1735
|
+
|
|
1736
|
+
IrConfigParameter = env["ir.config_parameter"]
|
|
1737
|
+
m2c_dict = IrConfigParameter.prepare_m2c_passthrough_payload(
|
|
1738
|
+
case_id,
|
|
1739
|
+
case_id.ticket_type_id.name,
|
|
1740
|
+
is_contratti_mandato=True,
|
|
1741
|
+
service_points=[case_id.service_point_ids[0].id],
|
|
1742
|
+
is_contratti=True,
|
|
1743
|
+
contatti_array=[],
|
|
1744
|
+
contrattiMandatoDettaglio_array=[],
|
|
1745
|
+
causale_cessazione=case_id.ticket_type_id.name,
|
|
1746
|
+
# fine_contratto=end_date,
|
|
1747
|
+
fine_contratto=end_date,
|
|
1748
|
+
)
|
|
1749
|
+
|
|
1750
|
+
logs.append({"message": "M2C dict", "data": m2c_dict})
|
|
1751
|
+
|
|
1752
|
+
m2c_url = IrConfigParameter.sudo().get_param("m2c_passthrough_url")
|
|
1753
|
+
response = request("POST", m2c_url, headers=headers, data=m2c_dict)
|
|
1754
|
+
|
|
1755
|
+
result = "OK"
|
|
1756
|
+
|
|
1757
|
+
except Exception as e:
|
|
1758
|
+
logs.append({"level": "error", "message": str(e), "traceback": format_exc()})
|
|
1759
|
+
prev = case_id.info_message + "\n" if case_id.info_message else ""
|
|
1760
|
+
case_id.write({"info_message": prev + str(e)})
|
|
1761
|
+
|
|
1762
|
+
if logs:
|
|
1763
|
+
log(json_dumps(logs))
|
|
1764
|
+
</field>
|
|
1765
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1766
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1767
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1768
|
+
<field name="is_compute_refund">False</field>
|
|
1769
|
+
<field name="is_dl">False</field>
|
|
1770
|
+
<field name="is_needs_child_case">False</field>
|
|
1771
|
+
<field name="is_pick_refund_template">False</field>
|
|
1772
|
+
<field name="is_process_managed">False</field>
|
|
1773
|
+
<field name="is_quote_accepted">False</field>
|
|
1774
|
+
<field name="is_quote_sent">False</field>
|
|
1775
|
+
<field name="is_timeout">False</field>
|
|
1776
|
+
<field name="is_voidable">False</field>
|
|
1777
|
+
<field name="name">A1320 - Errore in fase Attesa Esito M2C per Taglio Colonna</field>
|
|
1778
|
+
<field name="set_result_automatically">from_code</field>
|
|
1779
|
+
</record>
|
|
1780
|
+
<record id="symple_triplet_phase_result_C1919_-_Errore_in_fase_di_Attesa_Esito_M2C_per_Taglio_Colonna_E-ML-GM08-3-0049" model="symple.triplet.phase.result">
|
|
1781
|
+
<field name="active">True</field>
|
|
1782
|
+
<field name="has_message">False</field>
|
|
1783
|
+
<field name="is_annulment">False</field>
|
|
1784
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1785
|
+
<field name="is_hidden">False</field>
|
|
1786
|
+
<field name="is_quote_expired">False</field>
|
|
1787
|
+
<field name="name">C1919 - Errore in fase di Attesa Esito M2C per Taglio Colonna</field>
|
|
1788
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna"/>
|
|
1789
|
+
<field name="state_code">E-ML-GM08-3-0049</field>
|
|
1790
|
+
<field name="wizard_result">KO</field>
|
|
1791
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1314_-_In_Attesa_M2C_per_Taglio_Colonna')])]"/>
|
|
1792
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
1793
|
+
</record>
|
|
1794
|
+
<record id="symple_triplet_phase_result_C1921_-_OK_-_Risolto_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna_E-ML-GM08-3-0060" model="symple.triplet.phase.result">
|
|
1795
|
+
<field name="active">True</field>
|
|
1796
|
+
<field name="has_message">False</field>
|
|
1797
|
+
<field name="is_annulment">False</field>
|
|
1798
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1799
|
+
<field name="is_hidden">False</field>
|
|
1800
|
+
<field name="is_quote_expired">False</field>
|
|
1801
|
+
<field name="name">C1921 - OK - Risolto Errore in fase Attesa Esito M2C per Taglio Colonna</field>
|
|
1802
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna"/>
|
|
1803
|
+
<field name="state_code">E-ML-GM08-3-0060</field>
|
|
1804
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1805
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna')])]"/>
|
|
1806
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1807
|
+
</record>
|
|
1808
|
+
<record id="symple_triplet_phase_A1321_-_Errore_in_fase_di_Aggiornamento_CRM_per_Taglio_Colonna" model="symple.triplet.phase">
|
|
1809
|
+
<field name="active">True</field>
|
|
1810
|
+
<field name="child_case">False</field>
|
|
1811
|
+
<field name="code"># Available variables:
|
|
1812
|
+
# - case_id: the case that just reached this phase
|
|
1813
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1814
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1815
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1816
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1817
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1818
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1819
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1820
|
+
# - Command: x2Many commands namespace
|
|
1821
|
+
# - OrderedDict: ordered dictionaries
|
|
1822
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1823
|
+
# (line = case id, func = phase name)
|
|
1824
|
+
# To return a result, assign: result = {...}
|
|
1825
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1826
|
+
# phase result will not be set.
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
</field>
|
|
1831
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1832
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1833
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1834
|
+
<field name="is_compute_refund">False</field>
|
|
1835
|
+
<field name="is_dl">False</field>
|
|
1836
|
+
<field name="is_needs_child_case">False</field>
|
|
1837
|
+
<field name="is_pick_refund_template">False</field>
|
|
1838
|
+
<field name="is_process_managed">False</field>
|
|
1839
|
+
<field name="is_quote_accepted">False</field>
|
|
1840
|
+
<field name="is_quote_sent">False</field>
|
|
1841
|
+
<field name="is_timeout">False</field>
|
|
1842
|
+
<field name="is_voidable">False</field>
|
|
1843
|
+
<field name="name">A1321 - Errore in fase di Aggiornamento CRM per Taglio Colonna</field>
|
|
1844
|
+
</record>
|
|
1845
|
+
<record id="symple_triplet_phase_result_C1922_-_Errore_in_fase_Aggiornamento_CRM_per_Taglio_Colonna_E-ML-GM08-3-0051" model="symple.triplet.phase.result">
|
|
1846
|
+
<field name="active">True</field>
|
|
1847
|
+
<field name="has_message">False</field>
|
|
1848
|
+
<field name="is_annulment">False</field>
|
|
1849
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1850
|
+
<field name="is_hidden">False</field>
|
|
1851
|
+
<field name="is_quote_expired">False</field>
|
|
1852
|
+
<field name="name">C1922 - Errore in fase Aggiornamento CRM per Taglio Colonna</field>
|
|
1853
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1321_-_Errore_in_fase_di_Aggiornamento_CRM_per_Taglio_Colonna"/>
|
|
1854
|
+
<field name="state_code">E-ML-GM08-3-0051</field>
|
|
1855
|
+
<field name="wizard_result">KO</field>
|
|
1856
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna')])]"/>
|
|
1857
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
1858
|
+
</record>
|
|
1859
|
+
<record id="symple_triplet_phase_result_C1924_-_OK_-_Risolto_Errore_in_fase_Aggiornamento_CRM_per_Taglio_Colonna_E-ML-GM08-3-0062" model="symple.triplet.phase.result">
|
|
1860
|
+
<field name="active">True</field>
|
|
1861
|
+
<field name="has_message">False</field>
|
|
1862
|
+
<field name="is_annulment">False</field>
|
|
1863
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1864
|
+
<field name="is_hidden">False</field>
|
|
1865
|
+
<field name="is_quote_expired">False</field>
|
|
1866
|
+
<field name="name">C1924 - OK - Risolto Errore in fase Aggiornamento CRM per Taglio Colonna</field>
|
|
1867
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna"/>
|
|
1868
|
+
<field name="state_code">E-ML-GM08-3-0062</field>
|
|
1869
|
+
<field name="wizard_result">SUCCESS</field>
|
|
1870
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1321_-_Errore_in_fase_di_Aggiornamento_CRM_per_Taglio_Colonna')])]"/>
|
|
1871
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
1872
|
+
</record>
|
|
1873
|
+
<record id="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication" model="symple.triplet.phase">
|
|
1874
|
+
<field name="active">True</field>
|
|
1875
|
+
<field name="child_case">False</field>
|
|
1876
|
+
<field name="code"># Available variables:
|
|
1877
|
+
# - case_id: the case that just reached this phase
|
|
1878
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
1879
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
1880
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
1881
|
+
# - env: Odoo Environment on which the action is triggered
|
|
1882
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
1883
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
1884
|
+
# - ValidationError: Warning Exception to use with raise
|
|
1885
|
+
# - Command: x2Many commands namespace
|
|
1886
|
+
# - OrderedDict: ordered dictionaries
|
|
1887
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
1888
|
+
# (line = case id, func = phase name)
|
|
1889
|
+
# To return a result, assign: result = {...}
|
|
1890
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
1891
|
+
# phase result will not be set.
|
|
1892
|
+
|
|
1893
|
+
|
|
1894
|
+
try:
|
|
1895
|
+
tenant_id = env["ir.config_parameter"].sudo().get_param("m2c_header_tenant_id")
|
|
1896
|
+
org_token = env["ir.config_parameter"].sudo().get_param("m2c_header_org_token")
|
|
1897
|
+
headers = {"tenantId": tenant_id, "orgToken": org_token}
|
|
1898
|
+
|
|
1899
|
+
service_point = case_id.service_point_ids[0]
|
|
1900
|
+
pdr_id = service_point.pdr_id
|
|
1901
|
+
|
|
1902
|
+
ok_payload = {
|
|
1903
|
+
"refName": "Annulment",
|
|
1904
|
+
"refId": case_id.symphonie_process,
|
|
1905
|
+
"messageProcessVars": {
|
|
1906
|
+
"ifs_code": "ANG1",
|
|
1907
|
+
"ang1Info":{
|
|
1908
|
+
"PIVA_DISTRIBUTORE": pdr_id.distributor_id.numbers_only_vat,
|
|
1909
|
+
"COD_SERVIZIO_ANN": "SMG2"
|
|
1910
|
+
}
|
|
1911
|
+
},
|
|
1912
|
+
}
|
|
1913
|
+
|
|
1914
|
+
url = env["ir.config_parameter"].sudo().get_param("b2w_wake_up_process_url")
|
|
1915
|
+
payload = json_dumps(ok_payload)
|
|
1916
|
+
try:
|
|
1917
|
+
response = request("POST", url, data=payload, headers=headers)
|
|
1918
|
+
if response.status_code != 200:
|
|
1919
|
+
message = str(response.status_code)
|
|
1920
|
+
case_id.write(
|
|
1921
|
+
{
|
|
1922
|
+
"info_message": (
|
|
1923
|
+
case_id.info_message
|
|
1924
|
+
+ "\n"
|
|
1925
|
+
+ message
|
|
1926
|
+
+ "\n"
|
|
1927
|
+
+ str(response.text)
|
|
1928
|
+
)
|
|
1929
|
+
if case_id.info_message
|
|
1930
|
+
else (message + str(response.text))
|
|
1931
|
+
}
|
|
1932
|
+
)
|
|
1933
|
+
else:
|
|
1934
|
+
result = "OK"
|
|
1935
|
+
|
|
1936
|
+
except Exception as e:
|
|
1937
|
+
message = "Call to annull the process failed"
|
|
1938
|
+
case_id.write(
|
|
1939
|
+
{
|
|
1940
|
+
"info_message": (case_id.info_message + "\n" + message + "\n" + str(e))
|
|
1941
|
+
if case_id.info_message
|
|
1942
|
+
else (message + "\n" + str(e))
|
|
1943
|
+
}
|
|
1944
|
+
)
|
|
1945
|
+
|
|
1946
|
+
except Exception as e:
|
|
1947
|
+
case_id.write(
|
|
1948
|
+
{
|
|
1949
|
+
"info_message": (case_id.info_message + "\n" + str(e))
|
|
1950
|
+
if case_id.info_message
|
|
1951
|
+
else str(e)
|
|
1952
|
+
}
|
|
1953
|
+
)</field>
|
|
1954
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
1955
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
1956
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
1957
|
+
<field name="is_compute_refund">False</field>
|
|
1958
|
+
<field name="is_dl">False</field>
|
|
1959
|
+
<field name="is_needs_child_case">False</field>
|
|
1960
|
+
<field name="is_pick_refund_template">False</field>
|
|
1961
|
+
<field name="is_process_managed">False</field>
|
|
1962
|
+
<field name="is_quote_accepted">False</field>
|
|
1963
|
+
<field name="is_quote_sent">False</field>
|
|
1964
|
+
<field name="is_timeout">False</field>
|
|
1965
|
+
<field name="is_voidable">False</field>
|
|
1966
|
+
<field name="name">A1595 - Invio Annullamento alla Market Communication</field>
|
|
1967
|
+
<field name="set_result_automatically">from_code</field>
|
|
1968
|
+
</record>
|
|
1969
|
+
<record id="symple_triplet_phase_result_C1001_-_Annullamento_E-ML-GM08-3-0025" model="symple.triplet.phase.result">
|
|
1970
|
+
<field name="active">True</field>
|
|
1971
|
+
<field name="has_message">False</field>
|
|
1972
|
+
<field name="is_annulment">False</field>
|
|
1973
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1974
|
+
<field name="is_hidden">False</field>
|
|
1975
|
+
<field name="is_quote_expired">False</field>
|
|
1976
|
+
<field name="name">C1001 - Annullamento</field>
|
|
1977
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication"/>
|
|
1978
|
+
<field name="state_code">E-ML-GM08-3-0025</field>
|
|
1979
|
+
<field name="wizard_result">CANCEL</field>
|
|
1980
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL')])]"/>
|
|
1981
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
1982
|
+
</record>
|
|
1983
|
+
<record id="symple_triplet_phase_result_C1001_-_Annullamento_E-ML-GM08-3-0032" model="symple.triplet.phase.result">
|
|
1984
|
+
<field name="active">True</field>
|
|
1985
|
+
<field name="has_message">False</field>
|
|
1986
|
+
<field name="is_annulment">False</field>
|
|
1987
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
1988
|
+
<field name="is_hidden">False</field>
|
|
1989
|
+
<field name="is_quote_expired">False</field>
|
|
1990
|
+
<field name="name">C1001 - Annullamento</field>
|
|
1991
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication"/>
|
|
1992
|
+
<field name="state_code">E-ML-GM08-3-0032</field>
|
|
1993
|
+
<field name="wizard_result">CANCEL</field>
|
|
1994
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_')])]"/>
|
|
1995
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
1996
|
+
</record>
|
|
1997
|
+
<record id="symple_triplet_phase_result_C1001_-_Annullamento_E-ML-GM08-3-0040" model="symple.triplet.phase.result">
|
|
1998
|
+
<field name="active">True</field>
|
|
1999
|
+
<field name="has_message">False</field>
|
|
2000
|
+
<field name="is_annulment">False</field>
|
|
2001
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2002
|
+
<field name="is_hidden">True</field>
|
|
2003
|
+
<field name="is_quote_expired">False</field>
|
|
2004
|
+
<field name="name">C1001 - Annullamento</field>
|
|
2005
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication"/>
|
|
2006
|
+
<field name="state_code">E-ML-GM08-3-0040</field>
|
|
2007
|
+
<field name="wizard_result">CANCEL</field>
|
|
2008
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0825_-_In_attesa_Esito_finale')])]"/>
|
|
2009
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2010
|
+
</record>
|
|
2011
|
+
<record id="symple_triplet_phase_result_C1001_-_Annullamento_E-ML-GM08-3-00096" model="symple.triplet.phase.result">
|
|
2012
|
+
<field name="active">True</field>
|
|
2013
|
+
<field name="has_message">False</field>
|
|
2014
|
+
<field name="is_annulment">False</field>
|
|
2015
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2016
|
+
<field name="is_hidden">False</field>
|
|
2017
|
+
<field name="is_quote_expired">False</field>
|
|
2018
|
+
<field name="name">C1001 - Annullamento</field>
|
|
2019
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication"/>
|
|
2020
|
+
<field name="state_code">E-ML-GM08-3-00096</field>
|
|
2021
|
+
<field name="wizard_result">CANCEL</field>
|
|
2022
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1715_-_In_attesa_check_IFS')])]"/>
|
|
2023
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2024
|
+
</record>
|
|
2025
|
+
<record id="symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento" model="symple.triplet.phase">
|
|
2026
|
+
<field name="active">True</field>
|
|
2027
|
+
<field name="child_case">False</field>
|
|
2028
|
+
<field name="code"># Available variables:
|
|
2029
|
+
# - case_id: the case that just reached this phase
|
|
2030
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2031
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2032
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2033
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2034
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2035
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2036
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2037
|
+
# - Command: x2Many commands namespace
|
|
2038
|
+
# - OrderedDict: ordered dictionaries
|
|
2039
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2040
|
+
# (line = case id, func = phase name)
|
|
2041
|
+
# To return a result, assign: result = {...}
|
|
2042
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2043
|
+
# phase result will not be set.
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
</field>
|
|
2048
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2049
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2050
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2051
|
+
<field name="is_compute_refund">False</field>
|
|
2052
|
+
<field name="is_dl">False</field>
|
|
2053
|
+
<field name="is_needs_child_case">False</field>
|
|
2054
|
+
<field name="is_pick_refund_template">False</field>
|
|
2055
|
+
<field name="is_process_managed">False</field>
|
|
2056
|
+
<field name="is_quote_accepted">False</field>
|
|
2057
|
+
<field name="is_quote_sent">False</field>
|
|
2058
|
+
<field name="is_timeout">False</field>
|
|
2059
|
+
<field name="is_voidable">False</field>
|
|
2060
|
+
<field name="name">A1767 - In attesa check IFS Annullamento</field>
|
|
2061
|
+
</record>
|
|
2062
|
+
<record id="symple_triplet_phase_result_C2458_-_OK_Inviata_E-ML-GM08-3-0063" model="symple.triplet.phase.result">
|
|
2063
|
+
<field name="active">True</field>
|
|
2064
|
+
<field name="has_message">False</field>
|
|
2065
|
+
<field name="is_annulment">False</field>
|
|
2066
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2067
|
+
<field name="is_hidden">False</field>
|
|
2068
|
+
<field name="is_quote_expired">False</field>
|
|
2069
|
+
<field name="name">C2458 - OK Inviata</field>
|
|
2070
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento"/>
|
|
2071
|
+
<field name="state_code">E-ML-GM08-3-0063</field>
|
|
2072
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2073
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication')])]"/>
|
|
2074
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2075
|
+
</record>
|
|
2076
|
+
<record id="symple_triplet_phase_A0832_-_Invio_Richiesta_Annullamento" model="symple.triplet.phase">
|
|
2077
|
+
<field name="active">True</field>
|
|
2078
|
+
<field name="child_case">False</field>
|
|
2079
|
+
<field name="code"># Available variables:
|
|
2080
|
+
# - case_id: the case that just reached this phase
|
|
2081
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2082
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2083
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2084
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2085
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2086
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2087
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2088
|
+
# - Command: x2Many commands namespace
|
|
2089
|
+
# - OrderedDict: ordered dictionaries
|
|
2090
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2091
|
+
# (line = case id, func = phase name)
|
|
2092
|
+
# To return a result, assign: result = {...}
|
|
2093
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2094
|
+
# phase result will not be set.
|
|
2095
|
+
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
</field>
|
|
2099
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2100
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2101
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2102
|
+
<field name="is_compute_refund">False</field>
|
|
2103
|
+
<field name="is_dl">False</field>
|
|
2104
|
+
<field name="is_needs_child_case">False</field>
|
|
2105
|
+
<field name="is_pick_refund_template">False</field>
|
|
2106
|
+
<field name="is_process_managed">False</field>
|
|
2107
|
+
<field name="is_quote_accepted">False</field>
|
|
2108
|
+
<field name="is_quote_sent">False</field>
|
|
2109
|
+
<field name="is_timeout">False</field>
|
|
2110
|
+
<field name="is_voidable">False</field>
|
|
2111
|
+
<field name="name">A0832 - Invio Richiesta Annullamento</field>
|
|
2112
|
+
</record>
|
|
2113
|
+
<record id="symple_triplet_phase_A1939_-_Verifica_Inserimento_Annullamento_sul_Portale_del_DL" model="symple.triplet.phase">
|
|
2114
|
+
<field name="active">True</field>
|
|
2115
|
+
<field name="child_case">False</field>
|
|
2116
|
+
<field name="code"># Available variables:
|
|
2117
|
+
# - case_id: the case that just reached this phase
|
|
2118
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2119
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2120
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2121
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2122
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2123
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2124
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2125
|
+
# - Command: x2Many commands namespace
|
|
2126
|
+
# - OrderedDict: ordered dictionaries
|
|
2127
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2128
|
+
# (line = case id, func = phase name)
|
|
2129
|
+
# To return a result, assign: result = {...}
|
|
2130
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2131
|
+
# phase result will not be set.
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
</field>
|
|
2136
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOT')])" />
|
|
2137
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2138
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2139
|
+
<field name="is_compute_refund">False</field>
|
|
2140
|
+
<field name="is_dl">False</field>
|
|
2141
|
+
<field name="is_needs_child_case">False</field>
|
|
2142
|
+
<field name="is_pick_refund_template">False</field>
|
|
2143
|
+
<field name="is_process_managed">False</field>
|
|
2144
|
+
<field name="is_quote_accepted">False</field>
|
|
2145
|
+
<field name="is_quote_sent">False</field>
|
|
2146
|
+
<field name="is_timeout">False</field>
|
|
2147
|
+
<field name="is_voidable">False</field>
|
|
2148
|
+
<field name="name">A1939 - Verifica Inserimento Annullamento sul Portale del DL</field>
|
|
2149
|
+
</record>
|
|
2150
|
+
<record id="symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento" model="symple.triplet.phase">
|
|
2151
|
+
<field name="active">True</field>
|
|
2152
|
+
<field name="child_case">False</field>
|
|
2153
|
+
<field name="code"># Available variables:
|
|
2154
|
+
# - case_id: the case that just reached this phase
|
|
2155
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2156
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2157
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2158
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2159
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2160
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2161
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2162
|
+
# - Command: x2Many commands namespace
|
|
2163
|
+
# - OrderedDict: ordered dictionaries
|
|
2164
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2165
|
+
# (line = case id, func = phase name)
|
|
2166
|
+
# To return a result, assign: result = {...}
|
|
2167
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2168
|
+
# phase result will not be set.
|
|
2169
|
+
|
|
2170
|
+
|
|
2171
|
+
|
|
2172
|
+
</field>
|
|
2173
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2174
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2175
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2176
|
+
<field name="is_compute_refund">False</field>
|
|
2177
|
+
<field name="is_dl">False</field>
|
|
2178
|
+
<field name="is_needs_child_case">False</field>
|
|
2179
|
+
<field name="is_pick_refund_template">False</field>
|
|
2180
|
+
<field name="is_process_managed">False</field>
|
|
2181
|
+
<field name="is_quote_accepted">False</field>
|
|
2182
|
+
<field name="is_quote_sent">False</field>
|
|
2183
|
+
<field name="is_timeout">False</field>
|
|
2184
|
+
<field name="is_voidable">False</field>
|
|
2185
|
+
<field name="name">A0833 - In attesa ricezione Ammissibilità Annullamento</field>
|
|
2186
|
+
</record>
|
|
2187
|
+
<record id="symple_triplet_phase_result_C1058_-_Inserita_richiesta_Annullamento_sul_portale_del_DL_E-ML-GM08-3-0069" model="symple.triplet.phase.result">
|
|
2188
|
+
<field name="active">True</field>
|
|
2189
|
+
<field name="has_message">False</field>
|
|
2190
|
+
<field name="is_annulment">False</field>
|
|
2191
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2192
|
+
<field name="is_hidden">False</field>
|
|
2193
|
+
<field name="is_quote_expired">False</field>
|
|
2194
|
+
<field name="name">C1058 - Inserita richiesta Annullamento sul portale del DL</field>
|
|
2195
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento"/>
|
|
2196
|
+
<field name="state_code">E-ML-GM08-3-0069</field>
|
|
2197
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2198
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0832_-_Invio_Richiesta_Annullamento')])]"/>
|
|
2199
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2200
|
+
</record>
|
|
2201
|
+
<record id="symple_triplet_phase_result_C3119_-_gestione_manuale_E-ML-GM08-3-0070" model="symple.triplet.phase.result">
|
|
2202
|
+
<field name="active">True</field>
|
|
2203
|
+
<field name="has_message">False</field>
|
|
2204
|
+
<field name="is_annulment">False</field>
|
|
2205
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2206
|
+
<field name="is_hidden">False</field>
|
|
2207
|
+
<field name="is_quote_expired">False</field>
|
|
2208
|
+
<field name="name">C3119 - gestione manuale</field>
|
|
2209
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento"/>
|
|
2210
|
+
<field name="state_code">E-ML-GM08-3-0070</field>
|
|
2211
|
+
<field name="wizard_result">KO-0050</field>
|
|
2212
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0832_-_Invio_Richiesta_Annullamento')])]"/>
|
|
2213
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-0050')])" />
|
|
2214
|
+
</record>
|
|
2215
|
+
<record id="symple_triplet_phase_result_C1058_-_Inserita_richiesta_Annullamento_sul_portale_del_DL_E-ML-GM08-3-0072" model="symple.triplet.phase.result">
|
|
2216
|
+
<field name="active">True</field>
|
|
2217
|
+
<field name="has_message">False</field>
|
|
2218
|
+
<field name="is_annulment">False</field>
|
|
2219
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2220
|
+
<field name="is_hidden">False</field>
|
|
2221
|
+
<field name="is_quote_expired">False</field>
|
|
2222
|
+
<field name="name">C1058 - Inserita richiesta Annullamento sul portale del DL</field>
|
|
2223
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento"/>
|
|
2224
|
+
<field name="state_code">E-ML-GM08-3-0072</field>
|
|
2225
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2226
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1939_-_Verifica_Inserimento_Annullamento_sul_Portale_del_DL')])]"/>
|
|
2227
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2228
|
+
</record>
|
|
2229
|
+
<record id="symple_triplet_phase_result_C2463_-_Gestito_Fuori_linea_E-ML-GM08-3-0073" model="symple.triplet.phase.result">
|
|
2230
|
+
<field name="active">True</field>
|
|
2231
|
+
<field name="has_message">False</field>
|
|
2232
|
+
<field name="is_annulment">False</field>
|
|
2233
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2234
|
+
<field name="is_hidden">False</field>
|
|
2235
|
+
<field name="is_quote_expired">False</field>
|
|
2236
|
+
<field name="name">C2463 - Gestito Fuori linea</field>
|
|
2237
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento"/>
|
|
2238
|
+
<field name="state_code">E-ML-GM08-3-0073</field>
|
|
2239
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2240
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1939_-_Verifica_Inserimento_Annullamento_sul_Portale_del_DL')])]"/>
|
|
2241
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2242
|
+
</record>
|
|
2243
|
+
<record id="symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento" model="symple.triplet.phase">
|
|
2244
|
+
<field name="active">True</field>
|
|
2245
|
+
<field name="child_case">False</field>
|
|
2246
|
+
<field name="code"># Available variables:
|
|
2247
|
+
# - case_id: the case that just reached this phase
|
|
2248
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2249
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2250
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2251
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2252
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2253
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2254
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2255
|
+
# - Command: x2Many commands namespace
|
|
2256
|
+
# - OrderedDict: ordered dictionaries
|
|
2257
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2258
|
+
# (line = case id, func = phase name)
|
|
2259
|
+
# To return a result, assign: result = {...}
|
|
2260
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2261
|
+
# phase result will not be set.
|
|
2262
|
+
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
</field>
|
|
2266
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2267
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2268
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2269
|
+
<field name="is_compute_refund">False</field>
|
|
2270
|
+
<field name="is_dl">False</field>
|
|
2271
|
+
<field name="is_needs_child_case">False</field>
|
|
2272
|
+
<field name="is_pick_refund_template">False</field>
|
|
2273
|
+
<field name="is_process_managed">False</field>
|
|
2274
|
+
<field name="is_quote_accepted">False</field>
|
|
2275
|
+
<field name="is_quote_sent">False</field>
|
|
2276
|
+
<field name="is_timeout">False</field>
|
|
2277
|
+
<field name="is_voidable">False</field>
|
|
2278
|
+
<field name="name">A1790 - Gestione Errore Annullamento</field>
|
|
2279
|
+
</record>
|
|
2280
|
+
<record id="symple_triplet_phase_result_C2476_-_KO_-_Ammissibilit__Annullamento_Hub_E-ML-GM08-3-0067" model="symple.triplet.phase.result">
|
|
2281
|
+
<field name="active">True</field>
|
|
2282
|
+
<field name="has_message">False</field>
|
|
2283
|
+
<field name="is_annulment">False</field>
|
|
2284
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2285
|
+
<field name="is_hidden">False</field>
|
|
2286
|
+
<field name="is_quote_expired">False</field>
|
|
2287
|
+
<field name="name">C2476 - KO - Ammissibilità Annullamento Hub</field>
|
|
2288
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento"/>
|
|
2289
|
+
<field name="state_code">E-ML-GM08-3-0067</field>
|
|
2290
|
+
<field name="wizard_result">KO-HUB</field>
|
|
2291
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento')])]"/>
|
|
2292
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-HUB')])" />
|
|
2293
|
+
</record>
|
|
2294
|
+
<record id="symple_triplet_phase_result_C1060_-_Ammissibilit__Annullamento_KO_E-ML-GM08-3-0076" model="symple.triplet.phase.result">
|
|
2295
|
+
<field name="active">True</field>
|
|
2296
|
+
<field name="has_message">False</field>
|
|
2297
|
+
<field name="is_annulment">False</field>
|
|
2298
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2299
|
+
<field name="is_hidden">False</field>
|
|
2300
|
+
<field name="is_quote_expired">False</field>
|
|
2301
|
+
<field name="name">C1060 - Ammissibilità Annullamento KO</field>
|
|
2302
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento"/>
|
|
2303
|
+
<field name="state_code">E-ML-GM08-3-0076</field>
|
|
2304
|
+
<field name="wizard_result">KO-100-ANN</field>
|
|
2305
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento')])]"/>
|
|
2306
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-100-ANN')])" />
|
|
2307
|
+
</record>
|
|
2308
|
+
<record id="symple_triplet_phase_result_C1035_-_Inserita_richiesta_sul_portale_del_DL_E-ML-GM08-3-0078" model="symple.triplet.phase.result">
|
|
2309
|
+
<field name="active">True</field>
|
|
2310
|
+
<field name="has_message">False</field>
|
|
2311
|
+
<field name="is_annulment">False</field>
|
|
2312
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2313
|
+
<field name="is_hidden">False</field>
|
|
2314
|
+
<field name="is_quote_expired">False</field>
|
|
2315
|
+
<field name="name">C1035 - Inserita richiesta sul portale del DL</field>
|
|
2316
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione"/>
|
|
2317
|
+
<field name="state_code">E-ML-GM08-3-0078</field>
|
|
2318
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2319
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2320
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2321
|
+
</record>
|
|
2322
|
+
<record id="symple_triplet_phase_result_C1037_-_Ammissibilit__OK_E-ML-GM08-3-0079" model="symple.triplet.phase.result">
|
|
2323
|
+
<field name="active">True</field>
|
|
2324
|
+
<field name="has_message">False</field>
|
|
2325
|
+
<field name="is_annulment">False</field>
|
|
2326
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2327
|
+
<field name="is_hidden">False</field>
|
|
2328
|
+
<field name="is_quote_expired">False</field>
|
|
2329
|
+
<field name="name">C1037 - Ammissibilità OK</field>
|
|
2330
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0825_-_In_attesa_Esito_finale"/>
|
|
2331
|
+
<field name="state_code">E-ML-GM08-3-0079</field>
|
|
2332
|
+
<field name="wizard_result">OK-100</field>
|
|
2333
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2334
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-100')])" />
|
|
2335
|
+
</record>
|
|
2336
|
+
<record id="symple_triplet_phase_result_C1038_-_Ammissibilit__KO_E-ML-GM08-3-0080" model="symple.triplet.phase.result">
|
|
2337
|
+
<field name="active">True</field>
|
|
2338
|
+
<field name="has_message">False</field>
|
|
2339
|
+
<field name="is_annulment">False</field>
|
|
2340
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2341
|
+
<field name="is_hidden">False</field>
|
|
2342
|
+
<field name="is_quote_expired">False</field>
|
|
2343
|
+
<field name="name">C1038 - Ammissibilità KO</field>
|
|
2344
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto"/>
|
|
2345
|
+
<field name="state_code">E-ML-GM08-3-0080</field>
|
|
2346
|
+
<field name="wizard_result">KO-100</field>
|
|
2347
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2348
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-100')])" />
|
|
2349
|
+
</record>
|
|
2350
|
+
<record id="symple_triplet_phase_result_C2416_-_Risottomessa_da_cruscotto_E-ML-GM08-3-0081" model="symple.triplet.phase.result">
|
|
2351
|
+
<field name="active">True</field>
|
|
2352
|
+
<field name="has_message">False</field>
|
|
2353
|
+
<field name="is_annulment">False</field>
|
|
2354
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2355
|
+
<field name="is_hidden">False</field>
|
|
2356
|
+
<field name="is_quote_expired">False</field>
|
|
2357
|
+
<field name="name">C2416 - Risottomessa da cruscotto</field>
|
|
2358
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento"/>
|
|
2359
|
+
<field name="state_code">E-ML-GM08-3-0081</field>
|
|
2360
|
+
<field name="wizard_result">RESUBMIT</field>
|
|
2361
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2362
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Resubmit')])" />
|
|
2363
|
+
</record>
|
|
2364
|
+
<record id="symple_triplet_phase_result_C1043_-_Esito_finale_KO_E-ML-GM08-3-000100" model="symple.triplet.phase.result">
|
|
2365
|
+
<field name="active">True</field>
|
|
2366
|
+
<field name="has_message">False</field>
|
|
2367
|
+
<field name="is_annulment">False</field>
|
|
2368
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2369
|
+
<field name="is_hidden">False</field>
|
|
2370
|
+
<field name="is_quote_expired">False</field>
|
|
2371
|
+
<field name="name">C1043 - Esito finale KO</field>
|
|
2372
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto"/>
|
|
2373
|
+
<field name="state_code">E-ML-GM08-3-000100</field>
|
|
2374
|
+
<field name="wizard_result">KO-150</field>
|
|
2375
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2376
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO-150')])" />
|
|
2377
|
+
</record>
|
|
2378
|
+
<record id="symple_triplet_phase_A0831_-_Verifica_Fase_Precedente" model="symple.triplet.phase">
|
|
2379
|
+
<field name="active">True</field>
|
|
2380
|
+
<field name="child_case">False</field>
|
|
2381
|
+
<field name="code"># Available variables:
|
|
2382
|
+
# - case_id: the case that just reached this phase
|
|
2383
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2384
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2385
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2386
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2387
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2388
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2389
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2390
|
+
# - Command: x2Many commands namespace
|
|
2391
|
+
# - OrderedDict: ordered dictionaries
|
|
2392
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2393
|
+
# (line = case id, func = phase name)
|
|
2394
|
+
# To return a result, assign: result = {...}
|
|
2395
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2396
|
+
# phase result will not be set.
|
|
2397
|
+
|
|
2398
|
+
try:
|
|
2399
|
+
env["helpdesk.ticket"].restore_latest_checkpoint_phase(case_id.id)
|
|
2400
|
+
|
|
2401
|
+
|
|
2402
|
+
except Exception as e:
|
|
2403
|
+
prev = case_id.info_message + "\n" if case_id.info_message else ""
|
|
2404
|
+
case_id.write({"info_message": prev + str(e)})
|
|
2405
|
+
</field>
|
|
2406
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2407
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
2408
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2409
|
+
<field name="is_compute_refund">False</field>
|
|
2410
|
+
<field name="is_dl">False</field>
|
|
2411
|
+
<field name="is_needs_child_case">False</field>
|
|
2412
|
+
<field name="is_pick_refund_template">False</field>
|
|
2413
|
+
<field name="is_process_managed">False</field>
|
|
2414
|
+
<field name="is_quote_accepted">False</field>
|
|
2415
|
+
<field name="is_quote_sent">False</field>
|
|
2416
|
+
<field name="is_timeout">False</field>
|
|
2417
|
+
<field name="is_voidable">False</field>
|
|
2418
|
+
<field name="name">A0831 - Verifica Fase Precedente</field>
|
|
2419
|
+
<field name="set_result_automatically">from_code</field>
|
|
2420
|
+
</record>
|
|
2421
|
+
<record id="symple_triplet_phase_result_C2409_-_KO_Confermato_E-ML-GM08-3-0082" model="symple.triplet.phase.result">
|
|
2422
|
+
<field name="active">True</field>
|
|
2423
|
+
<field name="has_message">False</field>
|
|
2424
|
+
<field name="is_annulment">False</field>
|
|
2425
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2426
|
+
<field name="is_hidden">False</field>
|
|
2427
|
+
<field name="is_quote_expired">False</field>
|
|
2428
|
+
<field name="name">C2409 - KO Confermato</field>
|
|
2429
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0831_-_Verifica_Fase_Precedente"/>
|
|
2430
|
+
<field name="state_code">E-ML-GM08-3-0082</field>
|
|
2431
|
+
<field name="wizard_result">KO</field>
|
|
2432
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
2433
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
2434
|
+
</record>
|
|
2435
|
+
<record id="symple_triplet_phase_result_C1055_-_Ritorno_in_In_attesa_esito_Ammissibilit__E-ML-GM08-3-0084" model="symple.triplet.phase.result">
|
|
2436
|
+
<field name="active">True</field>
|
|
2437
|
+
<field name="has_message">False</field>
|
|
2438
|
+
<field name="is_annulment">False</field>
|
|
2439
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2440
|
+
<field name="is_hidden">False</field>
|
|
2441
|
+
<field name="is_quote_expired">False</field>
|
|
2442
|
+
<field name="name">C1055 - Ritorno in In attesa esito Ammissibilità</field>
|
|
2443
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_"/>
|
|
2444
|
+
<field name="state_code">E-ML-GM08-3-0084</field>
|
|
2445
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2446
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0831_-_Verifica_Fase_Precedente')])]"/>
|
|
2447
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2448
|
+
</record>
|
|
2449
|
+
<record id="symple_triplet_phase_result_C2482_-_Ritorno_in_Inserimento_richiesta_sul_portale_del_DL_E-ML-GM08-3-0085" model="symple.triplet.phase.result">
|
|
2450
|
+
<field name="active">True</field>
|
|
2451
|
+
<field name="has_message">False</field>
|
|
2452
|
+
<field name="is_annulment">False</field>
|
|
2453
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2454
|
+
<field name="is_hidden">False</field>
|
|
2455
|
+
<field name="is_quote_expired">False</field>
|
|
2456
|
+
<field name="name">C2482 - Ritorno in Inserimento richiesta sul portale del DL</field>
|
|
2457
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL"/>
|
|
2458
|
+
<field name="state_code">E-ML-GM08-3-0085</field>
|
|
2459
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2460
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0831_-_Verifica_Fase_Precedente')])]"/>
|
|
2461
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2462
|
+
</record>
|
|
2463
|
+
<record id="symple_triplet_phase_result_C1056_-_Ritorno_in_In_attesa_Esito_finale_E-ML-GM08-3-0086" model="symple.triplet.phase.result">
|
|
2464
|
+
<field name="active">True</field>
|
|
2465
|
+
<field name="has_message">False</field>
|
|
2466
|
+
<field name="is_annulment">False</field>
|
|
2467
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2468
|
+
<field name="is_hidden">False</field>
|
|
2469
|
+
<field name="is_quote_expired">False</field>
|
|
2470
|
+
<field name="name">C1056 - Ritorno in In attesa Esito finale</field>
|
|
2471
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0825_-_In_attesa_Esito_finale"/>
|
|
2472
|
+
<field name="state_code">E-ML-GM08-3-0086</field>
|
|
2473
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2474
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0831_-_Verifica_Fase_Precedente')])]"/>
|
|
2475
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2476
|
+
</record>
|
|
2477
|
+
<record id="symple_triplet_phase_A1378_-_Case_Lavorato_-_Punto_Interrotto" model="symple.triplet.phase">
|
|
2478
|
+
<field name="active">True</field>
|
|
2479
|
+
<field name="child_case">False</field>
|
|
2480
|
+
<field name="code">if case_id.matrix_process_id:
|
|
2481
|
+
case_id.close_matrix_process()</field>
|
|
2482
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2483
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','Done')])" />
|
|
2484
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2485
|
+
<field name="is_compute_refund">False</field>
|
|
2486
|
+
<field name="is_dl">False</field>
|
|
2487
|
+
<field name="is_needs_child_case">False</field>
|
|
2488
|
+
<field name="is_pick_refund_template">False</field>
|
|
2489
|
+
<field name="is_process_managed">False</field>
|
|
2490
|
+
<field name="is_quote_accepted">False</field>
|
|
2491
|
+
<field name="is_quote_sent">False</field>
|
|
2492
|
+
<field name="is_timeout">False</field>
|
|
2493
|
+
<field name="is_voidable">False</field>
|
|
2494
|
+
<field name="name">A1378 - Case Lavorato - Punto Interrotto</field>
|
|
2495
|
+
<field name="set_result_automatically">from_code</field>
|
|
2496
|
+
</record>
|
|
2497
|
+
<record id="symple_triplet_phase_result_C2003_-_OK_-_Case_di_invio_oneri_aperto_E-ML-GM08-3-0052" model="symple.triplet.phase.result">
|
|
2498
|
+
<field name="active">True</field>
|
|
2499
|
+
<field name="has_message">False</field>
|
|
2500
|
+
<field name="is_annulment">False</field>
|
|
2501
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2502
|
+
<field name="is_hidden">False</field>
|
|
2503
|
+
<field name="is_quote_expired">False</field>
|
|
2504
|
+
<field name="name">C2003 - OK - Case di invio oneri aperto</field>
|
|
2505
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1378_-_Case_Lavorato_-_Punto_Interrotto"/>
|
|
2506
|
+
<field name="state_code">E-ML-GM08-3-0052</field>
|
|
2507
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2508
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1379_-_Apertura_Case_Invio_Onere')])]"/>
|
|
2509
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2510
|
+
</record>
|
|
2511
|
+
<record id="symple_triplet_phase_A0811_-_Case_Lavorato_KO" model="symple.triplet.phase">
|
|
2512
|
+
<field name="active">True</field>
|
|
2513
|
+
<field name="child_case">False</field>
|
|
2514
|
+
<field name="code">if case_id.matrix_process_id:
|
|
2515
|
+
case_id.close_matrix_process(status="ERROR")</field>
|
|
2516
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2517
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','Done KO')])" />
|
|
2518
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2519
|
+
<field name="is_compute_refund">False</field>
|
|
2520
|
+
<field name="is_dl">False</field>
|
|
2521
|
+
<field name="is_needs_child_case">False</field>
|
|
2522
|
+
<field name="is_pick_refund_template">False</field>
|
|
2523
|
+
<field name="is_process_managed">False</field>
|
|
2524
|
+
<field name="is_quote_accepted">False</field>
|
|
2525
|
+
<field name="is_quote_sent">False</field>
|
|
2526
|
+
<field name="is_timeout">False</field>
|
|
2527
|
+
<field name="is_voidable">False</field>
|
|
2528
|
+
<field name="name">A0811 - Case Lavorato KO</field>
|
|
2529
|
+
<field name="set_result_automatically">from_code</field>
|
|
2530
|
+
</record>
|
|
2531
|
+
<record id="symple_triplet_phase_result_C2641_-_KO_-_Incompatibilit__Non_risolta_E-ML-GM08-3-0006" model="symple.triplet.phase.result">
|
|
2532
|
+
<field name="active">True</field>
|
|
2533
|
+
<field name="has_message">False</field>
|
|
2534
|
+
<field name="is_annulment">False</field>
|
|
2535
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2536
|
+
<field name="is_hidden">False</field>
|
|
2537
|
+
<field name="is_quote_expired">False</field>
|
|
2538
|
+
<field name="name">C2641 - KO - Incompatibilità Non risolta</field>
|
|
2539
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0811_-_Case_Lavorato_KO"/>
|
|
2540
|
+
<field name="state_code">E-ML-GM08-3-0006</field>
|
|
2541
|
+
<field name="wizard_result">KO</field>
|
|
2542
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1937_-_Verifica_Case_Incompatibile')])]"/>
|
|
2543
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
2544
|
+
</record>
|
|
2545
|
+
<record id="symple_triplet_phase_result_C1885_-_KO_-_Lettera_non_inviata_E-ML-GM08-3-0009" model="symple.triplet.phase.result">
|
|
2546
|
+
<field name="active">True</field>
|
|
2547
|
+
<field name="has_message">False</field>
|
|
2548
|
+
<field name="is_annulment">False</field>
|
|
2549
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2550
|
+
<field name="is_hidden">False</field>
|
|
2551
|
+
<field name="is_quote_expired">False</field>
|
|
2552
|
+
<field name="name">C1885 - KO - Lettera non inviata</field>
|
|
2553
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0811_-_Case_Lavorato_KO"/>
|
|
2554
|
+
<field name="state_code">E-ML-GM08-3-0009</field>
|
|
2555
|
+
<field name="wizard_result">KO</field>
|
|
2556
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_')])]"/>
|
|
2557
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
2558
|
+
</record>
|
|
2559
|
+
<record id="symple_triplet_phase_result_C1931_-_Errore_non_rilavorabile_E-ML-GM08-3-0021" model="symple.triplet.phase.result">
|
|
2560
|
+
<field name="active">True</field>
|
|
2561
|
+
<field name="has_message">False</field>
|
|
2562
|
+
<field name="is_annulment">False</field>
|
|
2563
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2564
|
+
<field name="is_hidden">False</field>
|
|
2565
|
+
<field name="is_quote_expired">False</field>
|
|
2566
|
+
<field name="name">C1931 - Errore non rilavorabile</field>
|
|
2567
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0811_-_Case_Lavorato_KO"/>
|
|
2568
|
+
<field name="state_code">E-ML-GM08-3-0021</field>
|
|
2569
|
+
<field name="wizard_result">KO</field>
|
|
2570
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto')])]"/>
|
|
2571
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
2572
|
+
</record>
|
|
2573
|
+
<record id="symple_triplet_phase_A0809_-_Case_Annullato" model="symple.triplet.phase">
|
|
2574
|
+
<field name="active">True</field>
|
|
2575
|
+
<field name="child_case">False</field>
|
|
2576
|
+
<field name="code"># Available variables:
|
|
2577
|
+
# - case_id: the case that just reached this phase
|
|
2578
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2579
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2580
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2581
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2582
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2583
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2584
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2585
|
+
# - Command: x2Many commands namespace
|
|
2586
|
+
# - OrderedDict: ordered dictionaries
|
|
2587
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2588
|
+
# (line = case id, func = phase name)
|
|
2589
|
+
# To return a result, assign: result = {...}
|
|
2590
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2591
|
+
# phase result will not be set.
|
|
2592
|
+
|
|
2593
|
+
|
|
2594
|
+
|
|
2595
|
+
</field>
|
|
2596
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2597
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','Cancelled')])" />
|
|
2598
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2599
|
+
<field name="is_compute_refund">False</field>
|
|
2600
|
+
<field name="is_dl">False</field>
|
|
2601
|
+
<field name="is_needs_child_case">False</field>
|
|
2602
|
+
<field name="is_pick_refund_template">False</field>
|
|
2603
|
+
<field name="is_process_managed">False</field>
|
|
2604
|
+
<field name="is_quote_accepted">False</field>
|
|
2605
|
+
<field name="is_quote_sent">False</field>
|
|
2606
|
+
<field name="is_timeout">False</field>
|
|
2607
|
+
<field name="is_voidable">False</field>
|
|
2608
|
+
<field name="name">A0809 - Case Annullato</field>
|
|
2609
|
+
</record>
|
|
2610
|
+
<record id="symple_triplet_phase_result_C1886_-_Annullamento_Case_durante_Invio_Lettera_E-ML-GM08-3-0010" model="symple.triplet.phase.result">
|
|
2611
|
+
<field name="active">True</field>
|
|
2612
|
+
<field name="has_message">False</field>
|
|
2613
|
+
<field name="is_annulment">False</field>
|
|
2614
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2615
|
+
<field name="is_hidden">False</field>
|
|
2616
|
+
<field name="is_quote_expired">False</field>
|
|
2617
|
+
<field name="name">C1886 - Annullamento Case durante Invio Lettera</field>
|
|
2618
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2619
|
+
<field name="state_code">E-ML-GM08-3-0010</field>
|
|
2620
|
+
<field name="wizard_result">SUCCESS</field>
|
|
2621
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_')])]"/>
|
|
2622
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
2623
|
+
</record>
|
|
2624
|
+
<record id="symple_triplet_phase_result_C1001_-_Annullamento_E-ML-GM08-3-0013" model="symple.triplet.phase.result">
|
|
2625
|
+
<field name="active">True</field>
|
|
2626
|
+
<field name="has_message">False</field>
|
|
2627
|
+
<field name="is_annulment">False</field>
|
|
2628
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2629
|
+
<field name="is_hidden">False</field>
|
|
2630
|
+
<field name="is_quote_expired">False</field>
|
|
2631
|
+
<field name="name">C1001 - Annullamento</field>
|
|
2632
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2633
|
+
<field name="state_code">E-ML-GM08-3-0013</field>
|
|
2634
|
+
<field name="wizard_result">CANCEL</field>
|
|
2635
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1310_-_In_attesa_11_giorni_lavorativi')])]"/>
|
|
2636
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2637
|
+
</record>
|
|
2638
|
+
<record id="symple_triplet_phase_result_C1925_-_Annullamento_in_fase_di_Controlli_CRM_per_Taglio_Colonna_E-ML-GM08-3-0054" model="symple.triplet.phase.result">
|
|
2639
|
+
<field name="active">True</field>
|
|
2640
|
+
<field name="has_message">False</field>
|
|
2641
|
+
<field name="is_annulment">False</field>
|
|
2642
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2643
|
+
<field name="is_hidden">False</field>
|
|
2644
|
+
<field name="is_quote_expired">False</field>
|
|
2645
|
+
<field name="name">C1925 - Annullamento in fase di Controlli CRM per Taglio Colonna</field>
|
|
2646
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2647
|
+
<field name="state_code">E-ML-GM08-3-0054</field>
|
|
2648
|
+
<field name="wizard_result">CANCEL</field>
|
|
2649
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1317_-_Errore_in_fase_di_Controlli_CRM_per_Taglio_Colonna')])]"/>
|
|
2650
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2651
|
+
</record>
|
|
2652
|
+
<record id="symple_triplet_phase_result_C1893_-_Annulla_Creazione_Ordine_CRM_E-ML-GM08-3-0055" model="symple.triplet.phase.result">
|
|
2653
|
+
<field name="active">True</field>
|
|
2654
|
+
<field name="has_message">False</field>
|
|
2655
|
+
<field name="is_annulment">False</field>
|
|
2656
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2657
|
+
<field name="is_hidden">False</field>
|
|
2658
|
+
<field name="is_quote_expired">False</field>
|
|
2659
|
+
<field name="name">C1893 - Annulla Creazione Ordine CRM</field>
|
|
2660
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2661
|
+
<field name="state_code">E-ML-GM08-3-0055</field>
|
|
2662
|
+
<field name="wizard_result">CANCEL</field>
|
|
2663
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1318_-_Errore_in_fase_di_Creazione_Ordine_CRM_per_Taglio_Colonna')])]"/>
|
|
2664
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2665
|
+
</record>
|
|
2666
|
+
<record id="symple_triplet_phase_result_C1917_-_Annulla_-_Integrazione_M2C_per_Taglio_Colonna_E-ML-GM08-3-0057" model="symple.triplet.phase.result">
|
|
2667
|
+
<field name="active">True</field>
|
|
2668
|
+
<field name="has_message">False</field>
|
|
2669
|
+
<field name="is_annulment">False</field>
|
|
2670
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2671
|
+
<field name="is_hidden">False</field>
|
|
2672
|
+
<field name="is_quote_expired">False</field>
|
|
2673
|
+
<field name="name">C1917 - Annulla - Integrazione M2C per Taglio Colonna</field>
|
|
2674
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2675
|
+
<field name="state_code">E-ML-GM08-3-0057</field>
|
|
2676
|
+
<field name="wizard_result">CANCEL</field>
|
|
2677
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1319_-_Errore_in_fase_di_Integrazione_M2C_per_Taglio_Colonna')])]"/>
|
|
2678
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2679
|
+
</record>
|
|
2680
|
+
<record id="symple_triplet_phase_result_C1920_-_Annulla_-_Attesa_Esito_M2c_E-ML-GM08-3-0059" model="symple.triplet.phase.result">
|
|
2681
|
+
<field name="active">True</field>
|
|
2682
|
+
<field name="has_message">False</field>
|
|
2683
|
+
<field name="is_annulment">False</field>
|
|
2684
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2685
|
+
<field name="is_hidden">False</field>
|
|
2686
|
+
<field name="is_quote_expired">False</field>
|
|
2687
|
+
<field name="name">C1920 - Annulla - Attesa Esito M2c</field>
|
|
2688
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2689
|
+
<field name="state_code">E-ML-GM08-3-0059</field>
|
|
2690
|
+
<field name="wizard_result">CANCEL</field>
|
|
2691
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna')])]"/>
|
|
2692
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2693
|
+
</record>
|
|
2694
|
+
<record id="symple_triplet_phase_result_C1923_-_Annulla_-_Aggiornamento_CRM_E-ML-GM08-3-0061" model="symple.triplet.phase.result">
|
|
2695
|
+
<field name="active">True</field>
|
|
2696
|
+
<field name="has_message">False</field>
|
|
2697
|
+
<field name="is_annulment">False</field>
|
|
2698
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2699
|
+
<field name="is_hidden">False</field>
|
|
2700
|
+
<field name="is_quote_expired">False</field>
|
|
2701
|
+
<field name="name">C1923 - Annulla - Aggiornamento CRM</field>
|
|
2702
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2703
|
+
<field name="state_code">E-ML-GM08-3-0061</field>
|
|
2704
|
+
<field name="wizard_result">CANCEL</field>
|
|
2705
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1321_-_Errore_in_fase_di_Aggiornamento_CRM_per_Taglio_Colonna')])]"/>
|
|
2706
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Cancel')])" />
|
|
2707
|
+
</record>
|
|
2708
|
+
<record id="symple_triplet_phase_result_C2599_-_annullamento_confermato_E-ML-GM08-3-0065" model="symple.triplet.phase.result">
|
|
2709
|
+
<field name="active">True</field>
|
|
2710
|
+
<field name="has_message">False</field>
|
|
2711
|
+
<field name="is_annulment">False</field>
|
|
2712
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2713
|
+
<field name="is_hidden">False</field>
|
|
2714
|
+
<field name="is_quote_expired">False</field>
|
|
2715
|
+
<field name="name">C2599 - annullamento confermato</field>
|
|
2716
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2717
|
+
<field name="state_code">E-ML-GM08-3-0065</field>
|
|
2718
|
+
<field name="wizard_result">OK-DEF-HUB-ANN</field>
|
|
2719
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento')])]"/>
|
|
2720
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-DEF-ANN')])" />
|
|
2721
|
+
</record>
|
|
2722
|
+
<record id="symple_triplet_phase_result_C1059_-_Ammissibilit__Annullamento_OK_E-ML-GM08-3-0075" model="symple.triplet.phase.result">
|
|
2723
|
+
<field name="active">True</field>
|
|
2724
|
+
<field name="has_message">False</field>
|
|
2725
|
+
<field name="is_annulment">False</field>
|
|
2726
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2727
|
+
<field name="is_hidden">False</field>
|
|
2728
|
+
<field name="is_quote_expired">False</field>
|
|
2729
|
+
<field name="name">C1059 - Ammissibilità Annullamento OK</field>
|
|
2730
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
2731
|
+
<field name="state_code">E-ML-GM08-3-0075</field>
|
|
2732
|
+
<field name="wizard_result">OK-100-ANN</field>
|
|
2733
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento')])]"/>
|
|
2734
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-100-ANN')])" />
|
|
2735
|
+
</record>
|
|
2736
|
+
<record id="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato" model="symple.triplet.phase">
|
|
2737
|
+
<field name="active">True</field>
|
|
2738
|
+
<field name="child_case">False</field>
|
|
2739
|
+
<field name="code"># Available variables:
|
|
2740
|
+
# - case_id: the case that just reached this phase
|
|
2741
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
2742
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
2743
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
2744
|
+
# - env: Odoo Environment on which the action is triggered
|
|
2745
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
2746
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
2747
|
+
# - ValidationError: Warning Exception to use with raise
|
|
2748
|
+
# - Command: x2Many commands namespace
|
|
2749
|
+
# - OrderedDict: ordered dictionaries
|
|
2750
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
2751
|
+
# (line = case id, func = phase name)
|
|
2752
|
+
# To return a result, assign: result = {...}
|
|
2753
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
2754
|
+
# phase result will not be set.
|
|
2755
|
+
|
|
2756
|
+
|
|
2757
|
+
|
|
2758
|
+
</field>
|
|
2759
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
2760
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','Done')])" />
|
|
2761
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
2762
|
+
<field name="is_compute_refund">False</field>
|
|
2763
|
+
<field name="is_dl">False</field>
|
|
2764
|
+
<field name="is_needs_child_case">False</field>
|
|
2765
|
+
<field name="is_pick_refund_template">False</field>
|
|
2766
|
+
<field name="is_process_managed">False</field>
|
|
2767
|
+
<field name="is_quote_accepted">False</field>
|
|
2768
|
+
<field name="is_quote_sent">False</field>
|
|
2769
|
+
<field name="is_timeout">False</field>
|
|
2770
|
+
<field name="is_voidable">False</field>
|
|
2771
|
+
<field name="name">A1309 - Chiuso e Riattivato</field>
|
|
2772
|
+
</record>
|
|
2773
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0004" model="symple.triplet.phase.result">
|
|
2774
|
+
<field name="active">True</field>
|
|
2775
|
+
<field name="has_message">False</field>
|
|
2776
|
+
<field name="is_annulment">False</field>
|
|
2777
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2778
|
+
<field name="is_hidden">True</field>
|
|
2779
|
+
<field name="is_quote_expired">False</field>
|
|
2780
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2781
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2782
|
+
<field name="state_code">E-ML-GM08-3-0004</field>
|
|
2783
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2784
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi')])]"/>
|
|
2785
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2786
|
+
</record>
|
|
2787
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0007" model="symple.triplet.phase.result">
|
|
2788
|
+
<field name="active">True</field>
|
|
2789
|
+
<field name="has_message">False</field>
|
|
2790
|
+
<field name="is_annulment">False</field>
|
|
2791
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2792
|
+
<field name="is_hidden">True</field>
|
|
2793
|
+
<field name="is_quote_expired">False</field>
|
|
2794
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2795
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2796
|
+
<field name="state_code">E-ML-GM08-3-0007</field>
|
|
2797
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2798
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1937_-_Verifica_Case_Incompatibile')])]"/>
|
|
2799
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2800
|
+
</record>
|
|
2801
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0011" model="symple.triplet.phase.result">
|
|
2802
|
+
<field name="active">True</field>
|
|
2803
|
+
<field name="has_message">False</field>
|
|
2804
|
+
<field name="is_annulment">False</field>
|
|
2805
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2806
|
+
<field name="is_hidden">True</field>
|
|
2807
|
+
<field name="is_quote_expired">False</field>
|
|
2808
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2809
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2810
|
+
<field name="state_code">E-ML-GM08-3-0011</field>
|
|
2811
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2812
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1311_-_Invio_Lettera__Extra_sistema_')])]"/>
|
|
2813
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2814
|
+
</record>
|
|
2815
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0014" model="symple.triplet.phase.result">
|
|
2816
|
+
<field name="active">True</field>
|
|
2817
|
+
<field name="has_message">False</field>
|
|
2818
|
+
<field name="is_annulment">False</field>
|
|
2819
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2820
|
+
<field name="is_hidden">True</field>
|
|
2821
|
+
<field name="is_quote_expired">False</field>
|
|
2822
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2823
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2824
|
+
<field name="state_code">E-ML-GM08-3-0014</field>
|
|
2825
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2826
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1310_-_In_attesa_11_giorni_lavorativi')])]"/>
|
|
2827
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2828
|
+
</record>
|
|
2829
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0016" model="symple.triplet.phase.result">
|
|
2830
|
+
<field name="active">True</field>
|
|
2831
|
+
<field name="has_message">False</field>
|
|
2832
|
+
<field name="is_annulment">False</field>
|
|
2833
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2834
|
+
<field name="is_hidden">True</field>
|
|
2835
|
+
<field name="is_quote_expired">False</field>
|
|
2836
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2837
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2838
|
+
<field name="state_code">E-ML-GM08-3-0016</field>
|
|
2839
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2840
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1559_-_Invio_alla_Market_Communication')])]"/>
|
|
2841
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2842
|
+
</record>
|
|
2843
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0019" model="symple.triplet.phase.result">
|
|
2844
|
+
<field name="active">True</field>
|
|
2845
|
+
<field name="has_message">False</field>
|
|
2846
|
+
<field name="is_annulment">False</field>
|
|
2847
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2848
|
+
<field name="is_hidden">True</field>
|
|
2849
|
+
<field name="is_quote_expired">False</field>
|
|
2850
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2851
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2852
|
+
<field name="state_code">E-ML-GM08-3-0019</field>
|
|
2853
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2854
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1715_-_In_attesa_check_IFS')])]"/>
|
|
2855
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2856
|
+
</record>
|
|
2857
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0022" model="symple.triplet.phase.result">
|
|
2858
|
+
<field name="active">True</field>
|
|
2859
|
+
<field name="has_message">False</field>
|
|
2860
|
+
<field name="is_annulment">False</field>
|
|
2861
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2862
|
+
<field name="is_hidden">True</field>
|
|
2863
|
+
<field name="is_quote_expired">False</field>
|
|
2864
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2865
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2866
|
+
<field name="state_code">E-ML-GM08-3-0022</field>
|
|
2867
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2868
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1717_-_Gestione_scarti_da_cruscotto')])]"/>
|
|
2869
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2870
|
+
</record>
|
|
2871
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0026" model="symple.triplet.phase.result">
|
|
2872
|
+
<field name="active">True</field>
|
|
2873
|
+
<field name="has_message">False</field>
|
|
2874
|
+
<field name="is_annulment">False</field>
|
|
2875
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2876
|
+
<field name="is_hidden">True</field>
|
|
2877
|
+
<field name="is_quote_expired">False</field>
|
|
2878
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2879
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2880
|
+
<field name="state_code">E-ML-GM08-3-0026</field>
|
|
2881
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2882
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0823_-_Inserimento_richiesta_sul_Portale_del_DL')])]"/>
|
|
2883
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2884
|
+
</record>
|
|
2885
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0029" model="symple.triplet.phase.result">
|
|
2886
|
+
<field name="active">True</field>
|
|
2887
|
+
<field name="has_message">False</field>
|
|
2888
|
+
<field name="is_annulment">False</field>
|
|
2889
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2890
|
+
<field name="is_hidden">True</field>
|
|
2891
|
+
<field name="is_quote_expired">False</field>
|
|
2892
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2893
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2894
|
+
<field name="state_code">E-ML-GM08-3-0029</field>
|
|
2895
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2896
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1880_-_Verifica_Tipologia_di_Comunicazione')])]"/>
|
|
2897
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2898
|
+
</record>
|
|
2899
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0033" model="symple.triplet.phase.result">
|
|
2900
|
+
<field name="active">True</field>
|
|
2901
|
+
<field name="has_message">False</field>
|
|
2902
|
+
<field name="is_annulment">False</field>
|
|
2903
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2904
|
+
<field name="is_hidden">True</field>
|
|
2905
|
+
<field name="is_quote_expired">False</field>
|
|
2906
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2907
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2908
|
+
<field name="state_code">E-ML-GM08-3-0033</field>
|
|
2909
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2910
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0816_-_In_attesa_esito_ammissibilit_')])]"/>
|
|
2911
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2912
|
+
</record>
|
|
2913
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0036" model="symple.triplet.phase.result">
|
|
2914
|
+
<field name="active">True</field>
|
|
2915
|
+
<field name="has_message">False</field>
|
|
2916
|
+
<field name="is_annulment">False</field>
|
|
2917
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2918
|
+
<field name="is_hidden">True</field>
|
|
2919
|
+
<field name="is_quote_expired">False</field>
|
|
2920
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2921
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2922
|
+
<field name="state_code">E-ML-GM08-3-0036</field>
|
|
2923
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2924
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1761_-_Verifica_Inserimento_richiesta_su_Portale_DL')])]"/>
|
|
2925
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2926
|
+
</record>
|
|
2927
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0041" model="symple.triplet.phase.result">
|
|
2928
|
+
<field name="active">True</field>
|
|
2929
|
+
<field name="has_message">False</field>
|
|
2930
|
+
<field name="is_annulment">False</field>
|
|
2931
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2932
|
+
<field name="is_hidden">True</field>
|
|
2933
|
+
<field name="is_quote_expired">False</field>
|
|
2934
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2935
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2936
|
+
<field name="state_code">E-ML-GM08-3-0041</field>
|
|
2937
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2938
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0825_-_In_attesa_Esito_finale')])]"/>
|
|
2939
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2940
|
+
</record>
|
|
2941
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0064" model="symple.triplet.phase.result">
|
|
2942
|
+
<field name="active">True</field>
|
|
2943
|
+
<field name="has_message">False</field>
|
|
2944
|
+
<field name="is_annulment">False</field>
|
|
2945
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2946
|
+
<field name="is_hidden">True</field>
|
|
2947
|
+
<field name="is_quote_expired">False</field>
|
|
2948
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2949
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2950
|
+
<field name="state_code">E-ML-GM08-3-0064</field>
|
|
2951
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2952
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication')])]"/>
|
|
2953
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2954
|
+
</record>
|
|
2955
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0068" model="symple.triplet.phase.result">
|
|
2956
|
+
<field name="active">True</field>
|
|
2957
|
+
<field name="has_message">False</field>
|
|
2958
|
+
<field name="is_annulment">False</field>
|
|
2959
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2960
|
+
<field name="is_hidden">True</field>
|
|
2961
|
+
<field name="is_quote_expired">False</field>
|
|
2962
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2963
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2964
|
+
<field name="state_code">E-ML-GM08-3-0068</field>
|
|
2965
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2966
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento')])]"/>
|
|
2967
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2968
|
+
</record>
|
|
2969
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0071" model="symple.triplet.phase.result">
|
|
2970
|
+
<field name="active">True</field>
|
|
2971
|
+
<field name="has_message">False</field>
|
|
2972
|
+
<field name="is_annulment">False</field>
|
|
2973
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2974
|
+
<field name="is_hidden">True</field>
|
|
2975
|
+
<field name="is_quote_expired">False</field>
|
|
2976
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2977
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2978
|
+
<field name="state_code">E-ML-GM08-3-0071</field>
|
|
2979
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2980
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0832_-_Invio_Richiesta_Annullamento')])]"/>
|
|
2981
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2982
|
+
</record>
|
|
2983
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0074" model="symple.triplet.phase.result">
|
|
2984
|
+
<field name="active">True</field>
|
|
2985
|
+
<field name="has_message">False</field>
|
|
2986
|
+
<field name="is_annulment">False</field>
|
|
2987
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
2988
|
+
<field name="is_hidden">True</field>
|
|
2989
|
+
<field name="is_quote_expired">False</field>
|
|
2990
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
2991
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
2992
|
+
<field name="state_code">E-ML-GM08-3-0074</field>
|
|
2993
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
2994
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1939_-_Verifica_Inserimento_Annullamento_sul_Portale_del_DL')])]"/>
|
|
2995
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
2996
|
+
</record>
|
|
2997
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0077" model="symple.triplet.phase.result">
|
|
2998
|
+
<field name="active">True</field>
|
|
2999
|
+
<field name="has_message">False</field>
|
|
3000
|
+
<field name="is_annulment">False</field>
|
|
3001
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3002
|
+
<field name="is_hidden">True</field>
|
|
3003
|
+
<field name="is_quote_expired">False</field>
|
|
3004
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
3005
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
3006
|
+
<field name="state_code">E-ML-GM08-3-0077</field>
|
|
3007
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
3008
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0833_-_In_attesa_ricezione_Ammissibilit__Annullamento')])]"/>
|
|
3009
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
3010
|
+
</record>
|
|
3011
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0083" model="symple.triplet.phase.result">
|
|
3012
|
+
<field name="active">True</field>
|
|
3013
|
+
<field name="has_message">False</field>
|
|
3014
|
+
<field name="is_annulment">False</field>
|
|
3015
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3016
|
+
<field name="is_hidden">True</field>
|
|
3017
|
+
<field name="is_quote_expired">False</field>
|
|
3018
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
3019
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
3020
|
+
<field name="state_code">E-ML-GM08-3-0083</field>
|
|
3021
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
3022
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
3023
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
3024
|
+
</record>
|
|
3025
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-0087" model="symple.triplet.phase.result">
|
|
3026
|
+
<field name="active">True</field>
|
|
3027
|
+
<field name="has_message">False</field>
|
|
3028
|
+
<field name="is_annulment">False</field>
|
|
3029
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3030
|
+
<field name="is_hidden">True</field>
|
|
3031
|
+
<field name="is_quote_expired">False</field>
|
|
3032
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
3033
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
3034
|
+
<field name="state_code">E-ML-GM08-3-0087</field>
|
|
3035
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
3036
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0831_-_Verifica_Fase_Precedente')])]"/>
|
|
3037
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
3038
|
+
</record>
|
|
3039
|
+
<record id="symple_triplet_phase_A2345_-_Apertura_Wizard_Taglio_Colonna_GAS" model="symple.triplet.phase">
|
|
3040
|
+
<field name="active">True</field>
|
|
3041
|
+
<field name="allowed_process_ids" model="symple.pb.process" eval="[(6, 0, obj().search([('name','in',('ml_taglio_colonna',)),]).ids)]" />
|
|
3042
|
+
<field name="child_case">False</field>
|
|
3043
|
+
<field name="code"># Available variables:
|
|
3044
|
+
# - case_id: the case that just reached this phase
|
|
3045
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
3046
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
3047
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
3048
|
+
# - env: Odoo Environment on which the action is triggered
|
|
3049
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
3050
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
3051
|
+
# - ValidationError: Warning Exception to use with raise
|
|
3052
|
+
# - Command: x2Many commands namespace
|
|
3053
|
+
# - OrderedDict: ordered dictionaries
|
|
3054
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
3055
|
+
# (line = case id, func = phase name)
|
|
3056
|
+
# To return a result, assign: result = {...}
|
|
3057
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
3058
|
+
# phase result will not be set.
|
|
3059
|
+
|
|
3060
|
+
|
|
3061
|
+
|
|
3062
|
+
</field>
|
|
3063
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
3064
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
3065
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
3066
|
+
<field name="is_compute_refund">False</field>
|
|
3067
|
+
<field name="is_dl">False</field>
|
|
3068
|
+
<field name="is_needs_child_case">False</field>
|
|
3069
|
+
<field name="is_pick_refund_template">False</field>
|
|
3070
|
+
<field name="is_process_managed">False</field>
|
|
3071
|
+
<field name="is_quote_accepted">False</field>
|
|
3072
|
+
<field name="is_quote_sent">False</field>
|
|
3073
|
+
<field name="is_timeout">False</field>
|
|
3074
|
+
<field name="is_voidable">False</field>
|
|
3075
|
+
<field name="name">A2345 - Apertura Wizard Taglio Colonna GAS</field>
|
|
3076
|
+
</record>
|
|
3077
|
+
<record id="symple_triplet_phase_result_C1526_-_Esito_finale_OK_-_Interruzione_E-ML-GM08-3-0037" model="symple.triplet.phase.result">
|
|
3078
|
+
<field name="active">True</field>
|
|
3079
|
+
<field name="has_message">False</field>
|
|
3080
|
+
<field name="is_annulment">False</field>
|
|
3081
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3082
|
+
<field name="is_hidden">True</field>
|
|
3083
|
+
<field name="is_quote_expired">False</field>
|
|
3084
|
+
<field name="name">C1526 - Esito finale OK - Interruzione</field>
|
|
3085
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A2345_-_Apertura_Wizard_Taglio_Colonna_GAS"/>
|
|
3086
|
+
<field name="state_code">E-ML-GM08-3-0037</field>
|
|
3087
|
+
<field name="wizard_result">OK-150</field>
|
|
3088
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A0825_-_In_attesa_Esito_finale')])]"/>
|
|
3089
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-150')])" />
|
|
3090
|
+
</record>
|
|
3091
|
+
<record id="symple_triplet_phase_result_C1032_-_Acquisizione_Dati_E-ML-GM08-3-0088" model="symple.triplet.phase.result">
|
|
3092
|
+
<field name="active">True</field>
|
|
3093
|
+
<field name="has_message">False</field>
|
|
3094
|
+
<field name="is_annulment">False</field>
|
|
3095
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3096
|
+
<field name="is_hidden">False</field>
|
|
3097
|
+
<field name="is_quote_expired">False</field>
|
|
3098
|
+
<field name="name">C1032 - Acquisizione Dati</field>
|
|
3099
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna"/>
|
|
3100
|
+
<field name="state_code">E-ML-GM08-3-0088</field>
|
|
3101
|
+
<field name="wizard_result">SUCCESS</field>
|
|
3102
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A2345_-_Apertura_Wizard_Taglio_Colonna_GAS')])]"/>
|
|
3103
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
3104
|
+
</record>
|
|
3105
|
+
<record id="symple_triplet_phase_result_C1526_-_Esito_finale_OK_-_Interruzione_E-ML-GM08-3-00099" model="symple.triplet.phase.result">
|
|
3106
|
+
<field name="active">True</field>
|
|
3107
|
+
<field name="has_message">False</field>
|
|
3108
|
+
<field name="is_annulment">False</field>
|
|
3109
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3110
|
+
<field name="is_hidden">False</field>
|
|
3111
|
+
<field name="is_quote_expired">False</field>
|
|
3112
|
+
<field name="name">C1526 - Esito finale OK - Interruzione</field>
|
|
3113
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A2345_-_Apertura_Wizard_Taglio_Colonna_GAS"/>
|
|
3114
|
+
<field name="state_code">E-ML-GM08-3-00099</field>
|
|
3115
|
+
<field name="wizard_result">OK-150</field>
|
|
3116
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1790_-_Gestione_Errore_Annullamento')])]"/>
|
|
3117
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-150')])" />
|
|
3118
|
+
</record>
|
|
3119
|
+
<record id="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio" model="symple.triplet.phase">
|
|
3120
|
+
<field name="active">True</field>
|
|
3121
|
+
<field name="child_case">False</field>
|
|
3122
|
+
<field name="code"># Available variables:
|
|
3123
|
+
# - case_id: the case that just reached this phase
|
|
3124
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
3125
|
+
# - json_dumps: allows you to use JSON.dumps to converto object to json
|
|
3126
|
+
# - env: Odoo Environment on which the action is triggered
|
|
3127
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
3128
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
3129
|
+
# - ValidationError: Warning Exception to use with raise
|
|
3130
|
+
# - Command: x2Many commands namespace
|
|
3131
|
+
# - OrderedDict: ordered dictionaries
|
|
3132
|
+
# To return a result, assign: result = {...}
|
|
3133
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
3134
|
+
# phase result will not be set.
|
|
3135
|
+
|
|
3136
|
+
logs = []
|
|
3137
|
+
IrConfigParam = env["ir.config_parameter"]
|
|
3138
|
+
|
|
3139
|
+
|
|
3140
|
+
def get_assets(client_id, code):
|
|
3141
|
+
token = IrConfigParam.get_b2w_access_token()
|
|
3142
|
+
url = IrConfigParam.get_param("b2w_order_management_endpoint") + "assets"
|
|
3143
|
+
headers = {"Authorization": "Bearer " + token, "Content-Type": "application/json"}
|
|
3144
|
+
|
|
3145
|
+
body = json_dumps(
|
|
3146
|
+
{
|
|
3147
|
+
"filters": [
|
|
3148
|
+
{"field": "accountcode", "type": "=", "value": str(client_id)},
|
|
3149
|
+
{"field": "type", "type": "=", "value": "product"},
|
|
3150
|
+
{"field": "podcode", "type": "=", "value": code},
|
|
3151
|
+
],
|
|
3152
|
+
"sorters": [{"field": "created_date", "direction": "desc"}],
|
|
3153
|
+
"page": 1,
|
|
3154
|
+
"size": 999999,
|
|
3155
|
+
}
|
|
3156
|
+
)
|
|
3157
|
+
|
|
3158
|
+
response = request("POST", url, headers=headers, data=body)
|
|
3159
|
+
|
|
3160
|
+
if response.status_code != 200:
|
|
3161
|
+
try:
|
|
3162
|
+
logs.append({"message": "response json", "data": response.json()})
|
|
3163
|
+
except Exception:
|
|
3164
|
+
logs.append({"message": "response text", "data": response.text})
|
|
3165
|
+
|
|
3166
|
+
raise Exception("Non è stato possibile scaricare gli asset")
|
|
3167
|
+
|
|
3168
|
+
json = response.json()
|
|
3169
|
+
return json.get("items", [])
|
|
3170
|
+
|
|
3171
|
+
|
|
3172
|
+
def all_disconnected(assets):
|
|
3173
|
+
for asset in assets:
|
|
3174
|
+
if asset.get("sm_state") != "cessato":
|
|
3175
|
+
return False
|
|
3176
|
+
return True
|
|
3177
|
+
|
|
3178
|
+
|
|
3179
|
+
def disconnectable(assets):
|
|
3180
|
+
r = []
|
|
3181
|
+
for asset in assets:
|
|
3182
|
+
if asset.get("sm_state") == "attivo":
|
|
3183
|
+
r.append(asset)
|
|
3184
|
+
return r
|
|
3185
|
+
|
|
3186
|
+
|
|
3187
|
+
try:
|
|
3188
|
+
client_id = case_id.customer_id.id
|
|
3189
|
+
if not case_id.pdr_ids:
|
|
3190
|
+
result = "KO"
|
|
3191
|
+
raise ValidationError("The PDR does not exist in the CRM")
|
|
3192
|
+
|
|
3193
|
+
if not case_id.service_point_ids:
|
|
3194
|
+
result = "KO"
|
|
3195
|
+
raise ValidationError("No service points found for the PDR")
|
|
3196
|
+
|
|
3197
|
+
point = case_id.pdr_ids[0]
|
|
3198
|
+
assets = get_assets(client_id, point.code)
|
|
3199
|
+
d = disconnectable(assets)
|
|
3200
|
+
|
|
3201
|
+
if len(assets) == 0:
|
|
3202
|
+
case_id.write(
|
|
3203
|
+
{
|
|
3204
|
+
"error_message": "The POD {} does not exist in the CRM".format(
|
|
3205
|
+
point.code,
|
|
3206
|
+
)
|
|
3207
|
+
}
|
|
3208
|
+
)
|
|
3209
|
+
result = "KO"
|
|
3210
|
+
elif all_disconnected(assets):
|
|
3211
|
+
result = "OK-FORCE"
|
|
3212
|
+
else:
|
|
3213
|
+
if len(d) > 1:
|
|
3214
|
+
result = "KO"
|
|
3215
|
+
raise ValidationError("More than one PDR instance active in the CRM")
|
|
3216
|
+
else:
|
|
3217
|
+
result = "OK"
|
|
3218
|
+
|
|
3219
|
+
|
|
3220
|
+
except Exception as inst:
|
|
3221
|
+
case_id.write({"error_message": inst})
|
|
3222
|
+
log(format_exc(), level="error")
|
|
3223
|
+
logs.append(
|
|
3224
|
+
{
|
|
3225
|
+
"message": "Exception occurred",
|
|
3226
|
+
"data": {"exception": str(inst), "traceback": format_exc()},
|
|
3227
|
+
}
|
|
3228
|
+
)
|
|
3229
|
+
|
|
3230
|
+
if logs:
|
|
3231
|
+
log(json_dumps(logs))</field>
|
|
3232
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
3233
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','New')])" />
|
|
3234
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
3235
|
+
<field name="is_compute_refund">False</field>
|
|
3236
|
+
<field name="is_dl">False</field>
|
|
3237
|
+
<field name="is_needs_child_case">False</field>
|
|
3238
|
+
<field name="is_pick_refund_template">False</field>
|
|
3239
|
+
<field name="is_process_managed">False</field>
|
|
3240
|
+
<field name="is_quote_accepted">False</field>
|
|
3241
|
+
<field name="is_quote_sent">False</field>
|
|
3242
|
+
<field name="is_timeout">False</field>
|
|
3243
|
+
<field name="is_voidable">False</field>
|
|
3244
|
+
<field name="name">A1093 - Apertura Case Interruzione Servizio</field>
|
|
3245
|
+
<field name="set_result_automatically">from_code</field>
|
|
3246
|
+
</record>
|
|
3247
|
+
<record id="symple_triplet_phase_result_C1613_-_Controlli_CRM_OK_E-ML-GM08-3-0001-prelim" model="symple.triplet.phase.result">
|
|
3248
|
+
<field name="active">True</field>
|
|
3249
|
+
<field name="has_message">False</field>
|
|
3250
|
+
<field name="is_annulment">False</field>
|
|
3251
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3252
|
+
<field name="is_hidden">False</field>
|
|
3253
|
+
<field name="is_quote_expired">False</field>
|
|
3254
|
+
<field name="name">C1613 - Controlli CRM OK</field>
|
|
3255
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
3256
|
+
<field name="state_code">E-ML-GM08-3-0001-prelim</field>
|
|
3257
|
+
<field name="wizard_result">SUCCESS</field>
|
|
3258
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio')])]"/>
|
|
3259
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
3260
|
+
</record>
|
|
3261
|
+
<record id="symple_triplet_phase_result_C2214_-_Controlli_CRM_OK_Forzato_E-ML-GM08-3-00091" model="symple.triplet.phase.result">
|
|
3262
|
+
<field name="active">True</field>
|
|
3263
|
+
<field name="has_message">False</field>
|
|
3264
|
+
<field name="is_annulment">False</field>
|
|
3265
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3266
|
+
<field name="is_hidden">False</field>
|
|
3267
|
+
<field name="is_quote_expired">False</field>
|
|
3268
|
+
<field name="name">C2214 - Controlli CRM OK Forzato</field>
|
|
3269
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
3270
|
+
<field name="state_code">E-ML-GM08-3-00091</field>
|
|
3271
|
+
<field name="wizard_result">PARTIAL_SUCCESS</field>
|
|
3272
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio')])]"/>
|
|
3273
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Partial Success')])" />
|
|
3274
|
+
</record>
|
|
3275
|
+
<record id="symple_workflow_ML_-_Taglio_Colonna_Gas_per_Morosit_" model="symple.workflow">
|
|
3276
|
+
<field name="active">True</field>
|
|
3277
|
+
<field name="code"># Available variables:
|
|
3278
|
+
# - case_id: the case that just reached this phase
|
|
3279
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
3280
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
3281
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
3282
|
+
# - env: Odoo Environment on which the action is triggered
|
|
3283
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
3284
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
3285
|
+
# - ValidationError: Warning Exception to use with raise
|
|
3286
|
+
# - Command: x2Many commands namespace
|
|
3287
|
+
# - OrderedDict: ordered dictionaries
|
|
3288
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
3289
|
+
# (line = case id, func = phase name)
|
|
3290
|
+
# To return a result, assign: result = {...}
|
|
3291
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
3292
|
+
# phase result will not be set.
|
|
3293
|
+
|
|
3294
|
+
|
|
3295
|
+
# get headers
|
|
3296
|
+
try:
|
|
3297
|
+
tenant_id = env["ir.config_parameter"].sudo().get_param("m2c_header_tenant_id")
|
|
3298
|
+
org_token = env["ir.config_parameter"].sudo().get_param("m2c_header_org_token")
|
|
3299
|
+
headers = {"tenantId": tenant_id, "orgToken": org_token}
|
|
3300
|
+
date_format = "%Y-%m-%dT%H:%M:%S"
|
|
3301
|
+
write_date = (
|
|
3302
|
+
str(case_id.write_date.strftime(date_format)) if case_id.write_date else False
|
|
3303
|
+
)
|
|
3304
|
+
create_date = str(case_id.create_date.strftime(date_format))
|
|
3305
|
+
last_write_date = write_date if write_date else create_date
|
|
3306
|
+
|
|
3307
|
+
map_status = {"new": 1, "working": 2, "annulled": 4, "ok": 5, "ko": 7, "solved": 8}
|
|
3308
|
+
statusId = map_status.get(case_id.stage_id.stage_code, False)
|
|
3309
|
+
|
|
3310
|
+
phaseId = case_id.triplet_phase_id.phase_code.split("-")[-1]
|
|
3311
|
+
|
|
3312
|
+
# create json
|
|
3313
|
+
m2c_dict = {
|
|
3314
|
+
"path": "morosity",
|
|
3315
|
+
"case_id": str(case_id.id),
|
|
3316
|
+
"method": "PATCH",
|
|
3317
|
+
"case_name": case_id.name,
|
|
3318
|
+
"no_error": True,
|
|
3319
|
+
"payload": {
|
|
3320
|
+
"closed": case_id.stage_id.is_close,
|
|
3321
|
+
"statusId": statusId,
|
|
3322
|
+
"statusLabel": case_id.with_context(lang="it_IT").stage_id.name,
|
|
3323
|
+
"phaseLabel": case_id.triplet_phase_id.name,
|
|
3324
|
+
"phaseId": phaseId,
|
|
3325
|
+
"phaseUpdateDate": str(last_write_date),
|
|
3326
|
+
#'outReqId': len(case_id.triplet_history_phase_ids)
|
|
3327
|
+
"outReqId": int(time.time() * 1e6),
|
|
3328
|
+
},
|
|
3329
|
+
}
|
|
3330
|
+
|
|
3331
|
+
m2c_json = json_dumps(m2c_dict)
|
|
3332
|
+
# send to symphony
|
|
3333
|
+
m2c_url = "http://b2w-symphony-rest-service/api/symphony/process-instances/CREDIT_passthrough"
|
|
3334
|
+
response = request("POST", m2c_url, headers=headers, data=m2c_json)
|
|
3335
|
+
except Exception as inst:
|
|
3336
|
+
case_id.write({"error_message": inst})
|
|
3337
|
+
log(format_exc(), level="error")
|
|
3338
|
+
</field>
|
|
3339
|
+
<field name="execute_code_every_phase">True</field>
|
|
3340
|
+
<field name="is_tiqv">False</field>
|
|
3341
|
+
<field name="name">ML - Taglio Colonna Gas per Morosità</field>
|
|
3342
|
+
<field name="triplet_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3343
|
+
<field name="bpmn_diagram"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
|
|
3344
|
+
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
|
|
3345
|
+
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
|
|
3346
|
+
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
|
|
3347
|
+
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
|
|
3348
|
+
xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0"
|
|
3349
|
+
xmlns:color="http://www.omg.org/spec/BPMN/non-normative/color/1.0">
|
|
3350
|
+
<bpmn:process id="process_415" name="ML - Taglio Colonna Gas per Morosità" isExecutable="false"><bpmn:startEvent id="start"/><bpmn:scriptTask id="phase15935" name="Controlli CRM Apertura Case"/><bpmn:scriptTask id="phase15889" name="A1938 - Verifica Compatibilità Processi"/><bpmn:userTask id="phase15890" name="A1937 - Verifica Case Incompatibile"/><bpmn:serviceTask id="phase15920" name="A0811 - Case Lavorato KO"/><bpmn:serviceTask id="phase15922" name="A1309 - Chiuso e Riattivato"/><bpmn:userTask id="phase15891" name="A1311 - Invio Lettera (Extra sistema)"/><bpmn:userTask id="phase15892" name="A1310 - In attesa 11 giorni lavorativi"/><bpmn:scriptTask id="phase15893" name="A1559 - Invio alla Market Communication"/><bpmn:serviceTask id="phase15894" name="A1715 - In attesa check IFS"/><bpmn:userTask id="phase15896" name="A0823 - Inserimento richiesta sul Portale del DL"/><bpmn:serviceTask id="phase15897" name="A1880 - Verifica Tipologia di Comunicazione"/><bpmn:userTask id="phase15898" name="A0816 - In attesa esito ammissibilità"/><bpmn:userTask id="phase15900" name="A0825 - In attesa Esito finale"/><bpmn:userTask id="phase15929" name="A2345 - Apertura Wizard Taglio Colonna GAS"/><bpmn:serviceTask id="phase15901" name="A1312 - Controlli CRM per Taglio Colonna"/><bpmn:scriptTask id="phase15902" name="A1316 - CRM - Creazione Ordine per Taglio Colonna"/><bpmn:scriptTask id="phase15903" name="A1313 - Integrazione M2C per Taglio Colonna"/><bpmn:serviceTask id="phase15904" name="A1314 - In Attesa M2C per Taglio Colonna"/><bpmn:scriptTask id="phase15905" name="A1315 - Aggiornamento CRM per Taglio Colonna"/><bpmn:serviceTask id="phase15906" name="A1379 - Apertura Case Invio Onere"/><bpmn:serviceTask id="phase15919" name="A1378 - Case Lavorato - Punto Interrotto"/><bpmn:serviceTask id="phase15911" name="A1321 - Errore in fase di Aggiornamento CRM per Taglio Colonna"/><bpmn:serviceTask id="phase15921" name="A0809 - Case Annullato"/><bpmn:scriptTask id="phase15910" name="A1320 - Errore in fase Attesa Esito M2C per Taglio Colonna"/><bpmn:serviceTask id="phase15909" name="A1319 - Errore in fase di Integrazione M2C per Taglio Colonna"/><bpmn:serviceTask id="phase15908" name="A1318 - Errore in fase di Creazione Ordine CRM per Taglio Colonna"/><bpmn:serviceTask id="phase15907" name="A1317 - Errore in fase di Controlli CRM per Taglio Colonna"/><bpmn:serviceTask id="phase15895" name="A1717 - Gestione scarti da cruscotto"/><bpmn:scriptTask id="phase15912" name="A1595 - Invio Annullamento alla Market Communication"/><bpmn:serviceTask id="phase15913" name="A1767 - In attesa check IFS Annullamento"/><bpmn:serviceTask id="phase15914" name="A1922 - Inserimento Richiesta Annullamento sul Portale del DL"/><bpmn:serviceTask id="phase15916" name="A0833 - In attesa ricezione Ammissibilità Annullamento"/><bpmn:serviceTask id="phase15917" name="A1790 - Gestione Errore Annullamento"/><bpmn:scriptTask id="phase15918" name="A0831 - Verifica Fase Precedente"/><bpmn:userTask id="phase15915" name="A1939 - Verifica Inserimento Annullamento sul Portale del DL"/><bpmn:userTask id="phase15899" name="A1761 - Verifica Inserimento richiesta su Portale DL"/><bpmn:sequenceFlow id="flowStart" sourceRef="start" targetRef="phase15935"/><bpmn:sequenceFlow id="flow27980" name="Controlli CRM OK" sourceRef="phase15935" targetRef="phase15889"/><bpmn:sequenceFlow id="flow15889" sourceRef="phase15889" targetRef="gateway15889"/><bpmn:sequenceFlow id="flow27880" name="C2638 - Incompatibilità Bloccante" sourceRef="gateway15889" targetRef="phase15890"/><bpmn:sequenceFlow id="flow15890" sourceRef="phase15890" targetRef="gateway15890"/><bpmn:sequenceFlow id="flow27884" name="C2647 - OK - Incompatibilità Risolta" sourceRef="gateway15890" targetRef="phase15889"/><bpmn:sequenceFlow id="flow27885" name="C2641 - KO - Incompatibilità Non risolta" sourceRef="gateway15890" targetRef="phase15920"/><bpmn:sequenceFlow id="flowEnd15920" sourceRef="phase15920" targetRef="end15920"/><bpmn:sequenceFlow id="flow27886" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15890" targetRef="phase15922"/><bpmn:sequenceFlow id="flowEnd15922" sourceRef="phase15922" targetRef="end15922"/><bpmn:sequenceFlow id="flow27881" name="C2639 - Incompatibilità Non bloccante" sourceRef="gateway15889" targetRef="phase15891"/><bpmn:sequenceFlow id="flow15891" sourceRef="phase15891" targetRef="gateway15891"/><bpmn:sequenceFlow id="flow27887" name="C1884 - OK - Lettera inviata" sourceRef="gateway15891" targetRef="phase15892"/><bpmn:sequenceFlow id="flow15892" sourceRef="phase15892" targetRef="gateway15892"/><bpmn:sequenceFlow id="flow27891" name="C1887 - OK - Avanzamento dopo 11 giorni" sourceRef="gateway15892" targetRef="phase15893"/><bpmn:sequenceFlow id="flow15893" sourceRef="phase15893" targetRef="gateway15893"/><bpmn:sequenceFlow id="flow27894" name="C2458 - OK Inviata" sourceRef="gateway15893" targetRef="phase15894"/><bpmn:sequenceFlow id="flow15894" sourceRef="phase15894" targetRef="gateway15894"/><bpmn:sequenceFlow id="flow27896" name="C2224 - OK - Ammissibilità Hub" sourceRef="gateway15894" targetRef="phase15896"/><bpmn:sequenceFlow id="flow15896" sourceRef="phase15896" targetRef="gateway15896"/><bpmn:sequenceFlow id="flow27902" name="C1035 - Inserita richiesta sul portale del DL" sourceRef="gateway15896" targetRef="phase15897"/><bpmn:sequenceFlow id="flow15897" sourceRef="phase15897" targetRef="gateway15897"/><bpmn:sequenceFlow id="flow27906" name="C2602 - Tipologia RPA" sourceRef="gateway15897" targetRef="phase15898"/><bpmn:sequenceFlow id="flow15898" sourceRef="phase15898" targetRef="gateway15898"/><bpmn:sequenceFlow id="flow27909" name="C1037 - Ammissibilità OK" sourceRef="gateway15898" targetRef="phase15900"/><bpmn:sequenceFlow id="flow15900" sourceRef="phase15900" targetRef="gateway15900"/><bpmn:sequenceFlow id="flow27916" name="C1526 - Esito finale OK - Interruzione" sourceRef="gateway15900" targetRef="phase15929"/><bpmn:sequenceFlow id="flow27973" name="C1032 - Acquisizione Dati" sourceRef="phase15929" targetRef="phase15901"/><bpmn:sequenceFlow id="flow15901" sourceRef="phase15901" targetRef="gateway15901"/><bpmn:sequenceFlow id="flow27921" name="C1613 - Controlli CRM OK" sourceRef="gateway15901" targetRef="phase15902"/><bpmn:sequenceFlow id="flow15902" sourceRef="phase15902" targetRef="gateway15902"/><bpmn:sequenceFlow id="flow27923" name="C1891 - OK - Creazione Ordine" sourceRef="gateway15902" targetRef="phase15903"/><bpmn:sequenceFlow id="flow15903" sourceRef="phase15903" targetRef="gateway15903"/><bpmn:sequenceFlow id="flow27925" name="C1888 - OK - Integrazione M2C per Taglio Colonna" sourceRef="gateway15903" targetRef="phase15904"/><bpmn:sequenceFlow id="flow15904" sourceRef="phase15904" targetRef="gateway15904"/><bpmn:sequenceFlow id="flow27927" name="C1890 - OK - Esito M2C" sourceRef="gateway15904" targetRef="phase15905"/><bpmn:sequenceFlow id="flow15905" sourceRef="phase15905" targetRef="gateway15905"/><bpmn:sequenceFlow id="flow27929" name="C1889 - OK - Aggiornamento CRM" sourceRef="gateway15905" targetRef="phase15906"/><bpmn:sequenceFlow id="flow27931" name="C2003 - OK - Case di invio oneri aperto" sourceRef="phase15906" targetRef="phase15919"/><bpmn:sequenceFlow id="flowEnd15919" sourceRef="phase15919" targetRef="end15919"/><bpmn:sequenceFlow id="flow27930" name="C1922 - Errore in fase Aggiornamento CRM per Taglio Colonna" sourceRef="gateway15905" targetRef="phase15911"/><bpmn:sequenceFlow id="flow15911" sourceRef="phase15911" targetRef="gateway15911"/><bpmn:sequenceFlow id="flow27940" name="C1923 - Annulla - Aggiornamento CRM" sourceRef="gateway15911" targetRef="phase15921"/><bpmn:sequenceFlow id="flowEnd15921" sourceRef="phase15921" targetRef="end15921"/><bpmn:sequenceFlow id="flow27941" name="C1924 - OK - Risolto Errore in fase Aggiornamento CRM per Taglio Colonna" sourceRef="gateway15911" targetRef="phase15905"/><bpmn:sequenceFlow id="flow27928" name="C1919 - Errore in fase di Attesa Esito M2C per Taglio Colonna" sourceRef="gateway15904" targetRef="phase15910"/><bpmn:sequenceFlow id="flow15910" sourceRef="phase15910" targetRef="gateway15910"/><bpmn:sequenceFlow id="flow27938" name="C1920 - Annulla - Attesa Esito M2c" sourceRef="gateway15910" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27939" name="C1921 - OK - Risolto Errore in fase Attesa Esito M2C per Taglio Colonna" sourceRef="gateway15910" targetRef="phase15903"/><bpmn:sequenceFlow id="flow27926" name="C1895 - KO - Errore Integrazione M2C" sourceRef="gateway15903" targetRef="phase15909"/><bpmn:sequenceFlow id="flow15909" sourceRef="phase15909" targetRef="gateway15909"/><bpmn:sequenceFlow id="flow27936" name="C1917 - Annulla - Integrazione M2C per Taglio Colonna" sourceRef="gateway15909" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27937" name="C1918 - OK - Errore Risolto in fase Integrazione M2C per Taglio Colonna" sourceRef="gateway15909" targetRef="phase15903"/><bpmn:sequenceFlow id="flow27924" name="C1892 - KO - Creazione Ordine CRM" sourceRef="gateway15902" targetRef="phase15908"/><bpmn:sequenceFlow id="flow15908" sourceRef="phase15908" targetRef="gateway15908"/><bpmn:sequenceFlow id="flow27934" name="C1893 - Annulla Creazione Ordine CRM" sourceRef="gateway15908" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27935" name="C1894 - OK - Errore Risolto Creazione Ordine" sourceRef="gateway15908" targetRef="phase15902"/><bpmn:sequenceFlow id="flow27922" name="C1614 - Controlli CRM KO" sourceRef="gateway15901" targetRef="phase15907"/><bpmn:sequenceFlow id="flow15907" sourceRef="phase15907" targetRef="gateway15907"/><bpmn:sequenceFlow id="flow27932" name="C1926 - OK - Risolto Errore durante Controlli CRM" sourceRef="gateway15907" targetRef="phase15901"/><bpmn:sequenceFlow id="flow27933" name="C1925 - Annullamento in fase di Controlli CRM per Taglio Colonna" sourceRef="gateway15907" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27917" name="C1043 - Esito finale KO" sourceRef="gateway15900" targetRef="phase15895"/><bpmn:sequenceFlow id="flow15895" sourceRef="phase15895" targetRef="gateway15895"/><bpmn:sequenceFlow id="flow27899" name="C2416 - Risottomessa da cruscotto" sourceRef="gateway15895" targetRef="phase15894"/><bpmn:sequenceFlow id="flow27900" name="C1931 - Errore non rilavorabile" sourceRef="gateway15895" targetRef="phase15920"/><bpmn:sequenceFlow id="flow27901" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15895" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27918" name="C2655 - Richiesta Gestione Sollecito" sourceRef="gateway15900" targetRef="phase15900"/><bpmn:sequenceFlow id="flow27919" name="C1001 - Annullamento" sourceRef="gateway15900" targetRef="phase15912"/><bpmn:sequenceFlow id="flow15912" sourceRef="phase15912" targetRef="gateway15912"/><bpmn:sequenceFlow id="flow27942" name="C2458 - OK Inviata" sourceRef="gateway15912" targetRef="phase15913"/><bpmn:sequenceFlow id="flow15913" sourceRef="phase15913" targetRef="gateway15913"/><bpmn:sequenceFlow id="flow27944" name="C2256 - OK - Annullato Hub" sourceRef="gateway15913" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27945" name="C2475 - OK - Ammissibilità Annullamento Hub" sourceRef="gateway15913" targetRef="phase15914"/><bpmn:sequenceFlow id="flow15914" sourceRef="phase15914" targetRef="gateway15914"/><bpmn:sequenceFlow id="flow27948" name="C1058 - Inserita richiesta Annullamento sul portale del DL" sourceRef="gateway15914" targetRef="phase15916"/><bpmn:sequenceFlow id="flow15916" sourceRef="phase15916" targetRef="gateway15916"/><bpmn:sequenceFlow id="flow27954" name="C1059 - Ammissibilità Annullamento OK" sourceRef="gateway15916" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27955" name="C1060 - Ammissibilità Annullamento KO" sourceRef="gateway15916" targetRef="phase15917"/><bpmn:sequenceFlow id="flow15917" sourceRef="phase15917" targetRef="gateway15917"/><bpmn:sequenceFlow id="flow27957" name="C1035 - Inserita richiesta sul portale del DL" sourceRef="gateway15917" targetRef="phase15897"/><bpmn:sequenceFlow id="flow27958" name="C1037 - Ammissibilità OK" sourceRef="gateway15917" targetRef="phase15900"/><bpmn:sequenceFlow id="flow27959" name="C1038 - Ammissibilità KO" sourceRef="gateway15917" targetRef="phase15895"/><bpmn:sequenceFlow id="flow27960" name="C2416 - Risottomessa da cruscotto" sourceRef="gateway15917" targetRef="phase15913"/><bpmn:sequenceFlow id="flow27961" name="C2409 - KO Confermato" sourceRef="gateway15917" targetRef="phase15918"/><bpmn:sequenceFlow id="flow15918" sourceRef="phase15918" targetRef="gateway15918"/><bpmn:sequenceFlow id="flow27963" name="C1055 - Ritorno in In attesa esito Ammissibilità" sourceRef="gateway15918" targetRef="phase15898"/><bpmn:sequenceFlow id="flow27964" name="C2482 - Ritorno in Inserimento richiesta sul portale del DL" sourceRef="gateway15918" targetRef="phase15896"/><bpmn:sequenceFlow id="flow27965" name="C1056 - Ritorno in In attesa Esito finale" sourceRef="gateway15918" targetRef="phase15900"/><bpmn:sequenceFlow id="flow27966" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15918" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27962" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15917" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27956" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15916" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27949" name="C2462 - KO Invio" sourceRef="gateway15914" targetRef="phase15915"/><bpmn:sequenceFlow id="flow15915" sourceRef="phase15915" targetRef="gateway15915"/><bpmn:sequenceFlow id="flow27951" name="C1058 - Inserita richiesta Annullamento sul portale del DL" sourceRef="gateway15915" targetRef="phase15916"/><bpmn:sequenceFlow id="flow27952" name="C2463 - Gestito Fuori linea" sourceRef="gateway15915" targetRef="phase15916"/><bpmn:sequenceFlow id="flow27953" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15915" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27950" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15914" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27946" name="C2476 - KO - Ammissibilità Annullamento Hub" sourceRef="gateway15913" targetRef="phase15917"/><bpmn:sequenceFlow id="flow27947" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15913" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27943" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15912" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27920" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15900" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27910" name="C1038 - Ammissibilità KO" sourceRef="gateway15898" targetRef="phase15895"/><bpmn:sequenceFlow id="flow27911" name="C1001 - Annullamento" sourceRef="gateway15898" targetRef="phase15912"/><bpmn:sequenceFlow id="flow27912" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15898" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27907" name="C2603 - Tipologia PEC" sourceRef="gateway15897" targetRef="phase15900"/><bpmn:sequenceFlow id="flow27908" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15897" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27903" name="C2462 - KO Invio" sourceRef="gateway15896" targetRef="phase15899"/><bpmn:sequenceFlow id="flow15899" sourceRef="phase15899" targetRef="gateway15899"/><bpmn:sequenceFlow id="flow27913" name="C1035 - Inserita richiesta sul portale del DL" sourceRef="gateway15899" targetRef="phase15897"/><bpmn:sequenceFlow id="flow27914" name="C2463 - Gestito Fuori linea" sourceRef="gateway15899" targetRef="phase15897"/><bpmn:sequenceFlow id="flow27915" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15899" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27904" name="C1001 - Annullamento" sourceRef="gateway15896" targetRef="phase15912"/><bpmn:sequenceFlow id="flow27905" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15896" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27897" name="C2225 - KO - Ammissibilità Hub" sourceRef="gateway15894" targetRef="phase15895"/><bpmn:sequenceFlow id="flow27898" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15894" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27895" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15893" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27892" name="C1001 - Annullamento" sourceRef="gateway15892" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27893" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15892" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27888" name="C1885 - KO - Lettera non inviata" sourceRef="gateway15891" targetRef="phase15920"/><bpmn:sequenceFlow id="flow27889" name="C1886 - Annullamento Case durante Invio Lettera" sourceRef="gateway15891" targetRef="phase15921"/><bpmn:sequenceFlow id="flow27890" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15891" targetRef="phase15922"/><bpmn:sequenceFlow id="flow27882" name="C2654 - Processo Compatibile" sourceRef="gateway15889" targetRef="phase15891"/><bpmn:sequenceFlow id="flow27883" name="C1883 - Chiuso e Riattivato da M2C" sourceRef="gateway15889" targetRef="phase15922"/><bpmn:exclusiveGateway id="gateway15889"/><bpmn:exclusiveGateway id="gateway15890"/><bpmn:exclusiveGateway id="gateway15891"/><bpmn:exclusiveGateway id="gateway15892"/><bpmn:exclusiveGateway id="gateway15893"/><bpmn:exclusiveGateway id="gateway15894"/><bpmn:exclusiveGateway id="gateway15896"/><bpmn:exclusiveGateway id="gateway15897"/><bpmn:exclusiveGateway id="gateway15898"/><bpmn:exclusiveGateway id="gateway15900"/><bpmn:exclusiveGateway id="gateway15901"/><bpmn:exclusiveGateway id="gateway15902"/><bpmn:exclusiveGateway id="gateway15903"/><bpmn:exclusiveGateway id="gateway15904"/><bpmn:exclusiveGateway id="gateway15905"/><bpmn:exclusiveGateway id="gateway15911"/><bpmn:exclusiveGateway id="gateway15910"/><bpmn:exclusiveGateway id="gateway15909"/><bpmn:exclusiveGateway id="gateway15908"/><bpmn:exclusiveGateway id="gateway15907"/><bpmn:exclusiveGateway id="gateway15895"/><bpmn:exclusiveGateway id="gateway15912"/><bpmn:exclusiveGateway id="gateway15913"/><bpmn:exclusiveGateway id="gateway15914"/><bpmn:exclusiveGateway id="gateway15916"/><bpmn:exclusiveGateway id="gateway15917"/><bpmn:exclusiveGateway id="gateway15918"/><bpmn:exclusiveGateway id="gateway15915"/><bpmn:exclusiveGateway id="gateway15899"/><bpmn:endEvent id="end15920"/><bpmn:endEvent id="end15922"/><bpmn:endEvent id="end15919"/><bpmn:endEvent id="end15921"/></bpmn:process><bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
|
3351
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="process_415"><bpmndi:BPMNShape id="start_di" bpmnElement="start" ><dc:Bounds x="150" y="-18.0" width="36" height="36"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15935_di" bpmnElement="phase15935" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="286" y="-40.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15889_di" bpmnElement="phase15889" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="496" y="-40.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15889_di" bpmnElement="gateway15889" isMarkerVisible="true"><dc:Bounds x="706" y="-25.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15890_di" bpmnElement="phase15890" ><dc:Bounds x="856" y="-40.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15890_di" bpmnElement="gateway15890" isMarkerVisible="true"><dc:Bounds x="1066" y="-25.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15920_di" bpmnElement="phase15920" bioc:stroke="#831311" bioc:fill="#ffcdd2" color:background-color="#ffcdd2" color:border-color="#831311"><dc:Bounds x="1216" y="110.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="end15920_di" bpmnElement="end15920" bioc:stroke="#831311" bioc:fill="#ffcdd2" color:background-color="#ffcdd2" color:border-color="#831311"><dc:Bounds x="1426" y="132.0" width="36" height="36"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15922_di" bpmnElement="phase15922" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022"><dc:Bounds x="1216" y="260.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="end15922_di" bpmnElement="end15922" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022"><dc:Bounds x="1426" y="282.0" width="36" height="36"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15891_di" bpmnElement="phase15891" ><dc:Bounds x="856" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15891_di" bpmnElement="gateway15891" isMarkerVisible="true"><dc:Bounds x="1066" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15892_di" bpmnElement="phase15892" ><dc:Bounds x="1216" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15892_di" bpmnElement="gateway15892" isMarkerVisible="true"><dc:Bounds x="1426" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15893_di" bpmnElement="phase15893" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="1576" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15893_di" bpmnElement="gateway15893" isMarkerVisible="true"><dc:Bounds x="1786" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15894_di" bpmnElement="phase15894" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="1936" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15894_di" bpmnElement="gateway15894" isMarkerVisible="true"><dc:Bounds x="2146" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15896_di" bpmnElement="phase15896" ><dc:Bounds x="2296" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15896_di" bpmnElement="gateway15896" isMarkerVisible="true"><dc:Bounds x="2506" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15897_di" bpmnElement="phase15897" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="2656" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15897_di" bpmnElement="gateway15897" isMarkerVisible="true"><dc:Bounds x="2866" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15898_di" bpmnElement="phase15898" ><dc:Bounds x="3016" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15898_di" bpmnElement="gateway15898" isMarkerVisible="true"><dc:Bounds x="3226" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15900_di" bpmnElement="phase15900" ><dc:Bounds x="3376" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15900_di" bpmnElement="gateway15900" isMarkerVisible="true"><dc:Bounds x="3586" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15929_di" bpmnElement="phase15929" ><dc:Bounds x="3736" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15901_di" bpmnElement="phase15901" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="3946" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15901_di" bpmnElement="gateway15901" isMarkerVisible="true"><dc:Bounds x="4156" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15902_di" bpmnElement="phase15902" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4306" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15902_di" bpmnElement="gateway15902" isMarkerVisible="true"><dc:Bounds x="4516" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15903_di" bpmnElement="phase15903" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4666" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15903_di" bpmnElement="gateway15903" isMarkerVisible="true"><dc:Bounds x="4876" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15904_di" bpmnElement="phase15904" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5026" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15904_di" bpmnElement="gateway15904" isMarkerVisible="true"><dc:Bounds x="5236" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15905_di" bpmnElement="phase15905" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5386" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15905_di" bpmnElement="gateway15905" isMarkerVisible="true"><dc:Bounds x="5596" y="425.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15906_di" bpmnElement="phase15906" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5746" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15919_di" bpmnElement="phase15919" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022"><dc:Bounds x="5956" y="410.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="end15919_di" bpmnElement="end15919" bioc:stroke="#205022" bioc:fill="#c8e6c9" color:background-color="#c8e6c9" color:border-color="#205022"><dc:Bounds x="6166" y="432.0" width="36" height="36"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15911_di" bpmnElement="phase15911" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5746" y="560.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15911_di" bpmnElement="gateway15911" isMarkerVisible="true"><dc:Bounds x="5956" y="575.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15921_di" bpmnElement="phase15921" bioc:stroke="#6b3c00" bioc:fill="#ffe0b2" color:background-color="#ffe0b2" color:border-color="#6b3c00"><dc:Bounds x="6106" y="560.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="end15921_di" bpmnElement="end15921" bioc:stroke="#6b3c00" bioc:fill="#ffe0b2" color:background-color="#ffe0b2" color:border-color="#6b3c00"><dc:Bounds x="6316" y="582.0" width="36" height="36"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15910_di" bpmnElement="phase15910" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5386" y="710.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15910_di" bpmnElement="gateway15910" isMarkerVisible="true"><dc:Bounds x="5596" y="725.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15909_di" bpmnElement="phase15909" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5026" y="860.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15909_di" bpmnElement="gateway15909" isMarkerVisible="true"><dc:Bounds x="5236" y="875.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15908_di" bpmnElement="phase15908" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4666" y="1010.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15908_di" bpmnElement="gateway15908" isMarkerVisible="true"><dc:Bounds x="4876" y="1025.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15907_di" bpmnElement="phase15907" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4306" y="1160.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15907_di" bpmnElement="gateway15907" isMarkerVisible="true"><dc:Bounds x="4516" y="1175.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15895_di" bpmnElement="phase15895" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="3736" y="1310.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15895_di" bpmnElement="gateway15895" isMarkerVisible="true"><dc:Bounds x="3946" y="1325.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15912_di" bpmnElement="phase15912" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="3736" y="1460.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15912_di" bpmnElement="gateway15912" isMarkerVisible="true"><dc:Bounds x="3946" y="1475.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15913_di" bpmnElement="phase15913" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4096" y="1460.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15913_di" bpmnElement="gateway15913" isMarkerVisible="true"><dc:Bounds x="4306" y="1475.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15914_di" bpmnElement="phase15914" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4456" y="1610.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15914_di" bpmnElement="gateway15914" isMarkerVisible="true"><dc:Bounds x="4666" y="1625.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15916_di" bpmnElement="phase15916" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="4816" y="1610.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15916_di" bpmnElement="gateway15916" isMarkerVisible="true"><dc:Bounds x="5026" y="1625.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15917_di" bpmnElement="phase15917" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5176" y="1760.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15917_di" bpmnElement="gateway15917" isMarkerVisible="true"><dc:Bounds x="5386" y="1775.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15918_di" bpmnElement="phase15918" bioc:stroke="#5b176d" bioc:fill="#e1bee7" color:background-color="#e1bee7" color:border-color="#5b176d"><dc:Bounds x="5536" y="1910.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15918_di" bpmnElement="gateway15918" isMarkerVisible="true"><dc:Bounds x="5746" y="1925.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15915_di" bpmnElement="phase15915" ><dc:Bounds x="4816" y="2060.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15915_di" bpmnElement="gateway15915" isMarkerVisible="true"><dc:Bounds x="5026" y="2075.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="phase15899_di" bpmnElement="phase15899" ><dc:Bounds x="2656" y="2210.0" width="110" height="80"/></bpmndi:BPMNShape><bpmndi:BPMNShape id="gateway15899_di" bpmnElement="gateway15899" isMarkerVisible="true"><dc:Bounds x="2866" y="2225.0" width="50" height="50"/></bpmndi:BPMNShape><bpmndi:BPMNEdge id="flowStart_di" bpmnElement="flowStart"><di:waypoint x="186" y="0.0" /><di:waypoint x="286" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27980_di" bpmnElement="flow27980"><di:waypoint x="396" y="0.0" /><di:waypoint x="496" y="0.0" /><bpmndi:BPMNLabel><dc:Bounds x="396" y="5.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15889_di" bpmnElement="flow15889"><di:waypoint x="606" y="0.0" /><di:waypoint x="706" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27880_di" bpmnElement="flow27880"><di:waypoint x="756" y="0.0" /><di:waypoint x="856" y="0.0" /><bpmndi:BPMNLabel><dc:Bounds x="756" y="5.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15890_di" bpmnElement="flow15890"><di:waypoint x="966" y="0.0" /><di:waypoint x="1066" y="0.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27884_di" bpmnElement="flow27884" bioc:stroke="#c82362" color:border-color="#c82362"><di:waypoint x="1091.0" y="25.0" /><di:waypoint x="1091.0" y="75.0" /><di:waypoint x="466" y="75.0" /><di:waypoint x="466" y="0.01" /><bpmndi:BPMNLabel><dc:Bounds x="1091.0" y="30.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27885_di" bpmnElement="flow27885"><di:waypoint x="1091.0" y="25.0" /><di:waypoint x="1091.0" y="150.0" /><di:waypoint x="1216" y="150.0" /><bpmndi:BPMNLabel><dc:Bounds x="1091.0" y="155.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flowEnd15920_di" bpmnElement="flowEnd15920"><di:waypoint x="1326" y="150.0" /><di:waypoint x="1426" y="150.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27886_di" bpmnElement="flow27886"><di:waypoint x="1091.0" y="25.0" /><di:waypoint x="1091.0" y="300.0" /><di:waypoint x="1216" y="300.0" /><bpmndi:BPMNLabel><dc:Bounds x="1091.0" y="305.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flowEnd15922_di" bpmnElement="flowEnd15922"><di:waypoint x="1326" y="300.0" /><di:waypoint x="1426" y="300.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27881_di" bpmnElement="flow27881"><di:waypoint x="731.0" y="25.0" /><di:waypoint x="731.0" y="450.0" /><di:waypoint x="856" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="731.0" y="455.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15891_di" bpmnElement="flow15891"><di:waypoint x="966" y="450.0" /><di:waypoint x="1066" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27887_di" bpmnElement="flow27887"><di:waypoint x="1116" y="450.0" /><di:waypoint x="1216" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="1116" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15892_di" bpmnElement="flow15892"><di:waypoint x="1326" y="450.0" /><di:waypoint x="1426" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27891_di" bpmnElement="flow27891"><di:waypoint x="1476" y="450.0" /><di:waypoint x="1576" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="1476" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15893_di" bpmnElement="flow15893"><di:waypoint x="1686" y="450.0" /><di:waypoint x="1786" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27894_di" bpmnElement="flow27894"><di:waypoint x="1836" y="450.0" /><di:waypoint x="1936" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="1836" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15894_di" bpmnElement="flow15894"><di:waypoint x="2046" y="450.0" /><di:waypoint x="2146" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27896_di" bpmnElement="flow27896"><di:waypoint x="2196" y="450.0" /><di:waypoint x="2296" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="2196" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15896_di" bpmnElement="flow15896"><di:waypoint x="2406" y="450.0" /><di:waypoint x="2506" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27902_di" bpmnElement="flow27902"><di:waypoint x="2556" y="450.0" /><di:waypoint x="2656" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="2556" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15897_di" bpmnElement="flow15897"><di:waypoint x="2766" y="450.0" /><di:waypoint x="2866" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27906_di" bpmnElement="flow27906"><di:waypoint x="2916" y="450.0" /><di:waypoint x="3016" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="2916" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15898_di" bpmnElement="flow15898"><di:waypoint x="3126" y="450.0" /><di:waypoint x="3226" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27909_di" bpmnElement="flow27909"><di:waypoint x="3276" y="450.0" /><di:waypoint x="3376" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="3276" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15900_di" bpmnElement="flow15900"><di:waypoint x="3486" y="450.0" /><di:waypoint x="3586" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27916_di" bpmnElement="flow27916"><di:waypoint x="3636" y="450.0" /><di:waypoint x="3736" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="3636" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27973_di" bpmnElement="flow27973"><di:waypoint x="3846" y="450.0" /><di:waypoint x="3946" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="3846" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15901_di" bpmnElement="flow15901"><di:waypoint x="4056" y="450.0" /><di:waypoint x="4156" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27921_di" bpmnElement="flow27921"><di:waypoint x="4206" y="450.0" /><di:waypoint x="4306" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="4206" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15902_di" bpmnElement="flow15902"><di:waypoint x="4416" y="450.0" /><di:waypoint x="4516" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27923_di" bpmnElement="flow27923"><di:waypoint x="4566" y="450.0" /><di:waypoint x="4666" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="4566" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15903_di" bpmnElement="flow15903"><di:waypoint x="4776" y="450.0" /><di:waypoint x="4876" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27925_di" bpmnElement="flow27925"><di:waypoint x="4926" y="450.0" /><di:waypoint x="5026" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="4926" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15904_di" bpmnElement="flow15904"><di:waypoint x="5136" y="450.0" /><di:waypoint x="5236" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27927_di" bpmnElement="flow27927"><di:waypoint x="5286" y="450.0" /><di:waypoint x="5386" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="5286" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15905_di" bpmnElement="flow15905"><di:waypoint x="5496" y="450.0" /><di:waypoint x="5596" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27929_di" bpmnElement="flow27929"><di:waypoint x="5646" y="450.0" /><di:waypoint x="5746" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="5646" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27931_di" bpmnElement="flow27931"><di:waypoint x="5856" y="450.0" /><di:waypoint x="5956" y="450.0" /><bpmndi:BPMNLabel><dc:Bounds x="5856" y="455.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flowEnd15919_di" bpmnElement="flowEnd15919"><di:waypoint x="6066" y="450.0" /><di:waypoint x="6166" y="450.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27930_di" bpmnElement="flow27930"><di:waypoint x="5621.0" y="475.0" /><di:waypoint x="5621.0" y="600.0" /><di:waypoint x="5746" y="600.0" /><bpmndi:BPMNLabel><dc:Bounds x="5621.0" y="605.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15911_di" bpmnElement="flow15911"><di:waypoint x="5856" y="600.0" /><di:waypoint x="5956" y="600.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27940_di" bpmnElement="flow27940"><di:waypoint x="6006" y="600.0" /><di:waypoint x="6106" y="600.0" /><bpmndi:BPMNLabel><dc:Bounds x="6006" y="605.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flowEnd15921_di" bpmnElement="flowEnd15921"><di:waypoint x="6216" y="600.0" /><di:waypoint x="6316" y="600.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27941_di" bpmnElement="flow27941" bioc:stroke="#12f64e" color:border-color="#12f64e"><di:waypoint x="5981.0" y="625.0" /><di:waypoint x="5981.0" y="691.0" /><di:waypoint x="5356" y="691.0" /><di:waypoint x="5356" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="5981.0" y="630.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27928_di" bpmnElement="flow27928"><di:waypoint x="5261.0" y="475.0" /><di:waypoint x="5261.0" y="750.0" /><di:waypoint x="5386" y="750.0" /><bpmndi:BPMNLabel><dc:Bounds x="5261.0" y="755.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15910_di" bpmnElement="flow15910"><di:waypoint x="5496" y="750.0" /><di:waypoint x="5596" y="750.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27938_di" bpmnElement="flow27938" bioc:stroke="#6ff348" color:border-color="#6ff348"><di:waypoint x="5621.0" y="775.0" /><di:waypoint x="5621.0" y="845.0" /><di:waypoint x="6076" y="845.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="5621.0" y="780.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27939_di" bpmnElement="flow27939" bioc:stroke="#7439f9" color:border-color="#7439f9"><di:waypoint x="5621.0" y="775.0" /><di:waypoint x="5621.0" y="845.0" /><di:waypoint x="4636" y="845.0" /><di:waypoint x="4636" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="4636" y="845.0" width="71" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27926_di" bpmnElement="flow27926"><di:waypoint x="4901.0" y="475.0" /><di:waypoint x="4901.0" y="900.0" /><di:waypoint x="5026" y="900.0" /><bpmndi:BPMNLabel><dc:Bounds x="4901.0" y="905.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15909_di" bpmnElement="flow15909"><di:waypoint x="5136" y="900.0" /><di:waypoint x="5236" y="900.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27936_di" bpmnElement="flow27936" bioc:stroke="#c0ab88" color:border-color="#c0ab88"><di:waypoint x="5261.0" y="925.0" /><di:waypoint x="5261.0" y="999.0" /><di:waypoint x="6076" y="999.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="5261.0" y="930.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27937_di" bpmnElement="flow27937" bioc:stroke="#7c14b5" color:border-color="#7c14b5"><di:waypoint x="5261.0" y="925.0" /><di:waypoint x="5261.0" y="999.0" /><di:waypoint x="4636" y="999.0" /><di:waypoint x="4636" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="4636" y="999.0" width="71" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27924_di" bpmnElement="flow27924"><di:waypoint x="4541.0" y="475.0" /><di:waypoint x="4541.0" y="1050.0" /><di:waypoint x="4666" y="1050.0" /><bpmndi:BPMNLabel><dc:Bounds x="4541.0" y="1055.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15908_di" bpmnElement="flow15908"><di:waypoint x="4776" y="1050.0" /><di:waypoint x="4876" y="1050.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27934_di" bpmnElement="flow27934" bioc:stroke="#54713c" color:border-color="#54713c"><di:waypoint x="4901.0" y="1075.0" /><di:waypoint x="4901.0" y="1153.0" /><di:waypoint x="6076" y="1153.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="4901.0" y="1080.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27935_di" bpmnElement="flow27935" bioc:stroke="#df6841" color:border-color="#df6841"><di:waypoint x="4901.0" y="1075.0" /><di:waypoint x="4901.0" y="1153.0" /><di:waypoint x="4276" y="1153.0" /><di:waypoint x="4276" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="4276" y="1153.0" width="44" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27922_di" bpmnElement="flow27922"><di:waypoint x="4181.0" y="475.0" /><di:waypoint x="4181.0" y="1200.0" /><di:waypoint x="4306" y="1200.0" /><bpmndi:BPMNLabel><dc:Bounds x="4181.0" y="1205.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15907_di" bpmnElement="flow15907"><di:waypoint x="4416" y="1200.0" /><di:waypoint x="4516" y="1200.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27932_di" bpmnElement="flow27932" bioc:stroke="#90e0a2" color:border-color="#90e0a2"><di:waypoint x="4541.0" y="1225.0" /><di:waypoint x="4541.0" y="1307.0" /><di:waypoint x="3916" y="1307.0" /><di:waypoint x="3916" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="4541.0" y="1230.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27933_di" bpmnElement="flow27933" bioc:stroke="#4f760c" color:border-color="#4f760c"><di:waypoint x="4541.0" y="1225.0" /><di:waypoint x="4541.0" y="1307.0" /><di:waypoint x="6076" y="1307.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="6076" y="1307.0" width="64" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27917_di" bpmnElement="flow27917"><di:waypoint x="3611.0" y="475.0" /><di:waypoint x="3611.0" y="1350.0" /><di:waypoint x="3736" y="1350.0" /><bpmndi:BPMNLabel><dc:Bounds x="3611.0" y="1355.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15895_di" bpmnElement="flow15895"><di:waypoint x="3846" y="1350.0" /><di:waypoint x="3946" y="1350.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27899_di" bpmnElement="flow27899" bioc:stroke="#7d1d8a" color:border-color="#7d1d8a"><di:waypoint x="3971.0" y="1375.0" /><di:waypoint x="3971.0" y="1461.0" /><di:waypoint x="1906" y="1461.0" /><di:waypoint x="1906" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="3971.0" y="1380.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27900_di" bpmnElement="flow27900" bioc:stroke="#0e8545" color:border-color="#0e8545"><di:waypoint x="3971.0" y="1375.0" /><di:waypoint x="3971.0" y="1461.0" /><di:waypoint x="1186" y="1461.0" /><di:waypoint x="1186" y="150.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="1461.0" width="31" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27901_di" bpmnElement="flow27901" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="3971.0" y="1375.0" /><di:waypoint x="3971.0" y="1461.0" /><di:waypoint x="1186" y="1461.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="1461.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27918_di" bpmnElement="flow27918" bioc:stroke="#0b5dc9" color:border-color="#0b5dc9"><di:waypoint x="3611.0" y="475.0" /><di:waypoint x="3611.0" y="561.0" /><di:waypoint x="3346" y="561.0" /><di:waypoint x="3346" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="3611.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27919_di" bpmnElement="flow27919"><di:waypoint x="3611.0" y="475.0" /><di:waypoint x="3611.0" y="1500.0" /><di:waypoint x="3736" y="1500.0" /><bpmndi:BPMNLabel><dc:Bounds x="3611.0" y="1505.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15912_di" bpmnElement="flow15912"><di:waypoint x="3846" y="1500.0" /><di:waypoint x="3946" y="1500.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27942_di" bpmnElement="flow27942"><di:waypoint x="3996" y="1500.0" /><di:waypoint x="4096" y="1500.0" /><bpmndi:BPMNLabel><dc:Bounds x="3996" y="1505.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15913_di" bpmnElement="flow15913"><di:waypoint x="4206" y="1500.0" /><di:waypoint x="4306" y="1500.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27944_di" bpmnElement="flow27944" bioc:stroke="#c3a79f" color:border-color="#c3a79f"><di:waypoint x="4331.0" y="1525.0" /><di:waypoint x="4331.0" y="1615.0" /><di:waypoint x="6076" y="1615.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="4331.0" y="1530.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27945_di" bpmnElement="flow27945"><di:waypoint x="4331.0" y="1525.0" /><di:waypoint x="4331.0" y="1650.0" /><di:waypoint x="4456" y="1650.0" /><bpmndi:BPMNLabel><dc:Bounds x="4331.0" y="1655.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15914_di" bpmnElement="flow15914"><di:waypoint x="4566" y="1650.0" /><di:waypoint x="4666" y="1650.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27948_di" bpmnElement="flow27948"><di:waypoint x="4716" y="1650.0" /><di:waypoint x="4816" y="1650.0" /><bpmndi:BPMNLabel><dc:Bounds x="4716" y="1655.0" width="100" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15916_di" bpmnElement="flow15916"><di:waypoint x="4926" y="1650.0" /><di:waypoint x="5026" y="1650.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27954_di" bpmnElement="flow27954" bioc:stroke="#5e96ad" color:border-color="#5e96ad"><di:waypoint x="5051.0" y="1675.0" /><di:waypoint x="5051.0" y="1769.0" /><di:waypoint x="6076" y="1769.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="5051.0" y="1680.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27955_di" bpmnElement="flow27955"><di:waypoint x="5051.0" y="1675.0" /><di:waypoint x="5051.0" y="1800.0" /><di:waypoint x="5176" y="1800.0" /><bpmndi:BPMNLabel><dc:Bounds x="5051.0" y="1805.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15917_di" bpmnElement="flow15917"><di:waypoint x="5286" y="1800.0" /><di:waypoint x="5386" y="1800.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27957_di" bpmnElement="flow27957" bioc:stroke="#aef7fe" color:border-color="#aef7fe"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1923.0" /><di:waypoint x="2626" y="1923.0" /><di:waypoint x="2626" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="5411.0" y="1830.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27958_di" bpmnElement="flow27958" bioc:stroke="#08cbb0" color:border-color="#08cbb0"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1923.0" /><di:waypoint x="3346" y="1923.0" /><di:waypoint x="3346" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="3346" y="1923.0" width="24" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27959_di" bpmnElement="flow27959" bioc:stroke="#4f0277" color:border-color="#4f0277"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1923.0" /><di:waypoint x="3706" y="1923.0" /><di:waypoint x="3706" y="1350.01" /><bpmndi:BPMNLabel><dc:Bounds x="3706" y="1923.0" width="24" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27960_di" bpmnElement="flow27960" bioc:stroke="#06527c" color:border-color="#06527c"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1923.0" /><di:waypoint x="4066" y="1923.0" /><di:waypoint x="4066" y="1500.01" /><bpmndi:BPMNLabel><dc:Bounds x="4066" y="1923.0" width="33" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27961_di" bpmnElement="flow27961"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1950.0" /><di:waypoint x="5536" y="1950.0" /><bpmndi:BPMNLabel><dc:Bounds x="5411.0" y="1955.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15918_di" bpmnElement="flow15918"><di:waypoint x="5646" y="1950.0" /><di:waypoint x="5746" y="1950.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27963_di" bpmnElement="flow27963" bioc:stroke="#37e4fb" color:border-color="#37e4fb"><di:waypoint x="5771.0" y="1975.0" /><di:waypoint x="5771.0" y="2077.0" /><di:waypoint x="2986" y="2077.0" /><di:waypoint x="2986" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="5771.0" y="1980.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27964_di" bpmnElement="flow27964" bioc:stroke="#8c8f75" color:border-color="#8c8f75"><di:waypoint x="5771.0" y="1975.0" /><di:waypoint x="5771.0" y="2077.0" /><di:waypoint x="2266" y="2077.0" /><di:waypoint x="2266" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="2266" y="2077.0" width="59" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27965_di" bpmnElement="flow27965" bioc:stroke="#1c3635" color:border-color="#1c3635"><di:waypoint x="5771.0" y="1975.0" /><di:waypoint x="5771.0" y="2077.0" /><di:waypoint x="3346" y="2077.0" /><di:waypoint x="3346" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="3346" y="2077.0" width="41" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27966_di" bpmnElement="flow27966" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="5771.0" y="1975.0" /><di:waypoint x="5771.0" y="2077.0" /><di:waypoint x="1186" y="2077.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="2077.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27962_di" bpmnElement="flow27962" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="5411.0" y="1825.0" /><di:waypoint x="5411.0" y="1927.0" /><di:waypoint x="1186" y="1927.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="1927.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27956_di" bpmnElement="flow27956" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="5051.0" y="1675.0" /><di:waypoint x="5051.0" y="1777.0" /><di:waypoint x="1186" y="1777.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="1777.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27949_di" bpmnElement="flow27949"><di:waypoint x="4691.0" y="1675.0" /><di:waypoint x="4691.0" y="2100.0" /><di:waypoint x="4816" y="2100.0" /><bpmndi:BPMNLabel><dc:Bounds x="4691.0" y="2105.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15915_di" bpmnElement="flow15915"><di:waypoint x="4926" y="2100.0" /><di:waypoint x="5026" y="2100.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27951_di" bpmnElement="flow27951" bioc:stroke="#71875e" color:border-color="#71875e"><di:waypoint x="5051.0" y="2125.0" /><di:waypoint x="5051.0" y="2231.0" /><di:waypoint x="4786" y="2231.0" /><di:waypoint x="4786" y="1650.01" /><bpmndi:BPMNLabel><dc:Bounds x="5051.0" y="2130.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27952_di" bpmnElement="flow27952" bioc:stroke="#3ea885" color:border-color="#3ea885"><di:waypoint x="5051.0" y="2125.0" /><di:waypoint x="5051.0" y="2231.0" /><di:waypoint x="4786" y="2231.0" /><di:waypoint x="4786" y="1650.01" /><bpmndi:BPMNLabel><dc:Bounds x="4786" y="2231.0" width="27" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27953_di" bpmnElement="flow27953" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="5051.0" y="2125.0" /><di:waypoint x="5051.0" y="2231.0" /><di:waypoint x="1186" y="2231.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="2231.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27950_di" bpmnElement="flow27950" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="4691.0" y="1675.0" /><di:waypoint x="4691.0" y="1781.0" /><di:waypoint x="1186" y="1781.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="4691.0" y="1680.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27946_di" bpmnElement="flow27946" bioc:stroke="#307986" color:border-color="#307986"><di:waypoint x="4331.0" y="1525.0" /><di:waypoint x="4331.0" y="1631.0" /><di:waypoint x="5146" y="1631.0" /><di:waypoint x="5146" y="1800.01" /><bpmndi:BPMNLabel><dc:Bounds x="5146" y="1631.0" width="43" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27947_di" bpmnElement="flow27947" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="4331.0" y="1525.0" /><di:waypoint x="4331.0" y="1631.0" /><di:waypoint x="1186" y="1631.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="1631.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27943_di" bpmnElement="flow27943" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="3971.0" y="1525.0" /><di:waypoint x="3971.0" y="1631.0" /><di:waypoint x="1186" y="1631.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="3971.0" y="1530.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27920_di" bpmnElement="flow27920" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="3611.0" y="475.0" /><di:waypoint x="3611.0" y="581.0" /><di:waypoint x="1186" y="581.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="581.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27910_di" bpmnElement="flow27910" bioc:stroke="#84f21a" color:border-color="#84f21a"><di:waypoint x="3251.0" y="475.0" /><di:waypoint x="3251.0" y="581.0" /><di:waypoint x="3706" y="581.0" /><di:waypoint x="3706" y="1350.01" /><bpmndi:BPMNLabel><dc:Bounds x="3251.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27911_di" bpmnElement="flow27911" bioc:stroke="#d4956f" color:border-color="#d4956f"><di:waypoint x="3251.0" y="475.0" /><di:waypoint x="3251.0" y="581.0" /><di:waypoint x="3706" y="581.0" /><di:waypoint x="3706" y="1500.01" /><bpmndi:BPMNLabel><dc:Bounds x="3706" y="581.0" width="20" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27912_di" bpmnElement="flow27912" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="3251.0" y="475.0" /><di:waypoint x="3251.0" y="581.0" /><di:waypoint x="1186" y="581.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="581.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27907_di" bpmnElement="flow27907" bioc:stroke="#b7656a" color:border-color="#b7656a"><di:waypoint x="2891.0" y="475.0" /><di:waypoint x="2891.0" y="581.0" /><di:waypoint x="3346" y="581.0" /><di:waypoint x="3346" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="2891.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27908_di" bpmnElement="flow27908" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="2891.0" y="475.0" /><di:waypoint x="2891.0" y="581.0" /><di:waypoint x="1186" y="581.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="581.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27903_di" bpmnElement="flow27903"><di:waypoint x="2531.0" y="475.0" /><di:waypoint x="2531.0" y="2250.0" /><di:waypoint x="2656" y="2250.0" /><bpmndi:BPMNLabel><dc:Bounds x="2531.0" y="2255.0" width="125.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow15899_di" bpmnElement="flow15899"><di:waypoint x="2766" y="2250.0" /><di:waypoint x="2866" y="2250.0" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27913_di" bpmnElement="flow27913" bioc:stroke="#6756a1" color:border-color="#6756a1"><di:waypoint x="2891.0" y="2275.0" /><di:waypoint x="2891.0" y="2385.0" /><di:waypoint x="2626" y="2385.0" /><di:waypoint x="2626" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="2891.0" y="2280.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27914_di" bpmnElement="flow27914" bioc:stroke="#ec2ae1" color:border-color="#ec2ae1"><di:waypoint x="2891.0" y="2275.0" /><di:waypoint x="2891.0" y="2385.0" /><di:waypoint x="2626" y="2385.0" /><di:waypoint x="2626" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="2626" y="2385.0" width="27" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27915_di" bpmnElement="flow27915" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="2891.0" y="2275.0" /><di:waypoint x="2891.0" y="2385.0" /><di:waypoint x="1186" y="2385.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="2385.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27904_di" bpmnElement="flow27904" bioc:stroke="#34dac6" color:border-color="#34dac6"><di:waypoint x="2531.0" y="475.0" /><di:waypoint x="2531.0" y="585.0" /><di:waypoint x="3706" y="585.0" /><di:waypoint x="3706" y="1500.01" /><bpmndi:BPMNLabel><dc:Bounds x="2531.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27905_di" bpmnElement="flow27905" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="2531.0" y="475.0" /><di:waypoint x="2531.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="585.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27897_di" bpmnElement="flow27897" bioc:stroke="#10164d" color:border-color="#10164d"><di:waypoint x="2171.0" y="475.0" /><di:waypoint x="2171.0" y="585.0" /><di:waypoint x="3706" y="585.0" /><di:waypoint x="3706" y="1350.01" /><bpmndi:BPMNLabel><dc:Bounds x="2171.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27898_di" bpmnElement="flow27898" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="2171.0" y="475.0" /><di:waypoint x="2171.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="585.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27895_di" bpmnElement="flow27895" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="1811.0" y="475.0" /><di:waypoint x="1811.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1811.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27892_di" bpmnElement="flow27892" bioc:stroke="#05f6bc" color:border-color="#05f6bc"><di:waypoint x="1451.0" y="475.0" /><di:waypoint x="1451.0" y="585.0" /><di:waypoint x="6076" y="585.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="1451.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27893_di" bpmnElement="flow27893" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="1451.0" y="475.0" /><di:waypoint x="1451.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="585.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27888_di" bpmnElement="flow27888" bioc:stroke="#e6bf6e" color:border-color="#e6bf6e"><di:waypoint x="1091.0" y="475.0" /><di:waypoint x="1091.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="150.01" /><bpmndi:BPMNLabel><dc:Bounds x="1091.0" y="480.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27889_di" bpmnElement="flow27889" bioc:stroke="#8c7503" color:border-color="#8c7503"><di:waypoint x="1091.0" y="475.0" /><di:waypoint x="1091.0" y="585.0" /><di:waypoint x="6076" y="585.0" /><di:waypoint x="6076" y="600.01" /><bpmndi:BPMNLabel><dc:Bounds x="6076" y="585.0" width="47" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27890_di" bpmnElement="flow27890" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="1091.0" y="475.0" /><di:waypoint x="1091.0" y="585.0" /><di:waypoint x="1186" y="585.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="585.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27882_di" bpmnElement="flow27882" bioc:stroke="#96ed6c" color:border-color="#96ed6c"><di:waypoint x="731.0" y="25.0" /><di:waypoint x="731.0" y="135.0" /><di:waypoint x="826" y="135.0" /><di:waypoint x="826" y="450.01" /><bpmndi:BPMNLabel><dc:Bounds x="731.0" y="30.0" width="0.0" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id="flow27883_di" bpmnElement="flow27883" bioc:stroke="#adb5bd" color:border-color="#adb5bd"><di:waypoint x="731.0" y="25.0" /><di:waypoint x="731.0" y="135.0" /><di:waypoint x="1186" y="135.0" /><di:waypoint x="1186" y="300.01" /><bpmndi:BPMNLabel><dc:Bounds x="1186" y="135.0" width="34" height="14" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge></bpmndi:BPMNPlane> </bpmndi:BPMNDiagram></bpmn:definitions>]]></field>
|
|
3352
|
+
<field name="can_update_pod_supply_state">False</field>
|
|
3353
|
+
<field name="show_invoice_tab">False</field>
|
|
3354
|
+
<field name="use_sla">False</field>
|
|
3355
|
+
<field name="wf_code">ML-GM08-3</field>
|
|
3356
|
+
</record>
|
|
3357
|
+
<record id="symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti" model="symple.triplet.phase">
|
|
3358
|
+
<field name="active">True</field>
|
|
3359
|
+
<field name="child_case">False</field>
|
|
3360
|
+
<field name="code"># Available variables:
|
|
3361
|
+
# - case_id: the case that just reached this phase
|
|
3362
|
+
# - request: allows you to make HTTP requests (method, url, headers, data)
|
|
3363
|
+
# - json_dumps: allows you to use JSON.dumps to convert an object into a json
|
|
3364
|
+
# - json_load: allows you to use JSON.load to convert a json into an object
|
|
3365
|
+
# - env: Odoo Environment on which the action is triggered
|
|
3366
|
+
# - time, datetime, dateutil, timezone: useful Python libraries
|
|
3367
|
+
# - float_compare: Odoo function to compare floats based on specific precisions
|
|
3368
|
+
# - ValidationError: Warning Exception to use with raise
|
|
3369
|
+
# - Command: x2Many commands namespace
|
|
3370
|
+
# - OrderedDict: ordered dictionaries
|
|
3371
|
+
# - log: log(message, level='info'): logging function to record debug information in ir.logging table
|
|
3372
|
+
# (line = case id, func = phase name)
|
|
3373
|
+
# - format_exc: forwarded from traceback.format_exc - returns str stack trace of last exception thrown
|
|
3374
|
+
# - first: forwarded from odoo.fields.first - safely gets first element of recordset
|
|
3375
|
+
# To return a result, assign: result = {...}
|
|
3376
|
+
# WARNING: if return = False or return value is not in the result table or no result is returned at all,
|
|
3377
|
+
# phase result will not be set.
|
|
3378
|
+
|
|
3379
|
+
|
|
3380
|
+
|
|
3381
|
+
</field>
|
|
3382
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','BOCR')])" />
|
|
3383
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
3384
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
3385
|
+
<field name="is_compute_refund">False</field>
|
|
3386
|
+
<field name="is_dl">False</field>
|
|
3387
|
+
<field name="is_needs_child_case">False</field>
|
|
3388
|
+
<field name="is_pick_refund_template">False</field>
|
|
3389
|
+
<field name="is_process_managed">False</field>
|
|
3390
|
+
<field name="is_quote_accepted">False</field>
|
|
3391
|
+
<field name="is_quote_sent">False</field>
|
|
3392
|
+
<field name="is_timeout">True</field>
|
|
3393
|
+
<field name="is_voidable">False</field>
|
|
3394
|
+
<field name="name">A1140 - Errore validazione dati ricevuti</field>
|
|
3395
|
+
<field name="timeout_days">7</field>
|
|
3396
|
+
</record>
|
|
3397
|
+
<record id="symple_triplet_phase_result_C1614_-_Controlli_CRM_KO_E-ML-GM08-3-00090" model="symple.triplet.phase.result">
|
|
3398
|
+
<field name="active">True</field>
|
|
3399
|
+
<field name="has_message">False</field>
|
|
3400
|
+
<field name="is_annulment">False</field>
|
|
3401
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3402
|
+
<field name="is_hidden">False</field>
|
|
3403
|
+
<field name="is_quote_expired">False</field>
|
|
3404
|
+
<field name="name">C1614 - Controlli CRM KO</field>
|
|
3405
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti"/>
|
|
3406
|
+
<field name="state_code">E-ML-GM08-3-00090</field>
|
|
3407
|
+
<field name="wizard_result">KO</field>
|
|
3408
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio')])]"/>
|
|
3409
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
3410
|
+
</record>
|
|
3411
|
+
<record id="symple_triplet_phase_result_C1616_-_Risoluzione_errore_E-ML-GM08-3-00092" model="symple.triplet.phase.result">
|
|
3412
|
+
<field name="active">True</field>
|
|
3413
|
+
<field name="has_message">False</field>
|
|
3414
|
+
<field name="is_annulment">False</field>
|
|
3415
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3416
|
+
<field name="is_hidden">False</field>
|
|
3417
|
+
<field name="is_quote_expired">False</field>
|
|
3418
|
+
<field name="name">C1616 - Risoluzione errore</field>
|
|
3419
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3420
|
+
<field name="state_code">E-ML-GM08-3-00092</field>
|
|
3421
|
+
<field name="wizard_result">SUCCESS</field>
|
|
3422
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti')])]"/>
|
|
3423
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
3424
|
+
</record>
|
|
3425
|
+
<record id="symple_triplet_phase_result_C1617_-_Errore_non_risolvibile_E-ML-GM08-3-00093" model="symple.triplet.phase.result">
|
|
3426
|
+
<field name="active">True</field>
|
|
3427
|
+
<field name="has_message">False</field>
|
|
3428
|
+
<field name="is_annulment">False</field>
|
|
3429
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3430
|
+
<field name="is_hidden">False</field>
|
|
3431
|
+
<field name="is_quote_expired">False</field>
|
|
3432
|
+
<field name="name">C1617 - Errore non risolvibile</field>
|
|
3433
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0811_-_Case_Lavorato_KO"/>
|
|
3434
|
+
<field name="state_code">E-ML-GM08-3-00093</field>
|
|
3435
|
+
<field name="wizard_result">KO</field>
|
|
3436
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti')])]"/>
|
|
3437
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','KO')])" />
|
|
3438
|
+
</record>
|
|
3439
|
+
<record id="symple_triplet_phase_result_C2215_-_Timeout_risottomissione_case_E-ML-GM08-3-00094" model="symple.triplet.phase.result">
|
|
3440
|
+
<field name="active">True</field>
|
|
3441
|
+
<field name="has_message">False</field>
|
|
3442
|
+
<field name="is_annulment">False</field>
|
|
3443
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3444
|
+
<field name="is_hidden">True</field>
|
|
3445
|
+
<field name="is_quote_expired">False</field>
|
|
3446
|
+
<field name="name">C2215 - Timeout risottomissione case</field>
|
|
3447
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3448
|
+
<field name="state_code">E-ML-GM08-3-00094</field>
|
|
3449
|
+
<field name="wizard_result">PARTIAL_SUCCESS</field>
|
|
3450
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti')])]"/>
|
|
3451
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Partial Success')])" />
|
|
3452
|
+
</record>
|
|
3453
|
+
<record id="symple_triplet_phase_result_C1883_-_Chiuso_e_Riattivato_da_M2C_E-ML-GM08-3-00095" model="symple.triplet.phase.result">
|
|
3454
|
+
<field name="active">True</field>
|
|
3455
|
+
<field name="has_message">False</field>
|
|
3456
|
+
<field name="is_annulment">False</field>
|
|
3457
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3458
|
+
<field name="is_hidden">True</field>
|
|
3459
|
+
<field name="is_quote_expired">False</field>
|
|
3460
|
+
<field name="name">C1883 - Chiuso e Riattivato da M2C</field>
|
|
3461
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A1309_-_Chiuso_e_Riattivato"/>
|
|
3462
|
+
<field name="state_code">E-ML-GM08-3-00095</field>
|
|
3463
|
+
<field name="wizard_result">DEF_SUCCESS</field>
|
|
3464
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1140_-_Errore_validazione_dati_ricevuti')])]"/>
|
|
3465
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Definitive Success')])" />
|
|
3466
|
+
</record>
|
|
3467
|
+
<record id="symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare" model="symple.triplet.phase">
|
|
3468
|
+
<field name="active">True</field>
|
|
3469
|
+
<field name="child_case">False</field>
|
|
3470
|
+
<field name="code"># RES1 = C3120 - annullamento da gestire
|
|
3471
|
+
# RES2 = C2599 - annullamento confermato
|
|
3472
|
+
|
|
3473
|
+
RES1, RES2 = ("RES1", "RES2")
|
|
3474
|
+
|
|
3475
|
+
logs = []
|
|
3476
|
+
debug_logs = []
|
|
3477
|
+
error_occurred = False
|
|
3478
|
+
|
|
3479
|
+
|
|
3480
|
+
def make_log(message, data=None, always=False):
|
|
3481
|
+
log_entry = {"message": message}
|
|
3482
|
+
if data is not None:
|
|
3483
|
+
log_entry["data"] = data
|
|
3484
|
+
|
|
3485
|
+
if always:
|
|
3486
|
+
logs.append(log_entry)
|
|
3487
|
+
else:
|
|
3488
|
+
debug_logs.append(log_entry)
|
|
3489
|
+
|
|
3490
|
+
|
|
3491
|
+
# --------------------------------------
|
|
3492
|
+
|
|
3493
|
+
|
|
3494
|
+
def main():
|
|
3495
|
+
pass
|
|
3496
|
+
|
|
3497
|
+
|
|
3498
|
+
try:
|
|
3499
|
+
result = main()
|
|
3500
|
+
except Exception as e:
|
|
3501
|
+
error_occurred = True
|
|
3502
|
+
make_log(
|
|
3503
|
+
"Error occurred in phase",
|
|
3504
|
+
{"error": str(e), "traceback": format_exc()},
|
|
3505
|
+
always=True,
|
|
3506
|
+
)
|
|
3507
|
+
case_id.write({"error_message": str(e)})
|
|
3508
|
+
|
|
3509
|
+
|
|
3510
|
+
if error_occurred and debug_logs:
|
|
3511
|
+
logs.append({"message": "debug_logs", "logs": debug_logs})
|
|
3512
|
+
|
|
3513
|
+
if logs:
|
|
3514
|
+
log(json_dumps(logs, indent=2))</field>
|
|
3515
|
+
<field name="helpdesk_group_id" model="helpdesk.team" eval="obj().search([('name','=','SYSTEM-Sorgenia')])" />
|
|
3516
|
+
<field name="helpdesk_stage_id" model="helpdesk.stage" eval="obj().search([('name','=','In Progress')])" />
|
|
3517
|
+
<field name="is_a_postalizer_phase">False</field>
|
|
3518
|
+
<field name="is_compute_refund">False</field>
|
|
3519
|
+
<field name="is_dl">False</field>
|
|
3520
|
+
<field name="is_needs_child_case">False</field>
|
|
3521
|
+
<field name="is_pick_refund_template">False</field>
|
|
3522
|
+
<field name="is_process_managed">False</field>
|
|
3523
|
+
<field name="is_quote_accepted">False</field>
|
|
3524
|
+
<field name="is_quote_sent">False</field>
|
|
3525
|
+
<field name="is_timeout">False</field>
|
|
3526
|
+
<field name="is_voidable">False</field>
|
|
3527
|
+
<field name="name">A2561 - verifica stato invio pratica da annullare</field>
|
|
3528
|
+
<field name="set_result_automatically">from_code</field>
|
|
3529
|
+
</record>
|
|
3530
|
+
<record id="symple_triplet_phase_result_C2475_-_OK_-_Ammissibilit__Annullamento_Hub_E-ML-GM08-3-0066" model="symple.triplet.phase.result">
|
|
3531
|
+
<field name="active">True</field>
|
|
3532
|
+
<field name="has_message">False</field>
|
|
3533
|
+
<field name="is_annulment">False</field>
|
|
3534
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3535
|
+
<field name="is_hidden">False</field>
|
|
3536
|
+
<field name="is_quote_expired">False</field>
|
|
3537
|
+
<field name="name">C2475 - OK - Ammissibilità Annullamento Hub</field>
|
|
3538
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare"/>
|
|
3539
|
+
<field name="state_code">E-ML-GM08-3-0066</field>
|
|
3540
|
+
<field name="wizard_result">OK-HUB</field>
|
|
3541
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A1767_-_In_attesa_check_IFS_Annullamento')])]"/>
|
|
3542
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-HUB')])" />
|
|
3543
|
+
</record>
|
|
3544
|
+
<record id="symple_triplet_phase_result_C3120_-_annullamento_da_gestire_E-ML-GM08-3-00097" model="symple.triplet.phase.result">
|
|
3545
|
+
<field name="active">True</field>
|
|
3546
|
+
<field name="has_message">False</field>
|
|
3547
|
+
<field name="is_annulment">False</field>
|
|
3548
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3549
|
+
<field name="is_hidden">False</field>
|
|
3550
|
+
<field name="is_quote_expired">False</field>
|
|
3551
|
+
<field name="name">C3120 - annullamento da gestire</field>
|
|
3552
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0832_-_Invio_Richiesta_Annullamento"/>
|
|
3553
|
+
<field name="state_code">E-ML-GM08-3-00097</field>
|
|
3554
|
+
<field name="wizard_result">SUCCESS</field>
|
|
3555
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare')])]"/>
|
|
3556
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','Success')])" />
|
|
3557
|
+
</record>
|
|
3558
|
+
<record id="symple_triplet_phase_result_C2599_-_annullamento_confermato_E-ML-GM08-3-00098" model="symple.triplet.phase.result">
|
|
3559
|
+
<field name="active">True</field>
|
|
3560
|
+
<field name="has_message">False</field>
|
|
3561
|
+
<field name="is_annulment">False</field>
|
|
3562
|
+
<field name="is_dl_solicitation_result">False</field>
|
|
3563
|
+
<field name="is_hidden">False</field>
|
|
3564
|
+
<field name="is_quote_expired">False</field>
|
|
3565
|
+
<field name="name">C2599 - annullamento confermato</field>
|
|
3566
|
+
<field name="next_phase_id" ref="symple_triplet_phase_A0809_-_Case_Annullato"/>
|
|
3567
|
+
<field name="state_code">E-ML-GM08-3-00098</field>
|
|
3568
|
+
<field name="wizard_result">OK-DEF-HUB-ANN</field>
|
|
3569
|
+
<field name="starting_phase_ids" model="symple.triplet.phase" eval="[(6, 0, [ref('symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare')])]"/>
|
|
3570
|
+
<field name="result_type_id" model="result.type" eval="obj().search([('name','=','OK-DEF-ANN')])" />
|
|
3571
|
+
</record>
|
|
3572
|
+
<record id="result_code_configurator_A1559_-_Invio_alla_Market_Communication_OK" model="result.code.configurator">
|
|
3573
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1559_-_Invio_alla_Market_Communication"/>
|
|
3574
|
+
<field name="result_value">OK</field>
|
|
3575
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2458_-_OK_Inviata_E-ML-GM08-3-0015"/>
|
|
3576
|
+
</record>
|
|
3577
|
+
<record id="result_code_configurator_A1938_-_Verifica_Compatibilit__Processi_OK" model="result.code.configurator">
|
|
3578
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
3579
|
+
<field name="result_value">OK</field>
|
|
3580
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2654_-_Processo_Compatibile_E-ML-GM08-3-0003"/>
|
|
3581
|
+
</record>
|
|
3582
|
+
<record id="result_code_configurator_A1938_-_Verifica_Compatibilit__Processi_KO" model="result.code.configurator">
|
|
3583
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
3584
|
+
<field name="result_value">KO</field>
|
|
3585
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2638_-_Incompatibilit__Bloccante_E-ML-GM08-3-0001"/>
|
|
3586
|
+
</record>
|
|
3587
|
+
<record id="result_code_configurator_A1938_-_Verifica_Compatibilit__Processi_PARTIAL_KO" model="result.code.configurator">
|
|
3588
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1938_-_Verifica_Compatibilit__Processi"/>
|
|
3589
|
+
<field name="result_value">PARTIAL_KO</field>
|
|
3590
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2639_-_Incompatibilit__Non_bloccante_E-ML-GM08-3-0002"/>
|
|
3591
|
+
</record>
|
|
3592
|
+
<record id="result_code_configurator_A1093_-_Apertura_Case_Interruzione_Servizio_OK" model="result.code.configurator">
|
|
3593
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3594
|
+
<field name="result_value">OK</field>
|
|
3595
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1613_-_Controlli_CRM_OK_E-ML-GM08-3-0001-prelim"/>
|
|
3596
|
+
</record>
|
|
3597
|
+
<record id="result_code_configurator_A1595_-_Invio_Annullamento_alla_Market_Communication_OK" model="result.code.configurator">
|
|
3598
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1595_-_Invio_Annullamento_alla_Market_Communication"/>
|
|
3599
|
+
<field name="result_value">OK</field>
|
|
3600
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2458_-_OK_Inviata_E-ML-GM08-3-0063"/>
|
|
3601
|
+
</record>
|
|
3602
|
+
<record id="result_code_configurator_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna_OK" model="result.code.configurator">
|
|
3603
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1320_-_Errore_in_fase_Attesa_Esito_M2C_per_Taglio_Colonna"/>
|
|
3604
|
+
<field name="result_value">OK</field>
|
|
3605
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1920_-_Annulla_-_Attesa_Esito_M2c_E-ML-GM08-3-0059"/>
|
|
3606
|
+
</record>
|
|
3607
|
+
<record id="result_code_configurator_A1313_-_Integrazione_M2C_per_Taglio_Colonna_OK" model="result.code.configurator">
|
|
3608
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1313_-_Integrazione_M2C_per_Taglio_Colonna"/>
|
|
3609
|
+
<field name="result_value">OK</field>
|
|
3610
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1888_-_OK_-_Integrazione_M2C_per_Taglio_Colonna_E-ML-GM08-3-0046"/>
|
|
3611
|
+
</record>
|
|
3612
|
+
<record id="result_code_configurator_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna_OK" model="result.code.configurator">
|
|
3613
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna"/>
|
|
3614
|
+
<field name="result_value">OK</field>
|
|
3615
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1891_-_OK_-_Creazione_Ordine_E-ML-GM08-3-0044"/>
|
|
3616
|
+
</record>
|
|
3617
|
+
<record id="result_code_configurator_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna_KO" model="result.code.configurator">
|
|
3618
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1316_-_CRM_-_Creazione_Ordine_per_Taglio_Colonna"/>
|
|
3619
|
+
<field name="result_value">KO</field>
|
|
3620
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1892_-_KO_-_Creazione_Ordine_CRM_E-ML-GM08-3-0045"/>
|
|
3621
|
+
</record>
|
|
3622
|
+
<record id="result_code_configurator_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna_OK" model="result.code.configurator">
|
|
3623
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1315_-_Aggiornamento_CRM_per_Taglio_Colonna"/>
|
|
3624
|
+
<field name="result_value">OK</field>
|
|
3625
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1889_-_OK_-_Aggiornamento_CRM_E-ML-GM08-3-0050"/>
|
|
3626
|
+
</record>
|
|
3627
|
+
<record id="result_code_configurator_A1379_-_Apertura_Case_Invio_Onere_RES1" model="result.code.configurator">
|
|
3628
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1379_-_Apertura_Case_Invio_Onere"/>
|
|
3629
|
+
<field name="result_value">RES1</field>
|
|
3630
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2003_-_OK_-_Case_di_invio_oneri_aperto_E-ML-GM08-3-0052"/>
|
|
3631
|
+
</record>
|
|
3632
|
+
<record id="result_code_configurator_A1093_-_Apertura_Case_Interruzione_Servizio_KO" model="result.code.configurator">
|
|
3633
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3634
|
+
<field name="result_value">KO</field>
|
|
3635
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1614_-_Controlli_CRM_KO_E-ML-GM08-3-00090"/>
|
|
3636
|
+
</record>
|
|
3637
|
+
<record id="result_code_configurator_A1093_-_Apertura_Case_Interruzione_Servizio_OK-FORCE" model="result.code.configurator">
|
|
3638
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1093_-_Apertura_Case_Interruzione_Servizio"/>
|
|
3639
|
+
<field name="result_value">OK-FORCE</field>
|
|
3640
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2214_-_Controlli_CRM_OK_Forzato_E-ML-GM08-3-00091"/>
|
|
3641
|
+
</record>
|
|
3642
|
+
<record id="result_code_configurator_A2561_-_verifica_stato_invio_pratica_da_annullare_RES1" model="result.code.configurator">
|
|
3643
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare"/>
|
|
3644
|
+
<field name="result_value">RES1</field>
|
|
3645
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C3120_-_annullamento_da_gestire_E-ML-GM08-3-00097"/>
|
|
3646
|
+
</record>
|
|
3647
|
+
<record id="result_code_configurator_A2561_-_verifica_stato_invio_pratica_da_annullare_RES2" model="result.code.configurator">
|
|
3648
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A2561_-_verifica_stato_invio_pratica_da_annullare"/>
|
|
3649
|
+
<field name="result_value">RES2</field>
|
|
3650
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C2599_-_annullamento_confermato_E-ML-GM08-3-00098"/>
|
|
3651
|
+
</record>
|
|
3652
|
+
<record id="result_code_configurator_A1312_-_Controlli_CRM_per_Taglio_Colonna_OK" model="result.code.configurator">
|
|
3653
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna"/>
|
|
3654
|
+
<field name="result_value">OK</field>
|
|
3655
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1613_-_Controlli_CRM_OK_E-ML-GM08-3-0042"/>
|
|
3656
|
+
</record>
|
|
3657
|
+
<record id="result_code_configurator_A1312_-_Controlli_CRM_per_Taglio_Colonna_KO" model="result.code.configurator">
|
|
3658
|
+
<field name="code_phase_id" ref="symple_triplet_phase_A1312_-_Controlli_CRM_per_Taglio_Colonna"/>
|
|
3659
|
+
<field name="result_value">KO</field>
|
|
3660
|
+
<field name="triplet_phase_result_id" ref="symple_triplet_phase_result_C1614_-_Controlli_CRM_KO_E-ML-GM08-3-0043"/>
|
|
3661
|
+
</record>
|
|
3662
|
+
|
|
3663
|
+
</data>
|
|
3664
|
+
</odoo>
|
|
3665
|
+
|
|
3666
|
+
Processed_records: 157
|
|
3667
|
+
Managed records: 157
|