Merge pull request #2638 from expsa/task_11959

fix(odex25_website_event_track_gantt): Task 11959
This commit is contained in:
FathiaBMExp 2025-03-13 09:05:23 +01:00 committed by GitHub
commit da381eaf40
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 75 additions and 43 deletions

View File

@ -9,7 +9,7 @@
'version': '1.0',
'description': """This module helps analyzing and organizing event tracks.
For that purpose it adds a gantt view on event tracks.""",
'depends': ['base', 'website_event_track', 'odex25_web_gantt', 'event', 'contacts'],
'depends': ['base', 'website_event_track', 'odex25_web_gantt', 'event', 'contacts', 'mail'],
'auto_install': True,
'data': [
'views/event_event_views.xml',

View File

@ -90,3 +90,60 @@ 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.ui.menu,name:odex25_website_event_track_gantt.menu_event_sponsor
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 "منظمين الفعاليات"

View File

@ -2,4 +2,3 @@
from . import event_event
from . import res_partner
from . import event_sponsor

View File

@ -17,9 +17,6 @@ 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)]")
manager_can_edit = fields.Boolean(
string="Manager Can Edit", compute="_compute_manager_can_edit"
)
# address fields
street = fields.Char(related="address_id.street", readonly=True)
street2 = fields.Char(related="address_id.street2", readonly=True)
@ -28,12 +25,6 @@ class Event(models.Model):
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_context('uid')
def _compute_manager_can_edit(self):
""" Compute whether the user can edit the address_id, organizer_id field """
for record in self:
record.manager_can_edit = self.env.user.has_group('event.group_event_manager')
@api.depends('date_begin', 'date_end')
def _compute_remaining_time(self):
now = fields.Datetime.now()

View File

@ -1,15 +0,0 @@
from odoo import api, fields, models
class Sponsor(models.Model):
_inherit = "event.sponsor"
manager_can_edit = fields.Boolean(
string="Manager Can Edit", compute="_compute_manager_can_edit"
)
@api.depends_context('uid')
def _compute_manager_can_edit(self):
""" Compute whether the user can edit the address_id, organizer_id field """
for record in self:
record.manager_can_edit = self.env.user.has_group('event.group_event_manager')

View File

@ -4,6 +4,6 @@ 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 ?")
is_event_address = fields.Boolean(string="Event address")
is_organizer = fields.Boolean(string="Organizer")
is_sponsor = fields.Boolean(string="Sponsor")

View File

@ -28,12 +28,10 @@
<attribute name="context">{'show_address': 1, 'default_is_event_address': True,'default_is_company':
True}
</attribute>
<attribute name="attrs">{'readonly': [('manager_can_edit', '=', False)]}</attribute>
<attribute name="domain">[('is_event_address','=',True)]</attribute>
</xpath>
<xpath expr="//field[@name='organizer_id']" position="attributes">
<attribute name="context">{'default_is_company': True,'default_is_organizer': True,}</attribute>
<attribute name="attrs">{'readonly': [('manager_can_edit', '=', False)]}</attribute>
<attribute name="domain">[('is_organizer','=',True)]</attribute>
</xpath>
<xpath expr="//field[@name='address_id']" position="after">
@ -48,7 +46,6 @@
options='{"no_open": True, "no_create": True}'/>
</div>
<field name="link" widget="url"/>
<field name="manager_can_edit" invisible="1"/>
</xpath>
</field>
</record>

View File

@ -6,12 +6,8 @@
<field name="model">event.sponsor</field>
<field name="inherit_id" ref="website_event_track.event_sponsor_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='partner_id']" position="after">
<field name="manager_can_edit" invisible="1"/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="attributes">
<attribute name="context">{'default_is_company': True, 'default_is_sponsor': True}</attribute>
<attribute name="attrs">{'readonly': [('manager_can_edit', '=', False)]}</attribute>
<attribute name="domain">[('is_sponsor','=',True)]</attribute>
</xpath>
</field>

View File

@ -7,15 +7,12 @@
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='category_id']" position="after">
<field name="is_event_address"/>
<field name="is_organizer"/>
<field name="is_sponsor"/>
</xpath>
<xpath expr="//sheet/group/group[2]/field[@name='email']" position="attributes">
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
<field name="is_event_address" readonly="1"/>
<field name="is_organizer" readonly="1"/>
<field name="is_sponsor" readonly="1"/>
</xpath>
<xpath expr="//field[@name='website']" position="attributes">
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
<attribute name="attrs">{'required': [('is_sponsor', '=', True)],'invisible':[('company_type','!=','company')]}</attribute>
</xpath>
<xpath expr="//field[@name='phone']" position="attributes">
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
@ -25,6 +22,16 @@
</xpath>
</field>
</record>
<record id="res_partner_view_form_inherit_sponsor" model="ir.ui.view">
<field name="name">res.partner.sponsor.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="mail.res_partner_view_form_inherit_mail"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='email']" position="attributes">
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
</xpath>
</field>
</record>
<record id="contacts.action_contacts" model="ir.actions.act_window">
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
</record>