odoo-addon-automation-oca 16.0.1.3.0.3__py3-none-any.whl → 16.0.1.4.0.2__py3-none-any.whl
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.
- odoo/addons/automation_oca/README.rst +1 -1
- odoo/addons/automation_oca/__manifest__.py +1 -1
- odoo/addons/automation_oca/i18n/automation_oca.pot +20 -0
- odoo/addons/automation_oca/i18n/es.po +19 -0
- odoo/addons/automation_oca/i18n/fr.po +19 -0
- odoo/addons/automation_oca/i18n/it.po +20 -1
- odoo/addons/automation_oca/models/automation_configuration_step.py +9 -0
- odoo/addons/automation_oca/models/automation_record_step.py +23 -1
- odoo/addons/automation_oca/models/mail_activity.py +13 -1
- odoo/addons/automation_oca/static/description/index.html +1 -1
- odoo/addons/automation_oca/tests/test_automation_activity.py +87 -1
- odoo/addons/automation_oca/tests/test_automation_base.py +2 -2
- {odoo_addon_automation_oca-16.0.1.3.0.3.dist-info → odoo_addon_automation_oca-16.0.1.4.0.2.dist-info}/METADATA +2 -2
- {odoo_addon_automation_oca-16.0.1.3.0.3.dist-info → odoo_addon_automation_oca-16.0.1.4.0.2.dist-info}/RECORD +16 -16
- {odoo_addon_automation_oca-16.0.1.3.0.3.dist-info → odoo_addon_automation_oca-16.0.1.4.0.2.dist-info}/WHEEL +0 -0
- {odoo_addon_automation_oca-16.0.1.3.0.3.dist-info → odoo_addon_automation_oca-16.0.1.4.0.2.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ Automation Oca
|
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
|
8
8
|
!! changes will be overwritten. !!
|
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
10
|
-
!! source digest: sha256:
|
|
10
|
+
!! source digest: sha256:6b8f1cf697f8dd49bee14bd4b103cdb239ee9beaa400398c8840337d31c107a6
|
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
12
12
|
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -132,6 +132,11 @@ msgstr ""
|
|
|
132
132
|
msgid "Activity Action Count"
|
|
133
133
|
msgstr ""
|
|
134
134
|
|
|
135
|
+
#. module: automation_oca
|
|
136
|
+
#: model:ir.model.fields,field_description:automation_oca.field_automation_record_step__activity_cancel_on
|
|
137
|
+
msgid "Activity Cancel On"
|
|
138
|
+
msgstr ""
|
|
139
|
+
|
|
135
140
|
#. module: automation_oca
|
|
136
141
|
#. odoo-python
|
|
137
142
|
#: code:addons/automation_oca/models/automation_record_step.py:0
|
|
@@ -154,6 +159,13 @@ msgstr ""
|
|
|
154
159
|
msgid "Activity User Type"
|
|
155
160
|
msgstr ""
|
|
156
161
|
|
|
162
|
+
#. module: automation_oca
|
|
163
|
+
#. odoo-python
|
|
164
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
165
|
+
#, python-format
|
|
166
|
+
msgid "Activity has been cancelled"
|
|
167
|
+
msgstr ""
|
|
168
|
+
|
|
157
169
|
#. module: automation_oca
|
|
158
170
|
#. odoo-python
|
|
159
171
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -168,6 +180,13 @@ msgstr ""
|
|
|
168
180
|
msgid "Activity has not been finished"
|
|
169
181
|
msgstr ""
|
|
170
182
|
|
|
183
|
+
#. module: automation_oca
|
|
184
|
+
#. odoo-python
|
|
185
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
186
|
+
#, python-format
|
|
187
|
+
msgid "Activity not cancelled"
|
|
188
|
+
msgstr ""
|
|
189
|
+
|
|
171
190
|
#. module: automation_oca
|
|
172
191
|
#. odoo-python
|
|
173
192
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -178,6 +197,7 @@ msgstr ""
|
|
|
178
197
|
#. module: automation_oca
|
|
179
198
|
#. odoo-python
|
|
180
199
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
200
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
181
201
|
#, python-format
|
|
182
202
|
msgid "After finished"
|
|
183
203
|
msgstr ""
|
|
@@ -153,6 +153,11 @@ msgstr "Actividad"
|
|
|
153
153
|
msgid "Activity Action Count"
|
|
154
154
|
msgstr "Número de acciones de actividad"
|
|
155
155
|
|
|
156
|
+
#. module: automation_oca
|
|
157
|
+
#: model:ir.model.fields,field_description:automation_oca.field_automation_record_step__activity_cancel_on
|
|
158
|
+
msgid "Activity Cancel On"
|
|
159
|
+
msgstr ""
|
|
160
|
+
|
|
156
161
|
#. module: automation_oca
|
|
157
162
|
#. odoo-python
|
|
158
163
|
#: code:addons/automation_oca/models/automation_record_step.py:0
|
|
@@ -175,6 +180,13 @@ msgstr "Número de correos de actividad"
|
|
|
175
180
|
msgid "Activity User Type"
|
|
176
181
|
msgstr "Actividad tipo de usuario"
|
|
177
182
|
|
|
183
|
+
#. module: automation_oca
|
|
184
|
+
#. odoo-python
|
|
185
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
186
|
+
#, python-format
|
|
187
|
+
msgid "Activity has been cancelled"
|
|
188
|
+
msgstr ""
|
|
189
|
+
|
|
178
190
|
#. module: automation_oca
|
|
179
191
|
#. odoo-python
|
|
180
192
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -189,6 +201,13 @@ msgstr "La actividad ha sido finalizada"
|
|
|
189
201
|
msgid "Activity has not been finished"
|
|
190
202
|
msgstr "La actividad no ha sido finalizada"
|
|
191
203
|
|
|
204
|
+
#. module: automation_oca
|
|
205
|
+
#. odoo-python
|
|
206
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
207
|
+
#, python-format
|
|
208
|
+
msgid "Activity not cancelled"
|
|
209
|
+
msgstr ""
|
|
210
|
+
|
|
192
211
|
#. module: automation_oca
|
|
193
212
|
#. odoo-python
|
|
194
213
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -141,6 +141,11 @@ msgstr "Activité"
|
|
|
141
141
|
msgid "Activity Action Count"
|
|
142
142
|
msgstr ""
|
|
143
143
|
|
|
144
|
+
#. module: automation_oca
|
|
145
|
+
#: model:ir.model.fields,field_description:automation_oca.field_automation_record_step__activity_cancel_on
|
|
146
|
+
msgid "Activity Cancel On"
|
|
147
|
+
msgstr ""
|
|
148
|
+
|
|
144
149
|
#. module: automation_oca
|
|
145
150
|
#. odoo-python
|
|
146
151
|
#: code:addons/automation_oca/models/automation_record_step.py:0
|
|
@@ -163,6 +168,13 @@ msgstr ""
|
|
|
163
168
|
msgid "Activity User Type"
|
|
164
169
|
msgstr ""
|
|
165
170
|
|
|
171
|
+
#. module: automation_oca
|
|
172
|
+
#. odoo-python
|
|
173
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
174
|
+
#, python-format
|
|
175
|
+
msgid "Activity has been cancelled"
|
|
176
|
+
msgstr ""
|
|
177
|
+
|
|
166
178
|
#. module: automation_oca
|
|
167
179
|
#. odoo-python
|
|
168
180
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -177,6 +189,13 @@ msgstr "L'activité a été terminée"
|
|
|
177
189
|
msgid "Activity has not been finished"
|
|
178
190
|
msgstr "L'activité n'a pas été terminée"
|
|
179
191
|
|
|
192
|
+
#. module: automation_oca
|
|
193
|
+
#. odoo-python
|
|
194
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
195
|
+
#, python-format
|
|
196
|
+
msgid "Activity not cancelled"
|
|
197
|
+
msgstr ""
|
|
198
|
+
|
|
180
199
|
#. module: automation_oca
|
|
181
200
|
#. odoo-python
|
|
182
201
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: Odoo Server 16.0\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
|
9
|
-
"PO-Revision-Date: 2025-04-
|
|
9
|
+
"PO-Revision-Date: 2025-04-14 12:24+0000\n"
|
|
10
10
|
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
|
11
11
|
"Language-Team: none\n"
|
|
12
12
|
"Language: it\n"
|
|
@@ -154,6 +154,11 @@ msgstr "Attività"
|
|
|
154
154
|
msgid "Activity Action Count"
|
|
155
155
|
msgstr "Conteggio azioni attività"
|
|
156
156
|
|
|
157
|
+
#. module: automation_oca
|
|
158
|
+
#: model:ir.model.fields,field_description:automation_oca.field_automation_record_step__activity_cancel_on
|
|
159
|
+
msgid "Activity Cancel On"
|
|
160
|
+
msgstr "Annulla attività su"
|
|
161
|
+
|
|
157
162
|
#. module: automation_oca
|
|
158
163
|
#. odoo-python
|
|
159
164
|
#: code:addons/automation_oca/models/automation_record_step.py:0
|
|
@@ -176,6 +181,13 @@ msgstr "Conteggio e-mail attività"
|
|
|
176
181
|
msgid "Activity User Type"
|
|
177
182
|
msgstr "Tipo utente attività"
|
|
178
183
|
|
|
184
|
+
#. module: automation_oca
|
|
185
|
+
#. odoo-python
|
|
186
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
187
|
+
#, python-format
|
|
188
|
+
msgid "Activity has been cancelled"
|
|
189
|
+
msgstr "L'attività è stata annullata"
|
|
190
|
+
|
|
179
191
|
#. module: automation_oca
|
|
180
192
|
#. odoo-python
|
|
181
193
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -190,6 +202,13 @@ msgstr "L'attività è terminata"
|
|
|
190
202
|
msgid "Activity has not been finished"
|
|
191
203
|
msgstr "L'attività non è terminata"
|
|
192
204
|
|
|
205
|
+
#. module: automation_oca
|
|
206
|
+
#. odoo-python
|
|
207
|
+
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
208
|
+
#, python-format
|
|
209
|
+
msgid "Activity not cancelled"
|
|
210
|
+
msgstr "Attività non annullata"
|
|
211
|
+
|
|
193
212
|
#. module: automation_oca
|
|
194
213
|
#. odoo-python
|
|
195
214
|
#: code:addons/automation_oca/models/automation_configuration_step.py:0
|
|
@@ -394,6 +394,14 @@ class AutomationConfigurationStep(models.Model):
|
|
|
394
394
|
"message_configuration": _("After finished"),
|
|
395
395
|
"message": _("Activity not done"),
|
|
396
396
|
},
|
|
397
|
+
"activity_cancel": {
|
|
398
|
+
"name": _("Activity has been cancelled"),
|
|
399
|
+
"step_type": ["activity"],
|
|
400
|
+
"color": "text-warning",
|
|
401
|
+
"icon": "fa fa-ban",
|
|
402
|
+
"message_configuration": _("After finished"),
|
|
403
|
+
"message": _("Activity not cancelled"),
|
|
404
|
+
},
|
|
397
405
|
"activity_not_done": {
|
|
398
406
|
"name": _("Activity has not been finished"),
|
|
399
407
|
"allow_expiry": True,
|
|
@@ -500,6 +508,7 @@ class AutomationConfigurationStep(models.Model):
|
|
|
500
508
|
"mail_reply",
|
|
501
509
|
"mail_not_reply",
|
|
502
510
|
"activity_done",
|
|
511
|
+
"activity_cancel",
|
|
503
512
|
]:
|
|
504
513
|
return False
|
|
505
514
|
return fields.Datetime.now() + relativedelta(
|
|
@@ -68,6 +68,7 @@ class AutomationRecordStep(models.Model):
|
|
|
68
68
|
mail_replied_on = fields.Datetime(readonly=True)
|
|
69
69
|
mail_opened_on = fields.Datetime(readonly=True)
|
|
70
70
|
activity_done_on = fields.Datetime(readonly=True)
|
|
71
|
+
activity_cancel_on = fields.Datetime(readonly=True)
|
|
71
72
|
is_test = fields.Boolean(related="record_id.is_test", store=True)
|
|
72
73
|
step_actions = fields.Json(compute="_compute_step_actions")
|
|
73
74
|
|
|
@@ -131,7 +132,7 @@ class AutomationRecordStep(models.Model):
|
|
|
131
132
|
)
|
|
132
133
|
or not self._check_to_execute()
|
|
133
134
|
):
|
|
134
|
-
self.
|
|
135
|
+
self._reject()
|
|
135
136
|
return self.browse()
|
|
136
137
|
try:
|
|
137
138
|
result = getattr(self, "_run_%s" % self.configuration_step_id.step_type)()
|
|
@@ -154,6 +155,9 @@ class AutomationRecordStep(models.Model):
|
|
|
154
155
|
)
|
|
155
156
|
return self.browse()
|
|
156
157
|
|
|
158
|
+
def _reject(self):
|
|
159
|
+
self.write({"state": "rejected", "processed_on": fields.Datetime.now()})
|
|
160
|
+
|
|
157
161
|
def _fill_childs(self, **kwargs):
|
|
158
162
|
return self.create(
|
|
159
163
|
[
|
|
@@ -305,6 +309,24 @@ class AutomationRecordStep(models.Model):
|
|
|
305
309
|
and not r.scheduled_date
|
|
306
310
|
and r.state == "scheduled"
|
|
307
311
|
)._activate()
|
|
312
|
+
self.child_ids.filtered(
|
|
313
|
+
lambda r: r.trigger_type == "activity_cancel"
|
|
314
|
+
and not r.scheduled_date
|
|
315
|
+
and r.state == "scheduled"
|
|
316
|
+
)._reject()
|
|
317
|
+
|
|
318
|
+
def _set_activity_cancel(self):
|
|
319
|
+
self.write({"activity_cancel_on": fields.Datetime.now()})
|
|
320
|
+
self.child_ids.filtered(
|
|
321
|
+
lambda r: r.trigger_type == "activity_cancel"
|
|
322
|
+
and not r.scheduled_date
|
|
323
|
+
and r.state == "scheduled"
|
|
324
|
+
)._activate()
|
|
325
|
+
self.child_ids.filtered(
|
|
326
|
+
lambda r: r.trigger_type == "activity_done"
|
|
327
|
+
and not r.scheduled_date
|
|
328
|
+
and r.state == "scheduled"
|
|
329
|
+
)._reject()
|
|
308
330
|
|
|
309
331
|
def _set_mail_bounced(self):
|
|
310
332
|
self.write({"mail_status": "bounce"})
|
|
@@ -12,4 +12,16 @@ class MailActivity(models.Model):
|
|
|
12
12
|
def _action_done(self, *args, **kwargs):
|
|
13
13
|
if self.automation_record_step_id:
|
|
14
14
|
self.automation_record_step_id._set_activity_done()
|
|
15
|
-
return super(
|
|
15
|
+
return super(
|
|
16
|
+
MailActivity,
|
|
17
|
+
self.with_context(
|
|
18
|
+
automation_done=True,
|
|
19
|
+
),
|
|
20
|
+
)._action_done(*args, **kwargs)
|
|
21
|
+
|
|
22
|
+
def unlink(self):
|
|
23
|
+
if self.automation_record_step_id and not self.env.context.get(
|
|
24
|
+
"automation_done"
|
|
25
|
+
):
|
|
26
|
+
self.automation_record_step_id._set_activity_cancel()
|
|
27
|
+
return super(MailActivity, self).unlink()
|
|
@@ -367,7 +367,7 @@ ul.auto-toc {
|
|
|
367
367
|
!! This file is generated by oca-gen-addon-readme !!
|
|
368
368
|
!! changes will be overwritten. !!
|
|
369
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
370
|
-
!! source digest: sha256:
|
|
370
|
+
!! source digest: sha256:6b8f1cf697f8dd49bee14bd4b103cdb239ee9beaa400398c8840337d31c107a6
|
|
371
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
|
372
372
|
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/automation/tree/16.0/automation_oca"><img alt="OCA/automation" src="https://img.shields.io/badge/github-OCA%2Fautomation-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/automation-16-0/automation-16-0-automation_oca"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/automation&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
|
373
373
|
<p>This module allows to automate several process according to some rules.</p>
|
|
@@ -46,7 +46,7 @@ class TestAutomationActivity(AutomationTestCase):
|
|
|
46
46
|
|
|
47
47
|
def test_activity_execution_child(self):
|
|
48
48
|
"""
|
|
49
|
-
We will check the execution of the
|
|
49
|
+
We will check the execution of the child task (activity_done) is only scheduled
|
|
50
50
|
after the activity is done
|
|
51
51
|
"""
|
|
52
52
|
activity = self.create_activity_action()
|
|
@@ -72,6 +72,92 @@ class TestAutomationActivity(AutomationTestCase):
|
|
|
72
72
|
self.assertTrue(record_activity.activity_done_on)
|
|
73
73
|
self.assertTrue(record_child_activity.scheduled_date)
|
|
74
74
|
|
|
75
|
+
def test_activity_execution_on_cancel(self):
|
|
76
|
+
"""
|
|
77
|
+
We will check the execution of the child task (activity_done) is only scheduled
|
|
78
|
+
after the activity is done
|
|
79
|
+
"""
|
|
80
|
+
activity = self.create_activity_action()
|
|
81
|
+
child_activity = self.create_server_action(
|
|
82
|
+
parent_id=activity.id, trigger_type="activity_done"
|
|
83
|
+
)
|
|
84
|
+
self.configuration.editable_domain = "[('id', '=', %s)]" % self.partner_01.id
|
|
85
|
+
self.configuration.start_automation()
|
|
86
|
+
self.env["automation.configuration"].cron_automation()
|
|
87
|
+
self.env["automation.record.step"]._cron_automation_steps()
|
|
88
|
+
record_activity = self.env["automation.record.step"].search(
|
|
89
|
+
[("configuration_step_id", "=", activity.id)]
|
|
90
|
+
)
|
|
91
|
+
record_child_activity = self.env["automation.record.step"].search(
|
|
92
|
+
[("configuration_step_id", "=", child_activity.id)]
|
|
93
|
+
)
|
|
94
|
+
self.assertEqual(
|
|
95
|
+
record_activity, self.partner_01.activity_ids.automation_record_step_id
|
|
96
|
+
)
|
|
97
|
+
self.assertFalse(record_activity.activity_done_on)
|
|
98
|
+
self.assertFalse(record_child_activity.scheduled_date)
|
|
99
|
+
self.partner_01.activity_ids.unlink()
|
|
100
|
+
self.assertFalse(record_activity.activity_done_on)
|
|
101
|
+
self.assertFalse(record_child_activity.scheduled_date)
|
|
102
|
+
self.assertEqual(record_child_activity.state, "rejected")
|
|
103
|
+
|
|
104
|
+
def test_activity_execution_cancel_child(self):
|
|
105
|
+
"""
|
|
106
|
+
We will check the execution of the child task (activity_cancel) is only scheduled
|
|
107
|
+
after the activity is cancel
|
|
108
|
+
"""
|
|
109
|
+
activity = self.create_activity_action()
|
|
110
|
+
child_activity = self.create_server_action(
|
|
111
|
+
parent_id=activity.id, trigger_type="activity_cancel"
|
|
112
|
+
)
|
|
113
|
+
self.configuration.editable_domain = "[('id', '=', %s)]" % self.partner_01.id
|
|
114
|
+
self.configuration.start_automation()
|
|
115
|
+
self.env["automation.configuration"].cron_automation()
|
|
116
|
+
self.env["automation.record.step"]._cron_automation_steps()
|
|
117
|
+
record_activity = self.env["automation.record.step"].search(
|
|
118
|
+
[("configuration_step_id", "=", activity.id)]
|
|
119
|
+
)
|
|
120
|
+
record_child_activity = self.env["automation.record.step"].search(
|
|
121
|
+
[("configuration_step_id", "=", child_activity.id)]
|
|
122
|
+
)
|
|
123
|
+
self.assertEqual(
|
|
124
|
+
record_activity, self.partner_01.activity_ids.automation_record_step_id
|
|
125
|
+
)
|
|
126
|
+
self.assertFalse(record_activity.activity_cancel_on)
|
|
127
|
+
self.assertFalse(record_child_activity.scheduled_date)
|
|
128
|
+
self.partner_01.activity_ids.unlink()
|
|
129
|
+
self.assertTrue(record_activity.activity_cancel_on)
|
|
130
|
+
self.assertTrue(record_child_activity.scheduled_date)
|
|
131
|
+
|
|
132
|
+
def test_activity_execution_cancel_child_on_done(self):
|
|
133
|
+
"""
|
|
134
|
+
We will check the execution of the child task (activity_cancel) is not scheduled
|
|
135
|
+
after the activity is done
|
|
136
|
+
"""
|
|
137
|
+
activity = self.create_activity_action()
|
|
138
|
+
child_activity = self.create_server_action(
|
|
139
|
+
parent_id=activity.id, trigger_type="activity_cancel"
|
|
140
|
+
)
|
|
141
|
+
self.configuration.editable_domain = "[('id', '=', %s)]" % self.partner_01.id
|
|
142
|
+
self.configuration.start_automation()
|
|
143
|
+
self.env["automation.configuration"].cron_automation()
|
|
144
|
+
self.env["automation.record.step"]._cron_automation_steps()
|
|
145
|
+
record_activity = self.env["automation.record.step"].search(
|
|
146
|
+
[("configuration_step_id", "=", activity.id)]
|
|
147
|
+
)
|
|
148
|
+
record_child_activity = self.env["automation.record.step"].search(
|
|
149
|
+
[("configuration_step_id", "=", child_activity.id)]
|
|
150
|
+
)
|
|
151
|
+
self.assertEqual(
|
|
152
|
+
record_activity, self.partner_01.activity_ids.automation_record_step_id
|
|
153
|
+
)
|
|
154
|
+
self.assertFalse(record_activity.activity_cancel_on)
|
|
155
|
+
self.assertFalse(record_child_activity.scheduled_date)
|
|
156
|
+
self.partner_01.activity_ids.action_feedback()
|
|
157
|
+
self.assertFalse(record_activity.activity_cancel_on)
|
|
158
|
+
self.assertFalse(record_child_activity.scheduled_date)
|
|
159
|
+
self.assertEqual(record_child_activity.state, "rejected")
|
|
160
|
+
|
|
75
161
|
def test_activity_execution_not_done_child_done(self):
|
|
76
162
|
"""
|
|
77
163
|
We will check the execution of the tasks with activity_not_done is not executed
|
|
@@ -539,9 +539,9 @@ class TestAutomationBase(AutomationTestCase):
|
|
|
539
539
|
},
|
|
540
540
|
set(mail.trigger_child_types.keys()),
|
|
541
541
|
)
|
|
542
|
-
self.assertEqual(
|
|
542
|
+
self.assertEqual(4, len(activity.trigger_child_types))
|
|
543
543
|
self.assertEqual(
|
|
544
|
-
{"after_step", "activity_done", "activity_not_done"},
|
|
544
|
+
{"after_step", "activity_done", "activity_not_done", "activity_cancel"},
|
|
545
545
|
set(activity.trigger_child_types.keys()),
|
|
546
546
|
)
|
|
547
547
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: odoo-addon-automation_oca
|
|
3
|
-
Version: 16.0.1.
|
|
3
|
+
Version: 16.0.1.4.0.2
|
|
4
4
|
Summary: Automate actions in threaded models
|
|
5
5
|
Home-page: https://github.com/OCA/automation
|
|
6
6
|
Author: Dixmit,Odoo Community Association (OCA)
|
|
@@ -22,7 +22,7 @@ Automation Oca
|
|
|
22
22
|
!! This file is generated by oca-gen-addon-readme !!
|
|
23
23
|
!! changes will be overwritten. !!
|
|
24
24
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
25
|
-
!! source digest: sha256:
|
|
25
|
+
!! source digest: sha256:6b8f1cf697f8dd49bee14bd4b103cdb239ee9beaa400398c8840337d31c107a6
|
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
27
27
|
|
|
28
28
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
odoo/addons/automation_oca/README.rst,sha256=
|
|
1
|
+
odoo/addons/automation_oca/README.rst,sha256=FV4-Gql3x1lfbJxRvRSmy9ib_F27bZ8abf0a2j2iuH0,6962
|
|
2
2
|
odoo/addons/automation_oca/__init__.py,sha256=dnUeA_K1torbiMNF3tt2dtECdk-FkWm01DByr9MBMIA,69
|
|
3
|
-
odoo/addons/automation_oca/__manifest__.py,sha256=
|
|
3
|
+
odoo/addons/automation_oca/__manifest__.py,sha256=hN4UCzPOt7LnYMne4uQ9ARKdXY2MDnik2Os1LIUmDvU,1181
|
|
4
4
|
odoo/addons/automation_oca/controllers/__init__.py,sha256=4KFqEP2QHFbPN66eQJMdGsmNz2v7ywWv_FR1pW_kkLk,19
|
|
5
5
|
odoo/addons/automation_oca/controllers/main.py,sha256=DRL6AJKy18ekRPaKtmRoEh5i6fNQDWpoq2GTHztKOKI,2355
|
|
6
6
|
odoo/addons/automation_oca/data/cron.xml,sha256=viAGNb5X619yXQyfpO_HcJOAiQGzEE-m6Sp4y6F4gDs,1297
|
|
7
7
|
odoo/addons/automation_oca/demo/demo.xml,sha256=beyrfyRzVTDZ1Mm2sL5Y57W4GDsUvj9gOMUlrEMM1M8,2838
|
|
8
|
-
odoo/addons/automation_oca/i18n/automation_oca.pot,sha256=
|
|
9
|
-
odoo/addons/automation_oca/i18n/es.po,sha256=
|
|
10
|
-
odoo/addons/automation_oca/i18n/fr.po,sha256=
|
|
11
|
-
odoo/addons/automation_oca/i18n/it.po,sha256=
|
|
8
|
+
odoo/addons/automation_oca/i18n/automation_oca.pot,sha256=fDlFwY58heIAS5zYd-ovJZzeKRD4uPpgtMLPP83xGJU,52118
|
|
9
|
+
odoo/addons/automation_oca/i18n/es.po,sha256=5VzQc6KtnVwyJfwHknZSXbrTlex65CQCPShT4lgDETg,58907
|
|
10
|
+
odoo/addons/automation_oca/i18n/fr.po,sha256=4MD-Lfy-6uAKKPueMwkTwN0MyNEFklVo8G2rx7IlK0E,55691
|
|
11
|
+
odoo/addons/automation_oca/i18n/it.po,sha256=ipa9p8_kBC1xZrWg8QmNTH1gfaF2FACs7Igx9cCQS7w,58631
|
|
12
12
|
odoo/addons/automation_oca/models/__init__.py,sha256=gRWvgicyFDELSeVnpRow1mGuWjfm3ima2Lo-NqlymKg,318
|
|
13
13
|
odoo/addons/automation_oca/models/automation_configuration.py,sha256=VaWXg_6EnUnTdLDV_eZnWKXXVU27nGmZR_lnGIeKstA,12086
|
|
14
|
-
odoo/addons/automation_oca/models/automation_configuration_step.py,sha256=
|
|
14
|
+
odoo/addons/automation_oca/models/automation_configuration_step.py,sha256=dU3d-FTrcopgO9rSnTOv4KAmgePx_GKHVH1P6PijELI,20349
|
|
15
15
|
odoo/addons/automation_oca/models/automation_filter.py,sha256=W8VM977yXH_hZUKCO8ZDKsvzIjYegoIGMN1QLEvikOY,706
|
|
16
16
|
odoo/addons/automation_oca/models/automation_record.py,sha256=Q6aO1pbHHqXeWkugzURHc_U2jp9fP2_RGqPmH_Dbl_k,7362
|
|
17
|
-
odoo/addons/automation_oca/models/automation_record_step.py,sha256=
|
|
17
|
+
odoo/addons/automation_oca/models/automation_record_step.py,sha256=A7_bM2BOidjlPCY8xHGOlH0ThqD8xhpqr4aZhPM0bFE,16024
|
|
18
18
|
odoo/addons/automation_oca/models/automation_tag.py,sha256=mIsuTsLQv8ZLLdykBmvLQ6fLKHJMKZ8qfAwaVibw78c,488
|
|
19
19
|
odoo/addons/automation_oca/models/link_tracker.py,sha256=F8TxTsq5Mzd1H18RygZn4YDjZs8WIPO-B9o1EhaADYg,1745
|
|
20
|
-
odoo/addons/automation_oca/models/mail_activity.py,sha256=
|
|
20
|
+
odoo/addons/automation_oca/models/mail_activity.py,sha256=OTC8RJ3ZYMPFGixMmIWFPNzHi110trdadf7GVFoulQ0,841
|
|
21
21
|
odoo/addons/automation_oca/models/mail_mail.py,sha256=g0hDGkcsdcFl2CLOhPsM5FlzBUsGaYjlCudblHJnZZk,1773
|
|
22
22
|
odoo/addons/automation_oca/models/mail_thread.py,sha256=a1n52bOGi79RGm8G2LT8VTIkMLaliW3jWQfumVUoGFc,2639
|
|
23
23
|
odoo/addons/automation_oca/readme/CONTRIBUTORS.md,sha256=p8_-Mu8Mj7YOCCgizqC5Y02wD8jghcxSizPsYhmQQDs,52
|
|
@@ -29,7 +29,7 @@ odoo/addons/automation_oca/security/security.xml,sha256=pT37-cLbQIP--Tzp0fljiyvN
|
|
|
29
29
|
odoo/addons/automation_oca/static/description/configuration.png,sha256=W8cAn7-cQEVhf7Zy979xMDHi1cKWbDH7uyWkjvGi9gc,55863
|
|
30
30
|
odoo/addons/automation_oca/static/description/icon.png,sha256=abhQ1HbvsatZ_WVS_G6qroJgWNa1Hppd961RD7vrAug,37729
|
|
31
31
|
odoo/addons/automation_oca/static/description/icon.svg,sha256=NkJAwQ9YAXML6VIKe90VZzKUZb58-zGNL029-GC8Pm4,4641
|
|
32
|
-
odoo/addons/automation_oca/static/description/index.html,sha256=
|
|
32
|
+
odoo/addons/automation_oca/static/description/index.html,sha256=hEeH9ARMQfJCGZRCADP6GcbCzQB5ZgacWbhunU7tD68,18215
|
|
33
33
|
odoo/addons/automation_oca/static/src/fields/automation_activity/automation_activity.esm.js,sha256=pbzjSHVYdYcMOXzXtC-lyVYrydk_1YRtMVh88XpTo-E,1779
|
|
34
34
|
odoo/addons/automation_oca/static/src/fields/automation_graph/automation_graph.esm.js,sha256=vbPRaNzH1_wbB0gEBhZvm0gT0VXdgtElQIYeAOJZuNM,3214
|
|
35
35
|
odoo/addons/automation_oca/static/src/fields/automation_graph/automation_graph.xml,sha256=86VqoFswW3ZppaR0KFG4_giKPeT8vgdC1A1vpBtPjFk,297
|
|
@@ -40,8 +40,8 @@ odoo/addons/automation_oca/static/src/views/automation_kanban/automation_kanban_
|
|
|
40
40
|
odoo/addons/automation_oca/tests/__init__.py,sha256=5VS2h2Hl3gUzMQqKgPUYnq-_Wkk7SfD_k0YgTsfXj3g,185
|
|
41
41
|
odoo/addons/automation_oca/tests/common.py,sha256=Zu5AcWGMgoDKdsQ4VMyhHTnot1f7Hunh4tDH9CSHbXw,3558
|
|
42
42
|
odoo/addons/automation_oca/tests/test_automation_action.py,sha256=LLw57To88U6Ercinc0bH49_FRueqKfYHI_FKsw1aA8s,8370
|
|
43
|
-
odoo/addons/automation_oca/tests/test_automation_activity.py,sha256=
|
|
44
|
-
odoo/addons/automation_oca/tests/test_automation_base.py,sha256=
|
|
43
|
+
odoo/addons/automation_oca/tests/test_automation_activity.py,sha256=OLJs-D3hAUzVHX8EtnEE4_1e5XIJQ2JVoFrlpSA52Ls,10549
|
|
44
|
+
odoo/addons/automation_oca/tests/test_automation_base.py,sha256=ThzNwQqlIrWvFHBe8jwXqlXebNPLkONtkSt-8Wt9iOA,24440
|
|
45
45
|
odoo/addons/automation_oca/tests/test_automation_mail.py,sha256=zOzRfhH0-Zz0Jm1TX15efgXibjj7Au19597DZWvAQGc,24704
|
|
46
46
|
odoo/addons/automation_oca/tests/test_automation_security.py,sha256=iazrh9TJDCLaK1vXKXMNqBf0bizedBd3QxUwCodjesY,3883
|
|
47
47
|
odoo/addons/automation_oca/views/automation_configuration.xml,sha256=VU_Hn1cOjZ_z8MbCAgareo3K1PNof0krjW7Nrz90FYQ,25986
|
|
@@ -56,7 +56,7 @@ odoo/addons/automation_oca/wizards/__init__.py,sha256=1yOQpQirzOswywec7gg_gshvEP
|
|
|
56
56
|
odoo/addons/automation_oca/wizards/automation_configuration_test.py,sha256=YK0HD6Ds6B4PMaI97MUpVQaB-wsVTmw6Hpbh532tU-g,1363
|
|
57
57
|
odoo/addons/automation_oca/wizards/automation_configuration_test.xml,sha256=r9lUzD3SeFSLStlc07iXxO1b9e9RbZdUCrvMA46zfm8,1916
|
|
58
58
|
odoo/addons/automation_oca/wizards/mail_compose_message.py,sha256=XL6UGz8_fEwniXM80DhQXink4SMnWg7HHR0kHLekMyc,612
|
|
59
|
-
odoo_addon_automation_oca-16.0.1.
|
|
60
|
-
odoo_addon_automation_oca-16.0.1.
|
|
61
|
-
odoo_addon_automation_oca-16.0.1.
|
|
62
|
-
odoo_addon_automation_oca-16.0.1.
|
|
59
|
+
odoo_addon_automation_oca-16.0.1.4.0.2.dist-info/METADATA,sha256=GKPXSjASC9acjQIi-VjNfpi9GuF7LA4iqrChDhODjSs,7481
|
|
60
|
+
odoo_addon_automation_oca-16.0.1.4.0.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
61
|
+
odoo_addon_automation_oca-16.0.1.4.0.2.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
|
62
|
+
odoo_addon_automation_oca-16.0.1.4.0.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|