New calendar : Component changed : dHtml into Jquery FullCalendar Manage recurrency Manage alarm with notif/mail oAuth google 'web app' Manage coworker / Favorite Use avatar for attendee and filter Manager calendar by partner and not user Your events are now event where you are attendees and not events that you have created Manage quick_create, Quick_view, ... Rename module google_base_account into google_account Rename module base_calendar into calendar New module Google Calendar bzr revid: jke@openerp.com-20140114155927-vu7x8egpcirommus
292 lines
16 KiB
XML
292 lines
16 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
|
|
<!-- Calendar's menu -->
|
|
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
|
parent="base.menu_base_config" sequence="50" groups="base.group_no_one"/>
|
|
|
|
<!-- 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="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 list 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="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" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to setup a new alarm type.
|
|
</p><p>
|
|
You can define a customized type of calendar alarm that may be
|
|
assigned to calendar events or meetings.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Alarms menu -->
|
|
<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="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 Event" 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_date" invisible="1"/>
|
|
<field name="recurrent_id" invisible="1"/>
|
|
</group>
|
|
<separator string="Description"/>
|
|
<field name="description"/>
|
|
</page>
|
|
<page string="Invitation Detail">
|
|
<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"/>
|
|
</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"/>
|
|
</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_id','!=',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 list view -->
|
|
<record model="ir.ui.view" id="event_tree_view">
|
|
<field name="name">Event Tree</field>
|
|
<field name="model">calendar.event</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="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="arch" type="xml">
|
|
<search string="Search Events">
|
|
<field name="name" filter_domain="['|',('name','ilike',self),('location','ilike',self)]" string="Event"/>
|
|
<field name="show_as"/>
|
|
<field name="class" string="Privacy"/>
|
|
<filter icon="terp-go-today" string="My Events" domain="[('user_id','=',uid)]" help="My Events"/>
|
|
<separator/>
|
|
<filter icon="terp-check" string="Confirmed" domain="[('state','=','confirmed')]" help="Confirmed Events"/>
|
|
<field name="user_id"/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
|
<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'}"/>
|
|
<filter string="Event Month" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" help="Start Date of Event by Month"/>
|
|
</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">calendar,tree,form</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>
|