odoo-addon-automation-oca 16.0.1.1.3.1__py3-none-any.whl → 16.0.1.1.4__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:aa2cb70c4a9d78119c9a775f43b2ce9b39df1d6aad356ad1cabceeeed3b87394
10
+ !! source digest: sha256:ccb811ad3a2c4cdcb94c7d6d3a493d5f910a959272dcb7f1be12efe354ebfa1d
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.1.3",
8
+ "version": "16.0.1.1.4",
9
9
  "license": "AGPL-3",
10
10
  "category": "Automation",
11
11
  "author": "Dixmit,Odoo Community Association (OCA)",
@@ -87,6 +87,11 @@ msgstr ""
87
87
  msgid "<span class=\"col-2\">of</span>"
88
88
  msgstr ""
89
89
 
90
+ #. module: automation_oca
91
+ #: model_terms:ir.ui.view,arch_db:automation_oca.automation_record_form_view
92
+ msgid "<span>This record is an orphan record</span>"
93
+ msgstr ""
94
+
90
95
  #. module: automation_oca
91
96
  #: model:ir.model.fields,field_description:automation_oca.field_automation_configuration__message_needaction
92
97
  msgid "Action Needed"
@@ -638,11 +643,21 @@ msgstr ""
638
643
  msgid "If checked, some messages have a delivery error."
639
644
  msgstr ""
640
645
 
646
+ #. module: automation_oca
647
+ #: model:ir.model.fields,help:automation_oca.field_automation_record__is_orphan_record
648
+ msgid "Indicates if this record is a placeholder for a missing resource."
649
+ msgstr ""
650
+
641
651
  #. module: automation_oca
642
652
  #: model:ir.model.fields,field_description:automation_oca.field_automation_configuration__message_is_follower
643
653
  msgid "Is Follower"
644
654
  msgstr ""
645
655
 
656
+ #. module: automation_oca
657
+ #: model:ir.model.fields,field_description:automation_oca.field_automation_record__is_orphan_record
658
+ msgid "Is Orphan Record"
659
+ msgstr ""
660
+
646
661
  #. module: automation_oca
647
662
  #: model:ir.model.fields,field_description:automation_oca.field_automation_configuration__is_periodic
648
663
  msgid "Is Periodic"
@@ -972,6 +987,13 @@ msgstr ""
972
987
  msgid "Opened after"
973
988
  msgstr ""
974
989
 
990
+ #. module: automation_oca
991
+ #. odoo-python
992
+ #: code:addons/automation_oca/models/automation_record.py:0
993
+ #, python-format
994
+ msgid "Orphan Record"
995
+ msgstr ""
996
+
975
997
  #. module: automation_oca
976
998
  #: model:ir.model,name:automation_oca.model_mail_mail
977
999
  msgid "Outgoing Mails"
@@ -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: 2024-09-16 11:06+0000\n"
9
+ "PO-Revision-Date: 2024-12-27 11:06+0000\n"
10
10
  "Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11
11
  "Language-Team: none\n"
12
12
  "Language: it\n"
@@ -411,7 +411,7 @@ msgstr "Creato il"
411
411
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__expiry_interval_type__days
412
412
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__trigger_interval_type__days
413
413
  msgid "Day(s)"
414
- msgstr ""
414
+ msgstr "Giorno(i)"
415
415
 
416
416
  #. module: automation_oca
417
417
  #: model_terms:ir.ui.view,arch_db:automation_oca.automation_configuration_step_form_view
@@ -645,7 +645,7 @@ msgstr "Ha un messaggio"
645
645
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__expiry_interval_type__hours
646
646
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__trigger_interval_type__hours
647
647
  msgid "Hour(s)"
648
- msgstr ""
648
+ msgstr "Ora(e)"
649
649
 
650
650
  #. module: automation_oca
651
651
  #: model:ir.model.fields,field_description:automation_oca.field_automation_configuration__id
@@ -863,7 +863,7 @@ msgstr "Modello dove è applicata la configurazione"
863
863
  #. module: automation_oca
864
864
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__activity_date_deadline_range_type__months
865
865
  msgid "Month(s)"
866
- msgstr ""
866
+ msgstr "Mese(i)"
867
867
 
868
868
  #. module: automation_oca
869
869
  #: model:ir.model.fields,field_description:automation_oca.field_automation_configuration__name
@@ -1390,7 +1390,7 @@ msgstr "Nome campo utente"
1390
1390
  #. module: automation_oca
1391
1391
  #: model:ir.model.fields.selection,name:automation_oca.selection__automation_configuration_step__activity_date_deadline_range_type__weeks
1392
1392
  msgid "Week(s)"
1393
- msgstr ""
1393
+ msgstr "Settimana(e)"
1394
1394
 
1395
1395
  #. module: automation_oca
1396
1396
  #: model:mail.template,name:automation_oca.demo_welcome_template
@@ -4,7 +4,7 @@
4
4
  import logging
5
5
  from collections import defaultdict
6
6
 
7
- from odoo import api, fields, models
7
+ from odoo import _, api, fields, models
8
8
 
9
9
  _logger = logging.getLogger(__name__)
10
10
 
@@ -40,6 +40,12 @@ class AutomationRecord(models.Model):
40
40
  )
41
41
  is_test = fields.Boolean()
42
42
 
43
+ is_orphan_record = fields.Boolean(
44
+ default=False,
45
+ help="Indicates if this record is a placeholder for a missing resource.",
46
+ readonly=True,
47
+ )
48
+
43
49
  @api.model
44
50
  def _selection_target_model(self):
45
51
  return [
@@ -69,7 +75,10 @@ class AutomationRecord(models.Model):
69
75
  @api.depends("res_id", "model")
70
76
  def _compute_name(self):
71
77
  for record in self:
72
- record.name = self.env[record.model].browse(record.res_id).display_name
78
+ if not record.is_orphan_record:
79
+ record.name = self.env[record.model].browse(record.res_id).display_name
80
+ else:
81
+ record.name = _("Orphan Record")
73
82
 
74
83
  @api.model
75
84
  def _search(
@@ -89,56 +98,60 @@ class AutomationRecord(models.Model):
89
98
  count=False,
90
99
  access_rights_uid=access_rights_uid,
91
100
  )
92
- if self.env.is_system():
93
- # restrictions do not apply to group "Settings"
94
- return len(ids) if count else ids
95
-
96
- # TODO highlight orphaned records in UI:
97
- # - self.model + self.res_id are set
98
- # - self.record returns empty recordset
99
- # Remark: self.record is @property, not field
100
-
101
101
  if not ids:
102
102
  return 0 if count else []
103
103
  orig_ids = ids
104
104
  ids = set(ids)
105
105
  result = []
106
- model_data = defaultdict(
107
- lambda: defaultdict(set)
108
- ) # {res_model: {res_id: set(ids)}}
106
+ model_data = defaultdict(lambda: defaultdict(set))
109
107
  for sub_ids in self._cr.split_for_in_conditions(ids):
110
108
  self._cr.execute(
111
109
  """
112
- SELECT id, res_id, model
110
+ SELECT id, res_id, model, configuration_id
113
111
  FROM "%s"
114
112
  WHERE id = ANY (%%(ids)s)"""
115
113
  % self._table,
116
114
  dict(ids=list(sub_ids)),
117
115
  )
118
- for eid, res_id, model in self._cr.fetchall():
119
- model_data[model][res_id].add(eid)
116
+ for eid, res_id, model, config_id in self._cr.fetchall():
117
+ model_data[model][(res_id, config_id)].add(eid)
120
118
 
121
119
  for model, targets in model_data.items():
122
120
  if not self.env[model].check_access_rights("read", False):
123
121
  continue
124
- recs = self.env[model].browse(list(targets))
122
+ res_ids = [res_id for res_id, _ in targets]
123
+ recs = self.env[model].browse(res_ids)
125
124
  missing = recs - recs.exists()
126
- if missing:
127
- for res_id in missing.ids:
128
- _logger.warning(
129
- "Deleted record %s,%s is referenced by automation.record %s",
130
- model,
131
- res_id,
132
- list(targets[res_id]),
125
+ if len(missing) > 0:
126
+ for (res_id, config_id) in [
127
+ (res_id, config_id)
128
+ for (res_id, config_id) in targets.keys()
129
+ if res_id is None or res_id in missing.ids
130
+ ]:
131
+ automation_record = self.env["automation.record"].browse(
132
+ list(targets[(res_id, config_id)])
133
133
  )
134
- recs = recs - missing
134
+ if not automation_record.is_orphan_record:
135
+ _logger.info(
136
+ "Deleted record %s,%s is referenced by automation.record",
137
+ model,
138
+ res_id,
139
+ )
140
+ # sudo to avoid access rights check on the record
141
+ automation_record.sudo().write(
142
+ {
143
+ "is_orphan_record": True,
144
+ "res_id": False,
145
+ }
146
+ )
147
+ result += list(targets[(res_id, config_id)])
135
148
  allowed = (
136
149
  self.env[model]
137
150
  .with_context(active_test=False)
138
151
  ._search([("id", "in", recs.ids)])
139
152
  )
140
153
  for target_id in allowed:
141
- result += list(targets[target_id])
154
+ result += list(targets.get((target_id, config_id), []))
142
155
  if len(orig_ids) == limit and len(result) < len(orig_ids):
143
156
  result.extend(
144
157
  self._search(
@@ -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:aa2cb70c4a9d78119c9a775f43b2ce9b39df1d6aad356ad1cabceeeed3b87394
370
+ !! source digest: sha256:ccb811ad3a2c4cdcb94c7d6d3a493d5f910a959272dcb7f1be12efe354ebfa1d
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>
@@ -544,3 +544,21 @@ class TestAutomationBase(AutomationTestCase):
544
544
  {"after_step", "activity_done", "activity_not_done"},
545
545
  set(activity.trigger_child_types.keys()),
546
546
  )
547
+
548
+ def test_generation_orphan_record(self):
549
+ self.configuration.editable_domain = (
550
+ "['|', ('id', '=', %s), ('id', '=', %s)]"
551
+ % (self.partner_01.id, self.partner_02.id)
552
+ )
553
+ self.configuration.start_automation()
554
+ self.env["automation.configuration"].cron_automation()
555
+ self.partner_01.unlink()
556
+ records = self.env["automation.record"].search(
557
+ [("configuration_id", "=", self.configuration.id), ("is_test", "=", False)]
558
+ )
559
+ self.configuration._compute_record_count()
560
+ self.assertEqual(len(records), 2, "Seems like no orphan record was created")
561
+ orphan_record_found = any(record.name == "Orphan Record" for record in records)
562
+ self.assertTrue(
563
+ orphan_record_found, "No record named 'Orphan Record' was found"
564
+ )
@@ -100,6 +100,7 @@ class TestAutomationSecurity(AutomationTestCase):
100
100
  record = self.env["automation.record"].search(
101
101
  [("configuration_id", "=", self.configuration.id)]
102
102
  )
103
- self.assertFalse(record)
103
+ self.assertTrue(record)
104
+ self.assertTrue(record.is_orphan_record)
104
105
  self.assertTrue(original_record)
105
- self.assertFalse(original_record.read())
106
+ self.assertTrue(original_record.read())
@@ -19,7 +19,17 @@
19
19
  />
20
20
 
21
21
  <div class="oe_title">
22
- <h1><field
22
+ <div attrs="{'invisible': [('is_orphan_record', '=', False)]}">
23
+ <field name="is_orphan_record" invisible="1" />
24
+ <h1><span>This record is an orphan record</span></h1>
25
+ <group>
26
+ <field name="model" />
27
+ </group>
28
+ </div>
29
+
30
+ <h1
31
+ attrs="{'invisible': [('is_orphan_record', '=', True)]}"
32
+ ><field
23
33
  name="resource_ref"
24
34
  required="1"
25
35
  options="{'hide_model': True}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: odoo-addon-automation_oca
3
- Version: 16.0.1.1.3.1
3
+ Version: 16.0.1.1.4
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:aa2cb70c4a9d78119c9a775f43b2ce9b39df1d6aad356ad1cabceeeed3b87394
25
+ !! source digest: sha256:ccb811ad3a2c4cdcb94c7d6d3a493d5f910a959272dcb7f1be12efe354ebfa1d
26
26
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
27
27
 
28
28
  .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -1,19 +1,19 @@
1
- odoo/addons/automation_oca/README.rst,sha256=UVsOAUOw5Sv7YAxXrczAo_dk6PF0vJMqwIL6TjjRdfU,6798
1
+ odoo/addons/automation_oca/README.rst,sha256=aFUQoyn4uDBMS4ZgJOc-IXigzohlAq53aicXEHjtvZo,6798
2
2
  odoo/addons/automation_oca/__init__.py,sha256=dnUeA_K1torbiMNF3tt2dtECdk-FkWm01DByr9MBMIA,69
3
- odoo/addons/automation_oca/__manifest__.py,sha256=8FWieX2oggLZxx0KsB2ro3in5gV3KJz5-r7b7h828Xw,1181
3
+ odoo/addons/automation_oca/__manifest__.py,sha256=vzrllc0eiyvzewkBO_OIuelN8z1N6yyNinGiZcPS-b4,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=N4V_r0BsQzSJMR3YmCS31KXzFj2n9F7I-9nlBOzL5Yw,49792
8
+ odoo/addons/automation_oca/i18n/automation_oca.pot,sha256=pOGfJqxOPGuI9ETnM-PnUA0_-fqGoqpjfOpKXb83Dd4,50470
9
9
  odoo/addons/automation_oca/i18n/es.po,sha256=e-XBtK8jo7LXBxnEdWG_baBxcgaDdRjoYchb1WCppiE,55613
10
10
  odoo/addons/automation_oca/i18n/fr.po,sha256=Ih3ypwBaJoY7J01QC_U6tLZcN1kHDh5i3N9vL9iB7GY,53434
11
- odoo/addons/automation_oca/i18n/it.po,sha256=nlOmHethGhDTX2IEY3Sji2hDx9RR3t1D4SyarU42kYs,55753
11
+ odoo/addons/automation_oca/i18n/it.po,sha256=TNMBAWzUgpF3Kuu1W0OGU6r8Guw2WpNlSkFkBIB01ng,55787
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
14
  odoo/addons/automation_oca/models/automation_configuration_step.py,sha256=bpCcENe65DtTLQMbPwlFXyzXA4Ep5VnlsPFiavTmsWs,19335
15
15
  odoo/addons/automation_oca/models/automation_filter.py,sha256=W8VM977yXH_hZUKCO8ZDKsvzIjYegoIGMN1QLEvikOY,706
16
- odoo/addons/automation_oca/models/automation_record.py,sha256=3EGcSvtULRtkdRN48PoT3QgQN7TMUrjdeZz4pbdi3g0,6619
16
+ odoo/addons/automation_oca/models/automation_record.py,sha256=Q6aO1pbHHqXeWkugzURHc_U2jp9fP2_RGqPmH_Dbl_k,7362
17
17
  odoo/addons/automation_oca/models/automation_record_step.py,sha256=njKySvUJnVZrqIlG3tERsYFEVbCucc-wmdJgO3aK6sw,15071
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
@@ -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=S1wdU-bJwi-wPfCIpZUmAMlW73tlC3wjFs1mbeGWvqc,18045
32
+ odoo/addons/automation_oca/static/description/index.html,sha256=g2gV9abkMM-ShNBtzTka2FgVCfEl-QRutND-sy1ZNAM,18045
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
@@ -41,13 +41,13 @@ odoo/addons/automation_oca/tests/__init__.py,sha256=5VS2h2Hl3gUzMQqKgPUYnq-_Wkk7
41
41
  odoo/addons/automation_oca/tests/common.py,sha256=Zu5AcWGMgoDKdsQ4VMyhHTnot1f7Hunh4tDH9CSHbXw,3558
42
42
  odoo/addons/automation_oca/tests/test_automation_action.py,sha256=aFg_OASkQ8Or-CgrgOnCRlc9Z1_1VXPsuj2ui4pCsYA,7606
43
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=QYBCGvUerP7ofs7BK8z_H-EIGVE3gUieD7U9RNdXK_k,23577
44
+ odoo/addons/automation_oca/tests/test_automation_base.py,sha256=vUQPlxRM-zkJfzslPE4_V4eXq0RSRFCo1BLhrVzi_s8,24421
45
45
  odoo/addons/automation_oca/tests/test_automation_mail.py,sha256=zOzRfhH0-Zz0Jm1TX15efgXibjj7Au19597DZWvAQGc,24704
46
- odoo/addons/automation_oca/tests/test_automation_security.py,sha256=wKmOrowc92OWsCeI4yfNLZ1AHk39J-lKRQF2NEcezPc,3836
46
+ odoo/addons/automation_oca/tests/test_automation_security.py,sha256=iazrh9TJDCLaK1vXKXMNqBf0bizedBd3QxUwCodjesY,3883
47
47
  odoo/addons/automation_oca/views/automation_configuration.xml,sha256=ZDKnacllotuGnSS2CcM4wY62cWnG6JriosBMF8ZbhJs,25406
48
48
  odoo/addons/automation_oca/views/automation_configuration_step.xml,sha256=hjRXDRbnI49DdYQrGUMmEO0-EcaVnkuqqpJhCvr4MEE,9198
49
49
  odoo/addons/automation_oca/views/automation_filter.xml,sha256=Mx0SBoVk2U3QY-hseKymbOphlK-hOjHdFzLtPgU2jok,2271
50
- odoo/addons/automation_oca/views/automation_record.xml,sha256=YoxRu5UXfUAeP8SK-A9urzLrOPhtpQVyiVwvS0O2VBQ,15518
50
+ odoo/addons/automation_oca/views/automation_record.xml,sha256=gFpChe7depWuZS751R3TLC1B4IxzVW5ez2yp-a9VPck,16034
51
51
  odoo/addons/automation_oca/views/automation_record_step.xml,sha256=cBao3BLIo9Db_Mv4VpyugpnTfzMmjLXQ5Eu2aYwD9uE,5263
52
52
  odoo/addons/automation_oca/views/automation_tag.xml,sha256=Cm-L0rtrgxxtDt5_MRRFLgz3QQzaOjoxFq4ivLejs6M,1358
53
53
  odoo/addons/automation_oca/views/link_tracker_clicks.xml,sha256=uSYTtxlNBBHvFEi2XAA3JW4x7fPSqoxdgPeRkkEIO1s,1668
@@ -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.1.3.1.dist-info/METADATA,sha256=iMueQKJ9oAr0kUebEAgTPtwDWwgGH2Aa-yLjAVbgjoc,7317
60
- odoo_addon_automation_oca-16.0.1.1.3.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
61
- odoo_addon_automation_oca-16.0.1.1.3.1.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
62
- odoo_addon_automation_oca-16.0.1.1.3.1.dist-info/RECORD,,
59
+ odoo_addon_automation_oca-16.0.1.1.4.dist-info/METADATA,sha256=qyXDIoezJ0jIMRMFDiD32BO7AXUw9TrJy8j7wmI-9Fo,7315
60
+ odoo_addon_automation_oca-16.0.1.1.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
61
+ odoo_addon_automation_oca-16.0.1.1.4.dist-info/top_level.txt,sha256=qBj40grFkGOfDZ2WDSw3y1RnDlgG0u8rP8pvGNdbz4w,5
62
+ odoo_addon_automation_oca-16.0.1.1.4.dist-info/RECORD,,