The parent commit allows to select a specific interval for any date or datetime field in the groupby menu. This makes some filter akward, for instance "Order Month". Accordingly, we have rewritten the string and help attributes in search views archs and removed groupbys related to the same field (that would have become redundant).
625 lines
35 KiB
XML
625 lines
35 KiB
XML
<?xml version="1.0"?>
|
|
<odoo>
|
|
<data>
|
|
|
|
<!-- Main menu items -->
|
|
<menuitem name="Events" id="event_main_menu" sequence="65" groups="event.group_event_user" web_icon="event,static/description/icon.png"/>
|
|
<menuitem parent="event_main_menu" id="menu_reporting_events" sequence="99" groups="event.group_event_manager" name="Reporting"/>
|
|
|
|
<!-- EVENT.TYPE VIEWS -->
|
|
<record model="ir.ui.view" id="view_event_type_form">
|
|
<field name="name">event.type.form</field>
|
|
<field name="model">event.type</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Event Category">
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1><field name="name"/></h1>
|
|
</div>
|
|
<h2>Location</h2>
|
|
<div class="row mt16 o_settings_container" name="event_type_location">
|
|
<div class="col-xs-12 col-md-6 o_setting_box">
|
|
<div class="o_setting_left_pane">
|
|
<field name="is_online"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="is_online"/>
|
|
<div class="row">
|
|
<div class="col-md-8 mt16 text-muted">
|
|
Online events like webinars do not require a specific location
|
|
and are hosted online.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12 col-md-6 o_setting_box">
|
|
<div class="o_setting_left_pane">
|
|
<field name="use_timezone"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="use_timezone"/>
|
|
<div class="row">
|
|
<div class="col-md-8 mt16" attrs="{'invisible': [('use_timezone', '=', False)]}">
|
|
<label for="default_timezone"/>
|
|
<field name="default_timezone"
|
|
attrs="{'required': [('use_timezone', '=', True)]}"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h2>Communication</h2>
|
|
<div class="row mt16 o_settings_container" name="event_type_communication">
|
|
<div class="col-xs-12 col-md-12 o_setting_box">
|
|
<div class="o_setting_left_pane">
|
|
<field name="use_mail_schedule"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="use_mail_schedule"/>
|
|
<div class="row mt16" attrs="{'invisible': [('use_mail_schedule', '=', False)]}">
|
|
<div class="col-md-9">
|
|
<field name="event_type_mail_ids">
|
|
<tree string="Email Schedule" editable="bottom">
|
|
<field name="template_id"/>
|
|
<field name="interval_nbr" attrs="{'readonly':[('interval_unit', '=', 'now')]}"/>
|
|
<field name="interval_unit"/>
|
|
<field name="interval_type"/>
|
|
</tree>
|
|
</field>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12 col-md-6 o_setting_box">
|
|
<div class="o_setting_left_pane">
|
|
<field name="use_hashtag"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="use_hashtag"/>
|
|
<div class="row">
|
|
<div class="col-md-8 mt16" attrs="{'invisible': [('use_hashtag', '=', False)]}">
|
|
<label for="default_hashtag"/>
|
|
<field name="default_hashtag"
|
|
attrs="{'required': [('use_hashtag', '=', True)]}"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h2>Visibility</h2>
|
|
<div class="row mt16 o_settings_container" name="event_type_visibility">
|
|
<div class="col-xs-12 col-md-6 o_setting_box" name="event_type_visibility_seats">
|
|
<div class="o_setting_left_pane">
|
|
<field name="has_seats_limitation"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="has_seats_limitation"/>
|
|
<div class="row">
|
|
<div class="col-md-8 mt16" attrs="{'invisible': [('has_seats_limitation', '=', False)]}">
|
|
<div>
|
|
<label for="default_registration_min"/> <field name="default_registration_min"/>
|
|
</div>
|
|
<div>
|
|
<label for="default_registration_max"/> <field name="default_registration_max"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<h2>Attendees</h2>
|
|
<div class="row mt16 o_settings_container" name="event_type_attendees">
|
|
<div class="col-xs-12 col-md-6 o_setting_box" name="event_type_attendees_auto_confirm">
|
|
<div class="o_setting_left_pane">
|
|
<field name="auto_confirm"/>
|
|
</div>
|
|
<div class="o_setting_right_pane">
|
|
<label for="auto_confirm"/>
|
|
<div class="row">
|
|
<div class="col-md-8 mt16 text-muted">
|
|
Events and registrations will automatically be confirmed
|
|
upon creation, easing the flow for simple events.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_type_tree">
|
|
<field name="name">event.type.tree</field>
|
|
<field name="model">event.type</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Event Category">
|
|
<field name="name"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="action_event_type">
|
|
<field name="name">Event Categories</field>
|
|
<field name="res_model">event.type</field>
|
|
<field name="view_type">form</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_event_configuration" name="Configuration" parent="event_main_menu"
|
|
sequence="100"/>
|
|
<menuitem name="Event Categories" id="menu_event_type" action="action_event_type" parent="menu_event_configuration"/>
|
|
|
|
<!-- EVENT.REGISTRATION ACTIONS -->
|
|
<record id="act_event_registration_from_event" model="ir.actions.act_window">
|
|
<field name="res_model">event.registration</field>
|
|
<field name="view_type">form</field>
|
|
<field name="name">Attendees</field>
|
|
<field name="view_mode">tree,form,calendar,graph</field>
|
|
<field name="context">{'search_default_event_id': active_id, 'default_event_id': active_id, 'search_default_expected': True}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Add a new attendee
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- EVENT.EVENT VIEWS -->
|
|
<record id="event_event_action_pivot" model="ir.actions.act_window" >
|
|
<field name="name">Events Analysis</field>
|
|
<field name="res_model">event.event</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">pivot,graph</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_form">
|
|
<field name="name">event.event.form</field>
|
|
<field name="model">event.event</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Events">
|
|
<header>
|
|
<button string="Confirm Event" name="button_confirm" states="draft" type="object" class="oe_highlight" groups="base.group_user"/>
|
|
<button string="Finish Event" name="button_done" states="confirm" type="object" class="oe_highlight" groups="base.group_user"/>
|
|
<button string="Set To Draft" name="button_draft" states="cancel,done" type="object" groups="base.group_user"/>
|
|
<button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" groups="base.group_user" attrs="{'invisible': ['|', ('seats_expected', '!=', 0)]}"/>
|
|
<button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" groups="base.group_user" confirm="Are you sure you want to cancel this event? All the linked attendees will be cancelled as well." attrs="{'invisible': ['|', ('seats_expected', '=', 0)]}"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_button_box" name="button_box" groups="base.group_user">
|
|
<button name="%(event.act_event_registration_from_event)d"
|
|
type="action"
|
|
class="oe_stat_button"
|
|
icon="fa-users"
|
|
help="Register with this event">
|
|
<field name="seats_expected" widget="statinfo" string="Attendees"/>
|
|
</button>
|
|
<button name="toggle_active"
|
|
type="object"
|
|
class="oe_stat_button"
|
|
icon="fa-archive">
|
|
<field name="active" widget="boolean_button"
|
|
options='{"terminology": "archive"}'/>
|
|
</button>
|
|
</div>
|
|
<div class="oe_title">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1><field name="name" placeholder="Event Name"/></h1>
|
|
<field name="is_online" groups="base.group_no_one"/>
|
|
<label for="is_online" string="Online" groups="base.group_no_one"/>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="organizer_id"/>
|
|
<field name="address_id"
|
|
attrs="{'invisible': [('is_online', '=', True)]}"
|
|
context="{'show_address': 1}"
|
|
options='{"always_reload": True}'/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
<field name="user_id"/>
|
|
</group>
|
|
<group>
|
|
<field name="event_type_id" options="{'no_create':True}"/>
|
|
<label for="twitter_hashtag"/>
|
|
<div>
|
|
<span class="oe_inline"># </span>
|
|
<field name="twitter_hashtag" nolabel="1" class="oe_inline"/>
|
|
</div>
|
|
<field name="auto_confirm" groups="base.group_no_one"/>
|
|
</group>
|
|
<group>
|
|
<field name="date_begin"/>
|
|
<field name="date_end"/>
|
|
<field name="date_tz"/>
|
|
</group>
|
|
<group>
|
|
<field name="seats_min"/>
|
|
<label for="seats_availability"/>
|
|
<div>
|
|
<field name="seats_availability" widget='radio'/>
|
|
<span attrs="{'invisible': [('seats_availability', '=', 'unlimited')]}" class="oe_read_only">
|
|
to
|
|
</span>
|
|
<field name="seats_max" attrs="{'invisible': [('seats_availability', '=', 'unlimited')], 'required': [('seats_availability', '=', 'limited')]}"/>
|
|
</div>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Email Schedule" name="event_mail_schedule">
|
|
<field name="event_mail_ids">
|
|
<tree string="Email Schedule" editable="bottom">
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="template_id" />
|
|
<field name="interval_nbr" attrs="{'readonly':[('interval_unit','=','now')]}"/>
|
|
<field name="interval_unit"/>
|
|
<field name="interval_type"/>
|
|
<field name="done"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
|
|
<field name="message_ids" widget="mail_thread"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_tree">
|
|
<field name="name">event.event.tree</field>
|
|
<field name="model">event.event</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Events" decoration-bf="message_needaction==True" decoration-danger="(seats_min and seats_min>seats_reserved) or (seats_max and seats_max<seats_reserved)" decoration-muted="state=='cancel'">
|
|
<field name="name"/>
|
|
<field name="event_type_id"/>
|
|
<field name="date_begin"/>
|
|
<field name="date_end"/>
|
|
<field name="seats_reserved"/>
|
|
<field name="seats_min"/>
|
|
<field name="seats_max" invisible="1"/>
|
|
<field name="user_id"/>
|
|
<field name="state"/>
|
|
<field name="message_needaction" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_kanban">
|
|
<field name="name">event.event.kanban</field>
|
|
<field name="model">event.event</field>
|
|
<field name="arch" type="xml">
|
|
<kanban class="o_event_kanban_view">
|
|
<field name="user_id"/>
|
|
<field name="country_id"/>
|
|
<field name="date_begin"/>
|
|
<field name="date_end"/>
|
|
<field name="seats_unconfirmed"/>
|
|
<field name="seats_reserved"/>
|
|
<field name="seats_used"/>
|
|
<field name="seats_expected"/>
|
|
<field name="color"/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
|
|
<div class="o_dropdown_kanban dropdown">
|
|
|
|
<a class="dropdown-toggle btn" data-toggle="dropdown" href="#" >
|
|
<span class="fa fa-ellipsis-v"/>
|
|
</a>
|
|
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
|
|
<t t-if="widget.deletable">
|
|
<li><a type="delete">Delete</a></li>
|
|
</t>
|
|
<li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
|
|
</ul>
|
|
</div>
|
|
<div class="o_event_left">
|
|
<div class="o_day"><t t-esc="record.date_begin.raw_value.getDate()"/></div>
|
|
<div>
|
|
<t t-esc="moment(record.date_begin.raw_value).format('MMM')"/>
|
|
<t t-esc="record.date_begin.raw_value.getFullYear()"/>
|
|
</div>
|
|
<div><t t-esc="moment(record.date_begin.raw_value).format('LT')"/></div>
|
|
</div>
|
|
<div class="o_event_right">
|
|
<h4 class="o_kanban_record_title"><field name="name"/></h4>
|
|
<div>
|
|
<t t-if="record.country_id.raw_value"> <b class="o_kanban_record_subtitle"> <field name="country_id"/> </b> <br/> </t>
|
|
<i class="fa fa-clock-o"/>
|
|
<b>To</b> <t t-esc="moment(record.date_end.raw_value).format('lll')"/>
|
|
</div>
|
|
<h4>
|
|
<a name="%(act_event_registration_from_event)d" type="action">
|
|
<t t-esc="record.seats_expected.raw_value"> Expected attendees </t>
|
|
</a>
|
|
<t t-if="(record.seats_reserved.raw_value + record.seats_used.raw_value) > 0 "><br/>
|
|
<a name="%(event_event_action_pivot)d" type="action">
|
|
<t t-esc="record.seats_reserved.raw_value + record.seats_used.raw_value"/> Confirmed attendees
|
|
</a>
|
|
</t>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_calendar">
|
|
<field name="name">event.event.calendar</field>
|
|
<field name="model">event.event</field>
|
|
<field eval="2" name="priority"/>
|
|
<field name="arch" type="xml">
|
|
<calendar date_start="date_begin" date_stop="date_end" string="Event Organization" color="event_type_id">
|
|
<field name="name"/>
|
|
<field name="event_type_id"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_search">
|
|
<field name="name">event.event.search</field>
|
|
<field name="model">event.event</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Events">
|
|
<field name="name" string="Events"/>
|
|
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
|
|
<separator/>
|
|
<filter string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
|
|
<filter name="confirm" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
|
|
<separator/>
|
|
<filter string="My Events" name="myevents" help="My Events" domain="[('user_id','=',uid)]"/>
|
|
<separator/>
|
|
<filter string="Upcoming/Running" name="upcoming"
|
|
domain="['&', ('state', '!=', 'cancel'), ('date_end','>=', datetime.datetime.combine(context_today(), datetime.time(0,0,0)))]" help="Upcoming events from today" />
|
|
<field name="event_type_id"/>
|
|
<field name="user_id"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Responsible" name="responsible" context="{'group_by': 'user_id'}"/>
|
|
<filter string="Event Category" name="event_type_id" context="{'group_by':'event_type_id'}"/>
|
|
<filter string="Status" name="status" context="{'group_by':'state'}"/>
|
|
<filter string="Start Date" name="date_begin" domain="[]" context="{'group_by':'date_begin'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="event_event_view_pivot" model="ir.ui.view" >
|
|
<field name="name">event.event.view.pivot</field>
|
|
<field name="model">event.event</field>
|
|
<field name="arch" type="xml">
|
|
<pivot string="Event" disable_linking="True">
|
|
<field name="name" type="row"/>
|
|
<field name="seats_reserved" type="measure"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="action_event_view">
|
|
<field name="name">Events</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">event.event</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">kanban,calendar,tree,form,pivot</field>
|
|
<field name="context">{"search_default_upcoming":1}</field>
|
|
<field name="search_view_id" ref="view_event_search"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Add a new event
|
|
</p><p>
|
|
Schedule and organize your events efficiently:
|
|
track registrations and participations, automate the confirmation emails, sell tickets, etc.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<act_window
|
|
id="act_register_event_partner"
|
|
name="Subscribe"
|
|
res_model="event.registration"
|
|
src_model="res.partner"
|
|
view_mode="tree,form,calendar,graph"
|
|
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
|
|
view_type="form"/>
|
|
|
|
<menuitem name="Events" id="menu_event_event" action="action_event_view" parent="event.event_main_menu" />
|
|
<menuitem name="Events"
|
|
id="event_event_menu_pivot_report"
|
|
action="event_event_action_pivot"
|
|
sequence="3"
|
|
parent="event.menu_reporting_events"
|
|
groups="event.group_event_manager"/>
|
|
|
|
<!-- EVENT.REGISTRATION VIEWS -->
|
|
<record model="ir.ui.view" id="view_event_registration_tree">
|
|
<field name="name">event.registration.tree</field>
|
|
<field name="model">event.registration</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Registration" decoration-bf="message_needaction==True">
|
|
<field name="create_date"/>
|
|
<field name="partner_id"/>
|
|
<field name="name"/>
|
|
<field name="email"/>
|
|
<field name="event_id" />
|
|
<field name="state"/>
|
|
<field name="message_needaction" invisible="1"/>
|
|
<button name="confirm_registration" string="Confirm Registration" states="draft" type="object" icon="fa-check text-success"/>
|
|
<button name="button_reg_close" string="Attended the Event" states="open" type="object" icon="fa-level-down text-success"/>
|
|
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="fa-times-circle text-danger"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_registration_form">
|
|
<field name="name">event.registration.form</field>
|
|
<field name="model">event.registration</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Event Registration">
|
|
<header>
|
|
<button name="action_send_badge_email" string="Send by Email" type="object" states="open,done" class="oe_highlight"/>
|
|
<button name="confirm_registration" string="Confirm" states="draft" type="object" class="oe_highlight"/>
|
|
<button name="button_reg_close" string="Attended" states="open" type="object" class="oe_highlight"/>
|
|
<button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" />
|
|
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object"/>
|
|
<field name="state" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
|
|
</header>
|
|
<sheet string="Registration">
|
|
<group>
|
|
<group string="Attendee" name="attendee">
|
|
<field name="partner_id" attrs="{'readonly':[('state', '!=', 'draft')]}"/>
|
|
<field name="name"/>
|
|
<field name="phone"/>
|
|
<field name="email"/>
|
|
</group>
|
|
<group string="Event Information" name="event">
|
|
<field name="event_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="date_open" groups="base.group_no_one"/>
|
|
<field name="date_closed" groups="base.group_no_one"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids" widget="mail_followers"/>
|
|
<field name="message_ids" widget="mail_thread" options="{'post_refresh': 'recipients'}"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_event_registration_calendar" model="ir.ui.view">
|
|
<field name="name">event.registration.calendar</field>
|
|
<field name="model">event.registration</field>
|
|
<field eval="2" name="priority"/>
|
|
<field name="arch" type="xml">
|
|
<calendar date_start="event_begin_date" date_stop="event_end_date" string="Event Registration" color="event_id">
|
|
<field name="event_id"/>
|
|
<field name="name"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_registration_pivot">
|
|
<field name="name">event.registration.pivot</field>
|
|
<field name="model">event.registration</field>
|
|
<field name="arch" type="xml">
|
|
<pivot string="Registration" display_quantity="True">
|
|
<field name="event_id" type="row"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_registration_graph">
|
|
<field name="name">event.registration.graph</field>
|
|
<field name="model">event.registration</field>
|
|
<field name="arch" type="xml">
|
|
<graph string="Registration">
|
|
<field name="event_id"/>
|
|
</graph>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_registration_search">
|
|
<field name="name">event.registration.search</field>
|
|
<field name="model">event.registration</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Event Registration">
|
|
<field name="id" string="Registration ID"/>
|
|
<field name="name" string="Participant" filter_domain="['|', '|', ('name', 'ilike', self), ('email', 'ilike', self), ('origin', 'ilike', self)]"/>
|
|
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
|
|
<filter string="Expected" name="expected" domain="[('state', 'in', ['draft', 'open', 'done'])]"/>
|
|
<separator/>
|
|
<field name="event_id"/>
|
|
<field name="partner_id"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Partner" name="partner" domain="[]" context="{'group_by':'partner_id'}"/>
|
|
<filter string="Event" name="group_event" domain="[]" context="{'group_by':'event_id'}"/>
|
|
<filter string="Status" name="status" domain="[]" context="{'group_by':'state'}"/>
|
|
<filter string="Registration Date" name="createmonth" domain="[]" context="{'group_by': 'create_date:month'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="action_registration">
|
|
<field name="name">Attendees</field>
|
|
<field name="res_model">event.registration</field>
|
|
<field name="view_type">form</field>
|
|
<field name="domain"></field>
|
|
<field name="view_mode">tree,form,calendar,pivot,graph</field>
|
|
<field name="context">{}</field>
|
|
<field name="search_view_id" ref="view_registration_search"/>
|
|
</record>
|
|
|
|
<menuitem name="Attendees"
|
|
id="menu_action_registration" parent="event.event_main_menu"
|
|
action="action_registration" groups="base.group_no_one"/>
|
|
|
|
<!-- EVENT.MAIL VIEWS -->
|
|
<record model="ir.ui.view" id="view_event_mail_form">
|
|
<field name="name">event.mail.form</field>
|
|
<field name="model">event.mail</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Event Mail Scheduler">
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="event_id"/>
|
|
<field name="template_id"/>
|
|
<field name="mail_sent"/>
|
|
</group>
|
|
<group>
|
|
<label for="interval_nbr"/>
|
|
<div class="o_row">
|
|
<field name="interval_nbr" attrs="{'invisible': [('interval_unit', '=', 'now')], 'readonly': [('interval_unit', '=', 'now')]}"/>
|
|
<field name="interval_unit"/>
|
|
</div>
|
|
<field name="interval_type"/>
|
|
<field name="scheduled_date"/>
|
|
</group>
|
|
</group>
|
|
<notebook groups="base.group_no_one">
|
|
<page string="Registration Mails">
|
|
<field name="mail_registration_ids">
|
|
<tree string="Registration mail" editable="bottom">
|
|
<field name="registration_id"/>
|
|
<field name="scheduled_date"/>
|
|
<field name="mail_sent"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_event_mail_tree">
|
|
<field name="name">event.mail.tree</field>
|
|
<field name="model">event.mail</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Event Mail Schedulers">
|
|
<field name="event_id"/>
|
|
<field name="template_id"/>
|
|
<field name="scheduled_date"/>
|
|
<field name="mail_sent"/>
|
|
<field name="done"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="action_event_mail">
|
|
<field name="name">Events Mail Schedulers</field>
|
|
<field name="res_model">event.mail</field>
|
|
<field name="view_type">form</field>
|
|
</record>
|
|
|
|
<menuitem name="Mail Schedulers" id="menu_event_mail_schedulers" action="action_event_mail" parent="menu_event_configuration" groups="base.group_no_one"/>
|
|
|
|
</data>
|
|
</odoo>
|