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.sponsor.form - event.sponsor - - - - - {'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 @@ + + + + + event.sponsor.view.form.inherit + event.sponsor + + + + {'default_is_company': True, 'default_is_sponsor': True} + {'no_create': True, 'no_create_edit': True} + [('is_sponsor','=',True)] + + + + + + + + event.sponsor.view.form.group + event.sponsor + + + + + {'no_create': False, 'no_create_edit': False} + + + + 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)]} + + + + + + + + res.partner.sponsor.form.inherit + res.partner + + + + {'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)] + + + + Event Sponsors + ir.actions.act_window + res.partner + kanban,tree,form + {'default_is_sponsor': True,} + [('is_sponsor','=',True)] + + + + +