diff --git a/odex25_sales/dev_membership/views/partner_extended.xml b/odex25_sales/dev_membership/views/partner_extended.xml
index 4c1a6f8dd..77b1a29d9 100644
--- a/odex25_sales/dev_membership/views/partner_extended.xml
+++ b/odex25_sales/dev_membership/views/partner_extended.xml
@@ -237,10 +237,6 @@
{'invisible':[('company_type','!=','company')]}
-
-
- {'invisible':[('company_type','!=','company')]}
-
diff --git a/odex25_sales/odex25_event/views/event_event_views.xml b/odex25_sales/odex25_event/views/event_event_views.xml
index cdd1d64a7..964e53468 100644
--- a/odex25_sales/odex25_event/views/event_event_views.xml
+++ b/odex25_sales/odex25_event/views/event_event_views.xml
@@ -1,35 +1,6 @@
-
- event.event.form
- event.event
-
-
-
-
- { 'default_is_company': True}
-
-
-
- {'default_is_company': True}
-
-
-
-
-
-
-
event.track.form
event.track
diff --git a/odex25_sales/odex25_website_event_track_gantt/__manifest__.py b/odex25_sales/odex25_website_event_track_gantt/__manifest__.py
index 71acf3203..65ae685ba 100644
--- a/odex25_sales/odex25_website_event_track_gantt/__manifest__.py
+++ b/odex25_sales/odex25_website_event_track_gantt/__manifest__.py
@@ -9,10 +9,12 @@
'version': '1.0',
'description': """This module helps analyzing and organizing event tracks.
For that purpose it adds a gantt view on event tracks.""",
- 'depends': ['website_event_track', 'odex25_web_gantt'],
+ 'depends': ['base', 'website_event_track', 'odex25_web_gantt', 'event', 'contacts', 'mail'],
'auto_install': True,
'data': [
'views/event_event_views.xml',
'views/event_track_views.xml',
+ 'views/res_partner_views.xml',
+ 'views/event_sponsor_views.xml',
],
}
diff --git a/odex25_sales/odex25_website_event_track_gantt/i18n/ar.po b/odex25_sales/odex25_website_event_track_gantt/i18n/ar.po
index 797d0510f..926c47a6b 100644
--- a/odex25_sales/odex25_website_event_track_gantt/i18n/ar.po
+++ b/odex25_sales/odex25_website_event_track_gantt/i18n/ar.po
@@ -90,3 +90,71 @@ msgstr "الأيام المتبقية"
#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_event_event__remaining_hours
msgid "Remaining Time"
msgstr "الوقت المتبقي"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_res_partner__is_event_address
+msgid "Event address"
+msgstr "مكان الفعالية"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_res_partner__is_organizer
+msgid "Organizer"
+msgstr "منظم الفعالية"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_res_partner__is_sponsor
+msgid "Sponsor"
+msgstr "راعى الفعالية"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_event_event__state_id
+#: model_terms:ir.ui.view,arch_db:odex25_website_event_track_gantt.event_event_view_form
+msgid "State"
+msgstr "المحافظة"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_event_event__state_id
+#: model_terms:ir.ui.view,arch_db:odex25_website_event_track_gantt.event_event_view_form
+msgid "Country"
+msgstr "الدولة"
+
+#. module: odex25_website_event_track_gantt
+#: model_terms:ir.ui.view,arch_db:odex25_website_event_track_gantt.event_event_view_form
+msgid "Street..."
+msgstr "الشارع..."
+
+#. module: odex25_website_event_track_gantt
+#: model_terms:ir.ui.view,arch_db:odex25_website_event_track_gantt.event_event_view_form
+msgid "Street 2..."
+msgstr "الشارع 2..."
+
+#. module: odex25_website_event_track_gantt
+#: model_terms:ir.ui.view,arch_db:odex25_website_event_track_gantt.event_event_view_form
+msgid "City"
+msgstr "المدينة"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.actions.act_window,name:odex25_website_event_track_gantt.event_sponsors_action
+#: model:ir.ui.menu,name:odex25_website_event_track_gantt.menu_event_sponsors
+msgid "Event Sponsors"
+msgstr "رعاة الفعاليات"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.ui.menu,name:odex25_website_event_track_gantt.menu_event_organizer
+msgid "Event Organizers"
+msgstr "منظمين الفعاليات"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.actions.act_window,name:odex25_website_event_track_gantt.action_organizer_form
+msgid "Event Organizers"
+msgstr "منظمين الفعاليات"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_res_partner__contact_person
+msgid "Contact person"
+msgstr "أسم مسؤول التواصل"
+
+#. module: odex25_website_event_track_gantt
+#: model:ir.model.fields,field_description:odex25_website_event_track_gantt.field_event_sponsor__contact_person
+msgid "Partner contact person"
+msgstr "أسم مسؤول التواصل عند الشريك"
diff --git a/odex25_sales/odex25_website_event_track_gantt/models/__init__.py b/odex25_sales/odex25_website_event_track_gantt/models/__init__.py
index e972cdb2a..7f0d6838d 100644
--- a/odex25_sales/odex25_website_event_track_gantt/models/__init__.py
+++ b/odex25_sales/odex25_website_event_track_gantt/models/__init__.py
@@ -1,3 +1,5 @@
# -*- coding: utf-8 -*-
from . import event_event
+from . import res_partner
+from . import event_sponsor
diff --git a/odex25_sales/odex25_website_event_track_gantt/models/event_event.py b/odex25_sales/odex25_website_event_track_gantt/models/event_event.py
index bf1ff3dfc..0cde461b2 100644
--- a/odex25_sales/odex25_website_event_track_gantt/models/event_event.py
+++ b/odex25_sales/odex25_website_event_track_gantt/models/event_event.py
@@ -17,6 +17,13 @@ class Event(models.Model):
address_id = fields.Many2one(
'res.partner', string='Venue', default=lambda self: self.env.company.partner_id.id,
tracking=True, domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
+ # address fields
+ street = fields.Char(related="address_id.street", readonly=True)
+ street2 = fields.Char(related="address_id.street2", readonly=True)
+ city = fields.Char(related="address_id.city", readonly=True)
+ state_id = fields.Many2one("res.country.state", string='State', ondelete='restrict',
+ domain="[('country_id', '=?', country_id)]", related="address_id.state_id", readonly=True)
+ country_id = fields.Many2one('res.country', string='Country', ondelete='restrict', related="address_id.country_id", readonly=True)
@api.depends('date_begin', 'date_end')
def _compute_remaining_time(self):
diff --git a/odex25_sales/odex25_website_event_track_gantt/models/event_sponsor.py b/odex25_sales/odex25_website_event_track_gantt/models/event_sponsor.py
new file mode 100644
index 000000000..e35116d98
--- /dev/null
+++ b/odex25_sales/odex25_website_event_track_gantt/models/event_sponsor.py
@@ -0,0 +1,7 @@
+from odoo import fields, models
+
+
+class Sponsor(models.Model):
+ _inherit = "event.sponsor"
+
+ contact_person = fields.Char(string="Partner contact person", related="partner_id.contact_person")
diff --git a/odex25_sales/odex25_website_event_track_gantt/models/res_partner.py b/odex25_sales/odex25_website_event_track_gantt/models/res_partner.py
new file mode 100644
index 000000000..a931ca5d6
--- /dev/null
+++ b/odex25_sales/odex25_website_event_track_gantt/models/res_partner.py
@@ -0,0 +1,10 @@
+from odoo import fields, models
+
+
+class ResPartner(models.Model):
+ _inherit = "res.partner"
+
+ is_event_address = fields.Boolean(string="Event address")
+ is_organizer = fields.Boolean(string="Organizer")
+ is_sponsor = fields.Boolean(string="Sponsor")
+ contact_person = fields.Char(string="Contact person")
diff --git a/odex25_sales/odex25_website_event_track_gantt/views/event_event_views.xml b/odex25_sales/odex25_website_event_track_gantt/views/event_event_views.xml
index 9abb6ecba..4e24f73b3 100644
--- a/odex25_sales/odex25_website_event_track_gantt/views/event_event_views.xml
+++ b/odex25_sales/odex25_website_event_track_gantt/views/event_event_views.xml
@@ -24,9 +24,46 @@
+
+ {'show_address': 1, 'default_is_event_address': True,'default_is_company':
+ True}
+
+ {'no_create': True, 'no_create_edit': True}
+ [('is_event_address','=',True)]
+
+
+ {'default_is_company': True,'default_is_organizer': True,}
+ {'no_create': True, 'no_create_edit': True}
+ [('is_organizer','=',True)]
+
+
+
+
+
+
+
+
+
+
+
+ event.event.form.view.group
+ event.event
+
+
+
+
+ {'no_create': False, 'no_create_edit': False}
+
+
+ {'no_create': False, 'no_create_edit': False}
+
+
+
diff --git a/odex25_sales/odex25_website_event_track_gantt/views/event_sponsor_views.xml b/odex25_sales/odex25_website_event_track_gantt/views/event_sponsor_views.xml
new file mode 100644
index 000000000..579cf838b
--- /dev/null
+++ b/odex25_sales/odex25_website_event_track_gantt/views/event_sponsor_views.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
diff --git a/odex25_sales/odex25_website_event_track_gantt/views/res_partner_views.xml b/odex25_sales/odex25_website_event_track_gantt/views/res_partner_views.xml
new file mode 100644
index 000000000..df6a81143
--- /dev/null
+++ b/odex25_sales/odex25_website_event_track_gantt/views/res_partner_views.xml
@@ -0,0 +1,94 @@
+
+
+
+ view.partner.form.inherited
+ res.partner
+ 10
+
+
+
+
+
+
+
+
+ {'required': [('is_sponsor', '=',
+ True)],'invisible':[('company_type','!=','company')]}
+
+
+
+ {'required': [('is_sponsor', '=', True)]}
+
+
+ {'required': [('is_sponsor', '=', True)]}
+
+
+
+
+
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ [('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]
+
+
+
+ Event organizers
+ ir.actions.act_window
+ res.partner
+ kanban,tree,form
+ {'default_is_company': True,'default_is_organizer': True,}
+ [('is_organizer','=',True)]
+
+
+
+
+
+