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.
@@ -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:7590da06e1c26c7c195b09fd60c5cfdbc01f941e5b611fc3c9cd7b3e0526374d
10
+ !! source digest: sha256:6b8f1cf697f8dd49bee14bd4b103cdb239ee9beaa400398c8840337d31c107a6
11
11
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
12
 
13
13
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -5,7 +5,7 @@
5
5
  "name": "Automation Oca",
6
6
  "summary": """
7
7
  Automate actions in threaded models""",
8
- "version": "16.0.1.3.0",
8
+ "version": "16.0.1.4.0",
9
9
  "license": "AGPL-3",
10
10
  "category": "Automation",
11
11
  "author": "Dixmit,Odoo Community Association (OCA)",
@@ -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.write({"state": "rejected", "processed_on": fields.Datetime.now()})
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()._action_done(*args, **kwargs)
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:7590da06e1c26c7c195b09fd60c5cfdbc01f941e5b611fc3c9cd7b3e0526374d
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&amp;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 hild task (activity_done) is only scheduled
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(3, len(activity.trigger_child_types))
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.0.3
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:7590da06e1c26c7c195b09fd60c5cfdbc01f941e5b611fc3c9cd7b3e0526374d
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=3BeUQ9xh-1Hyy9owzpuYk-WKdcbG232k3mKv8l7N1CE,6962
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=PvQWKc3S0lh7yte3hsjJRoCH-1hHNngiiFc1MhrGJxU,1181
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=tx_0kaITykM6HZKKivdyQtFwlAVMIqKQmiquxNafHxg,51526
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=3je70PMzMFkJP36L8OlOPIjD7befywVmY47o3tnzFV8,19973
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=kgoxSDz8_8LSWIUYcNZ_FF_S50CWnkTrdaMtmuYZiPk,15257
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=RIw89CNjEMWRE2azgEHsZeXtr64VU6AGWnv5DOERP4k,470
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=qnLdRYyKeBkhjC1FCsMmiil8v_KA7yBUlJI-wBAu44k,18215
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=OHUMONBVY0pYbmlTCfWzPdJPSYaExCfJCS_LPtpEhuE,6385
44
- odoo/addons/automation_oca/tests/test_automation_base.py,sha256=vUQPlxRM-zkJfzslPE4_V4eXq0RSRFCo1BLhrVzi_s8,24421
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.3.0.3.dist-info/METADATA,sha256=RSt4v38IMT4lXpHSvPT1-peqQgDiJxTV6VQqz1m0RKQ,7481
60
- odoo_addon_automation_oca-16.0.1.3.0.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
61
- odoo_addon_automation_oca-16.0.1.3.0.3.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
62
- odoo_addon_automation_oca-16.0.1.3.0.3.dist-info/RECORD,,
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,,