odoo-addon-automation-oca 16.0.1.3.0.3__py3-none-any.whl → 16.0.1.4.0__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/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.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.dist-info}/RECORD +13 -13
- {odoo_addon_automation_oca-16.0.1.3.0.3.dist-info → odoo_addon_automation_oca-16.0.1.4.0.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.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 ""
|
|
@@ -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
|
|
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=
|
|
8
|
+
odoo/addons/automation_oca/i18n/automation_oca.pot,sha256=fDlFwY58heIAS5zYd-ovJZzeKRD4uPpgtMLPP83xGJU,52118
|
|
9
9
|
odoo/addons/automation_oca/i18n/es.po,sha256=2E6JAiyRH6RAkCD-uwdlc5W_ldwCmncA3jIe29ctC84,58387
|
|
10
10
|
odoo/addons/automation_oca/i18n/fr.po,sha256=V4wJhweHc_goZHW7gr2yHPq47hm9Po1R8PP859rFNMk,55171
|
|
11
11
|
odoo/addons/automation_oca/i18n/it.po,sha256=w0_U2lLL2r5cPDiYFO1bx9wLEE5pueLECZlaZLu-caw,58038
|
|
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.dist-info/METADATA,sha256=W887-ymYirzsL_CdsyBvReqQw8d6ObYnJLsPT1GRjUk,7479
|
|
60
|
+
odoo_addon_automation_oca-16.0.1.4.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
61
|
+
odoo_addon_automation_oca-16.0.1.4.0.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
|
|
62
|
+
odoo_addon_automation_oca-16.0.1.4.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|