commit
e97bee18d9
|
|
@ -1,35 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="view_event_form">
|
||||
<field name="name">event.event.form</field>
|
||||
<field name="model">event.event</field>
|
||||
<field name="inherit_id" ref="event.view_event_form"/>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<xpath expr="//field[@name='organizer_id']" position="attributes">
|
||||
<attribute name="context">{ 'default_is_company': True}</attribute>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//field[@name='address_id']" position="attributes">
|
||||
<attribute name="context">{'default_is_company': True}</attribute>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_event_sponsor_inherit_form">
|
||||
<field name="name">event.sponsor.form</field>
|
||||
<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="attributes">
|
||||
<attribute name="context">{'default_is_company': True}</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_event_track_inherit_form">
|
||||
<field name="name">event.track.form</field>
|
||||
<field name="model">event.track</field>
|
||||
|
|
|
|||
|
|
@ -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'],
|
||||
'auto_install': True,
|
||||
'data': [
|
||||
'views/event_event_views.xml',
|
||||
'views/event_track_views.xml',
|
||||
'views/res_partner_views.xml',
|
||||
'views/event_sponsor_views.xml',
|
||||
],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import event_event
|
||||
from . import res_partner
|
||||
from . import event_sponsor
|
||||
|
|
|
|||
|
|
@ -17,6 +17,22 @@ 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)
|
||||
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_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):
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
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')
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
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 ?")
|
||||
|
|
@ -24,8 +24,31 @@
|
|||
<xpath expr="//field[@name='tag_ids']" position="after">
|
||||
<field name="Description_event"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='address_id']" position="attributes">
|
||||
<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">
|
||||
<label for="street" string="Address"/>
|
||||
<div class="o_address_format">
|
||||
<field name="street" placeholder="Street..." class="o_address_street"/>
|
||||
<field name="street2" placeholder="Street 2..." class="o_address_street"/>
|
||||
<field name="city" placeholder="City" class="o_address_city"/>
|
||||
<field name="state_id" class="o_address_state" placeholder="State"
|
||||
options="{'no_open': True, 'no_quick_create': True}"/>
|
||||
<field name="country_id" placeholder="Country" class="o_address_country"
|
||||
options='{"no_open": True, "no_create": True}'/>
|
||||
</div>
|
||||
<field name="link" widget="url"/>
|
||||
<field name="manager_can_edit" invisible="1"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
|
||||
<record id="event_sponsor_view_form_inherit" model="ir.ui.view">
|
||||
<field name="name">event.sponsor.view.form.inherit</field>
|
||||
<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>
|
||||
</record>
|
||||
<menuitem name="Event Sponsors"
|
||||
id="menu_event_sponsor"
|
||||
sequence="4"
|
||||
parent="event.menu_event_configuration"
|
||||
action="website_event_track.event_sponsor_action_from_event"
|
||||
groups="event.group_event_manager"/>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="view_partner_form_inherited" model="ir.ui.view">
|
||||
<field name="name">view.partner.form.inherited</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="priority">10</field>
|
||||
<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>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='website']" position="attributes">
|
||||
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='phone']" position="attributes">
|
||||
<attribute name="attrs">{'required': [('is_sponsor', '=', True)]}</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='mobile']" 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>
|
||||
<record id="base.action_partner_form" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
|
||||
</record>
|
||||
<record id="base.action_partner_customer_form" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
|
||||
</record>
|
||||
<record id="base.action_partner_supplier_form" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
|
||||
</record>
|
||||
<record id="account.res_partner_action_customer" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
|
||||
</record>
|
||||
<record id="account.res_partner_action_supplier" model="ir.actions.act_window">
|
||||
<field name="domain">[('is_organizer','=',False),('is_event_address','=',False),('is_sponsor','=',False)]</field>
|
||||
</record>
|
||||
<record id="action_organizer_form" model="ir.actions.act_window">
|
||||
<field name="name">Event organizers</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">res.partner</field>
|
||||
<field name="view_mode">kanban,tree,form</field>
|
||||
<field name="context">{'default_is_company': True,'default_is_organizer': True,}</field>
|
||||
<field name="domain">[('is_organizer','=',True)]</field>
|
||||
<field name="search_view_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new customer in your address book
|
||||
</p>
|
||||
<p>
|
||||
Odoo helps you easily track all activities related to a customer.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem name="Event Organizers"
|
||||
id="menu_event_organizer"
|
||||
sequence="3"
|
||||
parent="event.menu_event_configuration"
|
||||
action="action_organizer_form"
|
||||
groups="event.group_event_manager"/>
|
||||
</odoo>
|
||||
Loading…
Reference in New Issue