From 33118c3f3c0b2b2e5524babd4359171abaa103fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Fri, 6 Sep 2024 10:28:06 +0200
Subject: [PATCH] [FIX] add related field on event_registration

---
 __manifest__.py                      |  2 +-
 data/mail_template_data.xml          | 12 +++++++
 i18n/fr.po                           |  9 +++++
 models/__init__.py                   |  2 ++
 models/event_event.py                | 45 -------------------------
 models/event_registration.py         | 34 +++++++++++++++++++
 models/event_type.py                 | 50 ++++++++++++++++++++++++++++
 views/{event.xml => event_event.xml} |  0
 8 files changed, 108 insertions(+), 46 deletions(-)
 create mode 100644 models/event_registration.py
 create mode 100644 models/event_type.py
 rename views/{event.xml => event_event.xml} (100%)

diff --git a/__manifest__.py b/__manifest__.py
index f495f35..2e8e924 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -14,7 +14,7 @@
         # datas
         "data/mail_template_data.xml",
         # views
-        "views/event.xml",
+        "views/event_event.xml",
         # views menu
         # wizard
     ],
diff --git a/data/mail_template_data.xml b/data/mail_template_data.xml
index af1f972..3bdbfab 100644
--- a/data/mail_template_data.xml
+++ b/data/mail_template_data.xml
@@ -840,6 +840,18 @@
                                                                 Yahoo
                                                             </a>
                                                             <br />
+                                                            <t
+                                                                t-if="object.webinar_link"
+                                                            >
+                                                                You can access the
+                                                                webinar
+                                                                via this link:
+                                                                <t
+                                                                    t-out="object.webinar_link"
+                                                                >
+                                                                    Awesome link
+                                                                </t>
+                                                            </t>
                                                             <br />
                                                         </div>
                                                         <div>
diff --git a/i18n/fr.po b/i18n/fr.po
index 5f5ae40..ee5d20f 100644
--- a/i18n/fr.po
+++ b/i18n/fr.po
@@ -1900,6 +1900,15 @@ msgstr ""
 "                                                                Yahoo\n"
 "                                                            </a>\n"
 "                                                            <br>\n"
+"                                                            <t t-if=\"object.webinar_link\">\n"
+"                                                                Vous pouvez accèder\n"
+"                                                                au wébinaire\n"
+"                                                                au travers de ce lien:\n"
+"                                                                <t t-out=\"object."
+"webinar_link\">\n"
+"                                                                    Awesome link\n"
+"                                                                </t>\n"
+"                                                            </t>\n"
 "                                                            <br>\n"
 "                                                        </div>\n"
 "                                                        <div>\n"
diff --git a/models/__init__.py b/models/__init__.py
index b6bc389..fea9a03 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1 +1,3 @@
 from . import event_event
+from . import event_registration
+from . import event_type
diff --git a/models/event_event.py b/models/event_event.py
index c25aac3..e3b2973 100644
--- a/models/event_event.py
+++ b/models/event_event.py
@@ -5,51 +5,6 @@
 from odoo import fields, models
 
 
-class EventType(models.Model):
-    _inherit = "event.type"
-
-    def _default_event_mail_type_ids(self):
-        res = [
-            (
-                0,
-                0,
-                {
-                    "notification_type": "mail",
-                    "interval_nbr": 0,
-                    "interval_unit": "now",
-                    "interval_type": "after_sub",
-                    "template_ref": "mail.template, %i"
-                    % self.env.ref("solagro_event.solagro_event_subscription").id,
-                },
-            ),
-            (
-                0,
-                0,
-                {
-                    "notification_type": "mail",
-                    "interval_nbr": 1,
-                    "interval_unit": "hours",
-                    "interval_type": "before_event",
-                    "template_ref": "mail.template, %i"
-                    % self.env.ref("solagro_event.solagro_event_reminder").id,
-                },
-            ),
-            (
-                0,
-                0,
-                {
-                    "notification_type": "mail",
-                    "interval_nbr": 3,
-                    "interval_unit": "days",
-                    "interval_type": "before_event",
-                    "template_ref": "mail.template, %i"
-                    % self.env.ref("solagro_event.solagro_event_reminder").id,
-                },
-            ),
-        ]
-        return res
-
-
 class Event(models.Model):
     _inherit = "event.event"
 
diff --git a/models/event_registration.py b/models/event_registration.py
new file mode 100644
index 0000000..3785640
--- /dev/null
+++ b/models/event_registration.py
@@ -0,0 +1,34 @@
+# Copyright 2024- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+
+from odoo import fields, models
+
+
+class Event(models.Model):
+    _inherit = "event.registration"
+
+    webinar_link = fields.Char(related="event_id.webinar_link", readonly=True)
+    # ------------------------------------------------------
+    # Default methods
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Computed fields / Search Fields
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Onchange / Constraints
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # CRUD methods (ORM overrides)
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Actions
+    # ------------------------------------------------------
+
+    # ------------------------------------------------------
+    # Business methods
+    # ------------------------------------------------------
diff --git a/models/event_type.py b/models/event_type.py
new file mode 100644
index 0000000..d93847a
--- /dev/null
+++ b/models/event_type.py
@@ -0,0 +1,50 @@
+# Copyright 2024- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+
+from odoo import models
+
+
+class EventType(models.Model):
+    _inherit = "event.type"
+
+    def _default_event_mail_type_ids(self):
+        res = [
+            (
+                0,
+                0,
+                {
+                    "notification_type": "mail",
+                    "interval_nbr": 0,
+                    "interval_unit": "now",
+                    "interval_type": "after_sub",
+                    "template_ref": "mail.template, %i"
+                    % self.env.ref("solagro_event.solagro_event_subscription").id,
+                },
+            ),
+            (
+                0,
+                0,
+                {
+                    "notification_type": "mail",
+                    "interval_nbr": 1,
+                    "interval_unit": "hours",
+                    "interval_type": "before_event",
+                    "template_ref": "mail.template, %i"
+                    % self.env.ref("solagro_event.solagro_event_reminder").id,
+                },
+            ),
+            (
+                0,
+                0,
+                {
+                    "notification_type": "mail",
+                    "interval_nbr": 3,
+                    "interval_unit": "days",
+                    "interval_type": "before_event",
+                    "template_ref": "mail.template, %i"
+                    % self.env.ref("solagro_event.solagro_event_reminder").id,
+                },
+            ),
+        ]
+        return res
diff --git a/views/event.xml b/views/event_event.xml
similarity index 100%
rename from views/event.xml
rename to views/event_event.xml
-- 
GitLab