472 lines
25 KiB
XML
472 lines
25 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
<!-- Attendee form view-->
|
|
|
|
<record id="base_calendar_attendee_form_view" model="ir.ui.view">
|
|
<field name="name">calendar.attendee.form</field>
|
|
<field name="model">calendar.attendee</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Invitation details" version="7.0">
|
|
<header>
|
|
<button name="do_tentative" states="needs-action,declined,accepted" string="Uncertain" type="object" class="oe_highlight"/>
|
|
<button name="do_accept" string="Accept" states="needs-action,tentative,declined" type="object" class="oe_highlight"/>
|
|
<button name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d" string="Delegate" type="action" states="needs-action,tentative,declined,accepted" context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
|
|
<button name="do_decline" string="Decline" states="needs-action,tentative,accepted" type="object" class="oe_highlight"/>
|
|
<field name="state" widget="statusbar"
|
|
statusbar_visible="tentative,needs-action,accepted" statusbar_colors='{"proforma":"blue"}'/>
|
|
</header>
|
|
<sheet>
|
|
|
|
<div class="oe_title">
|
|
<label for="email" string="Invitation To" class="oe_edit_only" />
|
|
<h1>
|
|
<field name="email" class="oe_inline" />
|
|
(<field name="language" class="oe_inline" />)
|
|
</h1>
|
|
|
|
<h2>
|
|
From <field name="event_date" class="oe_inline" />
|
|
to <field name="event_end_date" class="oe_inline"/>
|
|
</h2>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="sent_by_uid" string="Invitation From" />
|
|
<field name="user_id" string="Invited User"/>
|
|
<field name="partner_id" string="Contact" />
|
|
</group>
|
|
<group>
|
|
<field name="cutype" string="Invitation Type" />
|
|
<field name="role" string="Role" />
|
|
<field name="rsvp" />
|
|
<field name="ref" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group string="Delegated From">
|
|
<field name="parent_ids" readonly="1" nolabel="1" />
|
|
</group>
|
|
<group string="Delegated To" >
|
|
<field name="child_ids" readonly="1" nolabel="1" />
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Attendee tree view-->
|
|
|
|
<record id="base_calendar_attendee_tree_view" model="ir.ui.view">
|
|
<field name="name">calendar.attendee.tree</field>
|
|
<field name="model">calendar.attendee</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Invitation details">
|
|
<field name="sent_by_uid" string="Invitation From" />
|
|
<field name="role" string="My Role"/>
|
|
<field name="user_id" invisible="1"/>
|
|
<field name="partner_id" invisible="1"/>
|
|
<field name="cutype" string="Invitation Type"/>
|
|
<field name="state" />
|
|
<field name="rsvp" string="Required to Join"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Attendee search view-->
|
|
|
|
<record id="base_calendar_attendee_search_view" model="ir.ui.view">
|
|
<field name="name">calendar.attendee.search</field>
|
|
<field name="model">calendar.attendee</field>
|
|
<field name="type">search</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Invitations">
|
|
<field name="email" string="Email"/>
|
|
<separator orientation="vertical"/>
|
|
<field name="event_date"/>
|
|
<separator orientation="vertical"/>
|
|
<filter icon="terp-gtk-jump-to-ltr" name="toreview" string="To Review"
|
|
domain="[('state','=', 'needs-action')]"
|
|
help="Invitations To Review" />
|
|
<filter icon="terp-check" string="Accepted"
|
|
domain="[('state','=', 'accepted')]"
|
|
help="Accepted Invitations" />
|
|
<filter icon="terp-dialog-close" string="Declined"
|
|
domain="[('state','=', 'declined')]"
|
|
help="Declined Invitations" />
|
|
<filter icon="gtk-sort-descending" string="Delegated"
|
|
domain="[('state','=', 'delegated')]"
|
|
help="Delegated Invitations" />
|
|
<separator orientation="vertical"/>
|
|
<field name="user_id" string="Responsible"/>
|
|
<separator orientation="vertical"/>
|
|
<field name="cutype" string="Invitation type"/>
|
|
<newline/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Responsible" icon="terp-personal" domain="[]"
|
|
context="{'group_by':'user_id'}" />
|
|
<filter string="Contact" icon="terp-personal" domain="[]"
|
|
context="{'group_by':'partner_id'}" />
|
|
<separator orientation="vertical" />
|
|
<filter string="Type" icon="terp-stock_symbol-selection" help="Invitation Type"
|
|
domain="[]" context="{'group_by':'cutype'}" />
|
|
<filter string="Role" icon="terp-gtk-select-all"
|
|
domain="[]" context="{'group_by':'role'}" />
|
|
<filter string="Required Reply" icon="terp-mail-replied"
|
|
domain="[]" context="{'group_by':'rsvp'}" />
|
|
<separator orientation="vertical" />
|
|
<filter string="Status" icon="terp-stock_effects-object-colorize" help="Invitation Type"
|
|
domain="[]" context="{'group_by':'state'}" />
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="action_view_attendee_form" model="ir.actions.act_window">
|
|
<field name="name">Event Invitations</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">calendar.attendee</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="view_id" ref="base_calendar.base_calendar_attendee_tree_view" />
|
|
<field name="context">{'default_sent_by_uid': uid}</field>
|
|
</record>
|
|
|
|
<!-- Calenadar's menu -->
|
|
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
|
parent="base.menu_base_config" sequence="50" groups="base.group_sale_manager" />
|
|
|
|
<!-- Invitation menu -->
|
|
|
|
<menuitem id="menu_attendee_invitations"
|
|
parent="base.menu_calendar_configuration"
|
|
sequence="10" action="action_view_attendee_form" />
|
|
|
|
<!-- ALARM FORM VIEW-->
|
|
|
|
<record id="res_alarm_form_view" model="ir.ui.view">
|
|
<field name="name">res.alarm.form</field>
|
|
<field name="model">res.alarm</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Reminder details" version="7.0">
|
|
<group col="4">
|
|
<field name="name" />
|
|
<field name="active" />
|
|
<separator string="Reminder Details" colspan="4" />
|
|
<field name="trigger_duration" />
|
|
<field name="trigger_interval" />
|
|
<field name="trigger_occurs" />
|
|
<field name="trigger_related" />
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- ALARM TREE VIEW-->
|
|
|
|
<record id="res_alarm_tree_view" model="ir.ui.view">
|
|
<field name="name">res.alarm.tree</field>
|
|
<field name="model">res.alarm</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Reminder details">
|
|
<field name="name"/>
|
|
<field name="trigger_interval"/>
|
|
<field name="trigger_duration"/>
|
|
<field name="trigger_occurs"/>
|
|
<field name="trigger_related"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="action_res_alarm_view" model="ir.actions.act_window">
|
|
<field name="name">Alarms</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">res.alarm</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="help">Create specific calendar alarms that may be assigned to calendar events or meetings.</field>
|
|
</record>
|
|
|
|
<!-- Menu for Alarms-->
|
|
|
|
<menuitem id="menu_crm_meeting_avail_alarm"
|
|
groups="base.group_no_one"
|
|
action="base_calendar.action_res_alarm_view"
|
|
parent="base.menu_calendar_configuration" sequence="5"/>
|
|
|
|
<!-- Event Form View-->
|
|
|
|
<record model="ir.ui.view" id="event_form_view">
|
|
<field name="name">Event Form</field>
|
|
<field name="model">calendar.event</field>
|
|
<field name="type">form</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Events" version="7.0">
|
|
<header>
|
|
<button name="do_confirm" string="Confirm" states="tentative,cancelled" type="object" class="oe_highlight"/>
|
|
<button name="do_tentative" states="confirmed,cancelled" string="Uncertain" type="object" class="oe_highlight"/>
|
|
<button name="do_cancel" string="Cancel" states="tentative,confirmed" type="object" />
|
|
<field name="state" widget="statusbar"
|
|
statusbar_visible="tentative,confirmed" statusbar_colors='{"proforma":"blue"}'/>
|
|
</header>
|
|
<sheet>
|
|
<group col="6">
|
|
<field name="name" string="Summary"
|
|
colspan="4" required="1" />
|
|
<field name="allday" colspan="2" on_change="onchange_dates(date,False,False,allday)" />
|
|
<newline/>
|
|
<field name="date" string="Start Date" required="1"
|
|
on_change="onchange_dates(date,duration,False,allday)" />
|
|
<field name="duration" widget="float_time"
|
|
on_change="onchange_dates(date,duration,False,allday)" attrs="{'invisible': [('allday', '=', True)]}"/>
|
|
<field name="date_deadline" string="End Date" required="1"
|
|
on_change="onchange_dates(date,False,date_deadline)" />
|
|
<field name="location" />
|
|
<field name="alarm_id" string="Reminder"
|
|
widget="selection" />
|
|
<group colspan="2" col="4" attrs="{'readonly': [('state','=','done')]}">
|
|
<field name="recurrency"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Event">
|
|
<group col="6" colspan="4">
|
|
<separator colspan="6" string="Visibility"/>
|
|
<field name="user_id" string="Responsible User" />
|
|
<field name="show_as" string="Show Time as"/>
|
|
<field name="class" string="Privacy"/>
|
|
<field name="recurrent_id" invisible="1" />
|
|
<field name="recurrent_uid" invisible="1" />
|
|
</group>
|
|
<separator string="Description"/>
|
|
<field name="description"/>
|
|
</page>
|
|
<page string="Invitation Detail">
|
|
<button string="Invite People"
|
|
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
|
|
icon="terp-partner" type="action"
|
|
context="{'model' : 'calendar.event', 'attendee_field':'attendee_ids'}" colspan="2"/>
|
|
<field name="attendee_ids" colspan="4"
|
|
nolabel="1" widget="one2many" mode="tree">
|
|
<tree string="Invitation details" editable="top">
|
|
<field name="sent_by_uid" string="From"/>
|
|
<field name="user_id" string="To"/>
|
|
<field name="email" />
|
|
<field name="role" width="200" />
|
|
<field name="state" />
|
|
<button name="do_tentative"
|
|
states="needs-action,declined,accepted"
|
|
string="Uncertain" type="object"
|
|
icon="terp-crm" />
|
|
<button name="do_accept" string="Accept"
|
|
states="needs-action,tentative,declined"
|
|
type="object" icon="gtk-apply" />
|
|
<button name="do_decline" string="Decline"
|
|
states="needs-action,tentative,accepted"
|
|
type="object" icon="gtk-cancel" />
|
|
<button
|
|
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
|
|
string="Delegate" type="action"
|
|
icon="gtk-sort-descending"
|
|
states="needs-action,tentative,declined,accepted"
|
|
context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
|
|
</tree>
|
|
<form string="Invitation details" version="7.0">
|
|
<notebook colspan="4">
|
|
<page string="Details">
|
|
<group col="4">
|
|
<field name="email" />
|
|
<field name="rsvp"/>
|
|
<field name="cutype"/>
|
|
<field name="role"/>
|
|
</group>
|
|
<group col="4">
|
|
<field name="state"/>
|
|
<button name="do_tentative"
|
|
states="needs-action,declined,accepted"
|
|
string="Uncertain"
|
|
type="object"
|
|
icon="terp-crm" />
|
|
<button name="do_accept"
|
|
string="Accept"
|
|
states="needs-action,tentative,declined"
|
|
type="object"
|
|
icon="gtk-apply" />
|
|
<button name="do_decline"
|
|
string="Decline"
|
|
states="needs-action,tentative,accepted"
|
|
type="object"
|
|
icon="gtk-cancel" />
|
|
<button
|
|
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
|
|
string="Delegate"
|
|
type="action"
|
|
icon="gtk-sort-descending"
|
|
states="needs-action,tentative,declined,accepted"
|
|
context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
</field>
|
|
</page>
|
|
<page string="Recurrency Option" attrs="{'invisible': [('recurrency','=',False)]}">
|
|
<group col="4" colspan="4" name="rrule">
|
|
<group col="4" colspan="4">
|
|
<field name="rrule_type" string="Recurrency period"
|
|
attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
|
|
<field name="interval" />
|
|
<separator string="End of Recurrence" colspan="4"/>
|
|
<field name="end_type" />
|
|
<label string=" " colspan="2" />
|
|
<newline />
|
|
<field name="count" attrs="{'invisible' : [('end_type', '!=', 'count')] }"/>
|
|
<label string=" " colspan="2" />
|
|
<newline />
|
|
<field name="end_date" attrs="{'invisible' : [('end_type', '!=', 'end_date')] }"/>
|
|
<newline />
|
|
|
|
|
|
</group>
|
|
<group col="8" colspan="4" name="Select weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
|
|
<separator string="Choose day where repeat the meeting" colspan="8"/>
|
|
<field name="mo" colspan="1" />
|
|
<field name="tu" colspan="1" />
|
|
<field name="we" colspan="1" />
|
|
<field name="th" colspan="1" />
|
|
<newline/>
|
|
<field name="fr" colspan="1" />
|
|
<field name="sa" colspan="1" />
|
|
<field name="su" colspan="1" />
|
|
<newline />
|
|
</group>
|
|
<group col="10" colspan="4"
|
|
attrs="{'invisible' : [('rrule_type','!=','monthly')]}">
|
|
<separator string="Choose day in the month where repeat the meeting" colspan="12"/>
|
|
<group col="2" colspan="1">
|
|
<field name="select1" />
|
|
</group>
|
|
<group col="2" colspan="1">
|
|
<field name="day"
|
|
attrs="{'required' : [('select1','=','date'), ('rrule_type','=','monthly')],
|
|
'invisible' : ['|', ('select1','=','day'), ('rrule_type','!=','monthly')]}" />
|
|
</group>
|
|
<group col="3" colspan="1"
|
|
attrs="{'invisible' : ['|', ('select1','=','date'), ('rrule_type','!=','monthly')]}">
|
|
<field name="byday" string="The"
|
|
attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}" />
|
|
<field name="week_list" nolabel="1"
|
|
attrs="{'required' : [('select1','=','day'), ('rrule_type','=','monthly')]}" />
|
|
</group>
|
|
</group>
|
|
</group>
|
|
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Event Tree View -->
|
|
|
|
<record model="ir.ui.view" id="event_tree_view">
|
|
<field name="name">Event Tree</field>
|
|
<field name="model">calendar.event</field>
|
|
<field name="type">tree</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Events">
|
|
<field name="name" string="Subject" />
|
|
<field name="date" string="Event Date" />
|
|
<field name="location" />
|
|
<field name="show_as" />
|
|
<field name="class" string="Privacy" />
|
|
<field name="user_id" invisible="1"/>
|
|
<field name="state" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Event Calendar View -->
|
|
|
|
<record model="ir.ui.view" id="event_calendar_view">
|
|
<field name="name">Events Calendar</field>
|
|
<field name="model">calendar.event</field>
|
|
<field name="type">calendar</field>
|
|
<field name="priority" eval="2"/>
|
|
<field name="arch" type="xml">
|
|
<calendar string="Events" date_start="date" color="show_as" date_delay="duration">
|
|
<field name="name"/>
|
|
<field name="class"/>
|
|
<field name="show_as"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Event Search View-->
|
|
|
|
<record id="view_calendar_event_filter" model="ir.ui.view">
|
|
<field name="name">Calendar Events Search</field>
|
|
<field name="model">calendar.event</field>
|
|
<field name="type">search</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Events">
|
|
<group>
|
|
<field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/>
|
|
<separator orientation="vertical"/>
|
|
<filter icon="terp-go-today" string="My Events"
|
|
domain="[('user_id','=',uid)]"
|
|
help="My Events" />
|
|
<separator orientation="vertical"/>
|
|
<filter icon="terp-check" string="Confirmed"
|
|
domain="[('state','=','confirmed')]"
|
|
help="Confirmed Events" />
|
|
<separator orientation="vertical"/>
|
|
<field name="user_id"/>
|
|
<separator orientation="vertical"/>
|
|
<field name="show_as"/>
|
|
<field name="class" string="Privacy"/>
|
|
</group>
|
|
<newline/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Responsible" icon="terp-personal" domain="[]"
|
|
context="{'group_by':'user_id'}" />
|
|
<separator orientation="vertical" />
|
|
<filter string="Availability" icon="terp-camera_test"
|
|
domain="[]" context="{'group_by':'show_as'}" />
|
|
<filter string="Privacy" icon="terp-locked"
|
|
domain="[]" context="{'group_by':'class'}" />
|
|
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
|
|
context="{'group_by':'state'}" />
|
|
<separator orientation="vertical" />
|
|
<filter string="Date" icon="terp-go-month"
|
|
domain="[]" context="{'group_by':'date'}" />
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<!-- Event action -->
|
|
|
|
<record id="action_view_event" model="ir.actions.act_window">
|
|
<field name="name">Events</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">calendar.event</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form,calendar</field>
|
|
<field name="search_view_id" ref="view_calendar_event_filter"/>
|
|
</record>
|
|
|
|
<!-- Event menu -->
|
|
|
|
<menuitem id="menu_events"
|
|
name="Events" parent="base.menu_calendar_configuration"
|
|
sequence="15" action="action_view_event" />
|
|
|
|
</data>
|
|
</openerp>
|