[IMP] project_issue, project, event, hr_holidays: added Inbox filter.
[odoo/odoo.git] / addons / event / event_view.xml
index 5aacf7a..2303218 100644 (file)
@@ -2,7 +2,7 @@
 <openerp>
     <data>
 
-       <menuitem  name="Events" id="event_main_menu"/>
+        <menuitem  name="Events" id="event_main_menu"/>
         <menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu" />
 
     <!-- EVENTS  -->
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Event Type">
-                    <field name="name" select="1"/>
-                    <field name="default_reply_to"/>
-                    <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
-                    <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
-                    <field name="default_registration_min"/>
-                    <field name="default_registration_max"/>
+                    <group col="4">
+                        <field name="name"/>
+                        <field name="default_reply_to"/>
+                        <field name="default_email_event" domain="[('model_id.model','=','event.registration')]"/>
+                        <field name="default_email_registration" domain="[('model_id.model','=','event.registration')]"/>
+                        <field name="default_registration_min"/>
+                        <field name="default_registration_max"/>
+                    </group>
                 </form>
             </field>
         </record>
@@ -41,7 +43,7 @@
             <field name="view_type">form</field>
         </record>
         <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="event_main_menu" sequence="30"/>
-        <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root"/>
+        <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_no_one"/>
 
     <!-- Events Organisation/CONFIGURATION/EVENTS -->
 
             <field name="model">event.event</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Events">
-                    <group col="6" colspan="4">
-                        <field name="name"/>
-                        <field name="date_begin"/>
-                        <field name="date_end"/>
-                        <field name="type" on_change="onchange_event_type(type,context)"/>
-                        <field name="user_id"/>
-                        <field name="address_id" />
+            <form string="Events" version="7.0">
+                <header>
+                    <button string="Confirm Event" name="button_confirm" states="draft" type="object"/>
+                    <button string="Event Ended" name="button_done" states="confirm" type="object"/>
+                    <button string="Set To Draft" name="button_draft" states="cancel,done" type="object"/>
+                    <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object"/>
+                    <field name="state" widget="statusbar" statusbar_visible="draft,confirm,done"/>
+                </header>
+                <sheet>
+
+                <div class="oe_right" style="height: 200px"></div>
+                <div class="oe_title">
+                    <h1><field name="name"/></h1>
+                    <group>
+                        <group>
+                            <field name="type" on_change="onchange_event_type(type,context)"/>
+                            <field name="user_id"/>
+                            <field name="address_id" widget="many2one_address_google_map" widget_option="{'placeholder':'.oe_google_map'}"/>
+                        </group>
+                        <group>
+                            <field name="date_begin"/>
+                            <field name="date_end"/>
+                            <field name="register_min"/>
+                            <field name="register_max"/>
+                        </group>
                     </group>
-                    <notebook colspan="4">
-                    <page string="Event">
-                        <separator string="Description" colspan="4"/>
+                </div>
+
+                <notebook>
+                    <page string="Event Description">
                         <field name="note" colspan="4" nolabel="1"/>
-                        <field name="registration_ids" colspan="4" nolabel="1">
+                    </page>
+                    <page string="Internal Data">
+                         <group class="oe_group_label_border" colspan="2" col="2">
+                            <field name="register_current"/>
+                            <field name="register_prospect"/>
+                            <field name="register_attended"/>
+                         </group> 
+                         <group class="oe_group_label_border" colspan="2" col="2">
+                            <field name="main_speaker_id" domain="[('speaker','=',True)]" context="{'default_speaker':1}"/>
+                            <field name="speaker_confirmed"/>
+                        </group>
+                        <field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
                             <tree string="Registration" editable="top">
                                 <field name="name" />
                                 <field name="email" />
                                     </group>
                             </form>
                             </field>
-                        <field name="state" select="1" widget="statusbar" statusbar_visible="draft,confirm,done"/>
-                        <group col="4" colspan="2">
-                           <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
-                           <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
-                           <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
-                           <button string="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
-                        </group>
-                    </page>
-                    <page string="Speakers" groups="base.group_extended">
-                        <field name="main_speaker_id" domain="[('speaker','=',True)]"/>
-                        <field name="speaker_confirmed"/>
-                        <separator string="Other Speakers" colspan="4"/>
-                        <field name="speaker_ids" domain="[('speaker','=',True)]" colspan="4" nolabel="1"/>
-                    </page>
-                    <page string="Extra Info">
-                        <group col="2" colspan="2">
-                            <separator string="Registrations" colspan="2"/>
-                            <field name="register_min"/>
-                            <field name="register_max"/>
-                            <field name="register_prospect"/>
-                            <field name="register_current"/>
-                            <field name="register_attended"/>
-                        </group>
-                        <group col="2" colspan="2">
-                            <separator string="Emails" colspan="2"/>
-                            <field name="reply_to"/>
-                            <field name="email_registration_id" domain="[('model_id.model','=','event.registration')]" groups="base.group_extended"/>
-                            <field name="email_confirmation_id" domain="[('model_id.model','=','event.registration')]" groups="base.group_extended"/>
-                        </group>
                     </page>
                     </notebook>
+                    </sheet>
+                    <div class="oe_sheet_width">
+                        <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
+                    </div>
             </form>
             </field>
         </record>
                     <field name="main_speaker_id" groups="base.extended"/>
                     <field name="user_id"/>
                     <field name="state"/>
-                    <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
-                    <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
-                    <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
-                    <button string="Set To Draft" help="Set To Draft" name="button_draft" states="cancel,done" type="object" icon="gtk-convert"/>
                 </tree>
             </field>
         </record>
-        
+
+
         <!-- Event Kanban View -->
-       
-       <record model="ir.ui.view" id="view_event_kanban">
+
+    <record model="ir.ui.view" id="view_event_kanban">
             <field name="name">event.event.kanban</field>
             <field name="model">event.event</field>
             <field name="type">kanban</field>
                     <field name="type"/>
                     <field name="user_id"/>
                     <field name="register_current"/>
-                   <field name="subscribe"/>
+                    <field name="is_subscribed"/>
                     <field name="country_id"/>
-                   <field name="date_begin"/>
-                   <field name="register_avail"/>
-                   <templates>
-                       <t t-name="kanban-box">
-                           <div class="oe_module_vignette">
-                               <a type="edit" class="oe_module_icon">
-                                   <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
-                                   <div class="oe_event_month_year">
-                                       <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
-                                       <t t-esc="record.date_begin.raw_value.getFullYear()"/>
-                                   </div>
-                                   <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
-                               </a>
-                               <div class="oe_module_desc">
-                                   <h4><a type="edit"><field name="name"/></a></h4>
-                                   <p>
-                                       <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
-                                       <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
-                                       <t t-if="record.register_avail.raw_value lte 10">
-                                           <t t-if="record.register_avail.raw_value != 0">
-                                               <i><b><field name="register_avail"/></b></i>
-                                               <i>
-                                                   <t t-if="record.register_avail.raw_value > 1">seats </t>
-                                                   <t t-if="record.register_avail.raw_value == 1 || !record.register_avail.raw_value > 1">seat </t>available.
-                                               </i>
-                                           </t>
-                                       </t>
-                                   </p>
-                                   <t t-if="record.register_avail.raw_value != 0">
-                                       <t t-if="!record.subscribe.raw_value">
-                                           <button type="object" name="subscribe_to_event" class="subscribe_button oe_event_button_subscribe">
-                                               <span>Subscribe</span>
-                                               <span class="subscribe">UnSubscribe</span>
-                                           </button>
-                                       </t>
-                                   </t>
-                                   <t t-if="record.subscribe.raw_value">
-                                       <button type="object" name="unsubscribe_to_event" class="unsubscribe_button oe_event_button_unsubscribe">
-                                           <span>UnSubscribe</span>
-                                           <span class="unsubscribe">Subscribe</span>
-                                       </button>
-                                   </t>
-                               </div>
-                           </div>
-                       </t>
-                  </templates>
+                    <field name="date_begin"/>
+                    <field name="state"/>
+                    <field name="register_avail"/>
+                    <templates>
+                    <t t-name="kanban-box">
+                      <div class="oe_module_vignette">
+                        <a type="edit" class="oe_module_icon">
+                           <div class="oe_event_date "><t t-esc="record.date_begin.raw_value.getDate()"/></div>
+                           <div class="oe_event_month_year">
+                             <t t-esc="record.date_begin.raw_value.toString('MMM')"/>
+                             <t t-esc="record.date_begin.raw_value.getFullYear()"/>
+                           </div>
+                           <div class="oe_event_time"><t t-esc="record.date_begin.raw_value.toString('hh:mm tt')"/></div>
+                        </a>
+                        <div class="oe_module_desc">
+                            <h4><a type="edit"><field name="name"/></a></h4>
+                            <p>
+                              <t t-if="record.country_id.raw_value">@<field name="country_id"/><br/></t>
+                              <t t-if="record.user_id.raw_value">Organized by <field name="user_id"/><br/></t>
+                              <t t-if="record.register_avail.raw_value lte 10 and record.register_avail.raw_value gt 0"><i>Only</i></t>
+                              <t t-if="record.register_avail.raw_value == 0"><i>No ticket available.</i></t>
+                              <t t-if="record.register_avail.raw_value != 0">
+                                <i><b><t t-if="record.register_avail.raw_value != 9999"><field name="register_avail"/></t></b></i>
+                                <i>
+                                    <t t-if="record.register_avail.raw_value > 1">tickets </t>
+                                    <t t-if="record.register_avail.raw_value == 1 || !record.register_avail.raw_value > 1">ticket </t>
+                                    available.
+                                </i>
+                              </t>
+                            </p>
+                            <t t-if="record.register_avail.raw_value != 0">
+                              <t t-if="!record.is_subscribed.raw_value">
+                                  <input t-att-id="record.id.raw_value" type="text" name="subscribe" class="no_of_seats" value="1" onchange="document.getElementById('btn_sub' +this.id).setAttribute('data-context',JSON.stringify({'ticket':this.value}))"/>
+                                  <button t-att-id="'btn_sub'+record.id.raw_value" type="object" name="subscribe_to_event" class="oe_mail_button_follow">
+                                  <span >Subscribe</span>
+                                  </button>
+                              </t>
+                            </t>
+                            <t t-if="record.is_subscribed.raw_value">
+                              <button type="object" name="unsubscribe_to_event" class="oe_mail_button_unfollow">
+                                <span>Subscribed</span>
+                                <span class="unsubscribe">Unsubscribe</span>
+                              </button>
+                            </t>
+                        </div>
+                      </div>
+                    </t>
+                    </templates>
                 </kanban>
             </field>
         </record>
             <field name="type">search</field>
             <field name="arch" type="xml">
                 <search string="Events">
+                    <filter icon="terp-mail-message-new"
+                        string="Inbox" help="Unread messages"
+                        name="needaction_pending"
+                        domain="[('needaction_pending','=',True)]"/>
+                    <separator orientation="vertical"/>
                     <group>
                         <filter icon="terp-check" string="Unconfirmed" name="draft" domain="[('state','=','draft')]" help="Events in New state"/>
                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','confirm')]" help="Confirmed events"/>
                         <separator orientation="vertical"/>
-                        <filter icon="terp-go-today" string="Up Coming"
-                               name="upcoming"
-                               domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
-                               help="Up Coming Events" />
+                        <filter icon="terp-go-today" string="Upcoming"
+                                name="upcoming"
+                                domain="[('date_begin','&gt;=', time.strftime('%%Y-%%m-%%d 00:00:00'))]"
+                                help="Upcoming events from today" />
                         <field name="name"/>
                         <field name="type" widget="selection"/>
                         <field name="user_id" widget="selection">
                         <filter string="Responsible"  icon="terp-personal" context="{'group_by': 'user_id'}"/>
                         <separator orientation="vertical"/>
                         <filter string="Event Type" icon="terp-crm"  context="{'group_by':'type'}"/>
-                        <filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
+                        <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
                         <separator orientation="vertical"/>
                         <filter string="Starting Date" icon="terp-go-month"
                             domain="[]" context="{'group_by':'date_begin'}"/>
            <field name="res_model">event.event</field>
            <field name="view_type">form</field>
            <field name="view_mode">kanban,calendar,tree,form,graph</field>
-          <field name="context">{"search_default_upcoming":1}</field>
+           <field name="context">{"search_default_upcoming":1}</field>
            <field name="search_view_id" ref="view_event_search"/>
            <field name="help">Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.</field>
        </record>
 
        <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
 
-        <!-- EVENTS/REGISTRATIONS/EVENTS  -->
+    <!-- EVENTS/REGISTRATIONS/EVENTS  -->
+
         <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="email"/>
                     <field name="event_id" />
                     <field name="nb_register"/>
-                    <field name="user_id" groups="base.group_extended"/>
-                    <field name="origin" groups="base.group_extended"/>
+                    <field name="user_id"/>
+                    <field name="origin"/>
                     <field name="state"/>
-                    <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
-                    <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
-                    <button name="button_reg_close" string="Attended" states="open" type="object" icon="gtk-apply"/>
-                    <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" icon="gtk-convert"/>
                 </tree>
             </field>
         </record>
             <field name="model">event.registration</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Registration">
+                <form version="7.0">
+                <header>
+                    <button name="registration_open" string="Confirm" states="draft" type="object"/>
+                    <button name="button_reg_close" string="Attended" states="open" type="object"/>
+                    <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" select="1" nolabel="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
+                </header>
+                <sheet string="Registration" layout="auto">
                     <group col="6" colspan="4">
                         <field name="event_id" on_change="onchange_event(event_id, context)" domain="[('state','in',('draft','confirm'))]"/>
                         <field name="partner_id" attrs="{'readonly':[('state','!=', 'draft')]}" on_change="onchange_partner_id(partner_id, context)"/>
-                        <field name="contact_id" attrs="{'readonly':[('state','!=', 'draft')]}" domain="[('partner_id','=',partner_id)]" on_change="onchange_contact_id(contact_id, context)"/>
                         <field name="nb_register"/>
                         <field name="user_id" attrs="{'readonly':[('state','!=', 'draft')]}"/>
                         <field name="origin"/>
                                 <field name="email"/>
                                 <field name="phone"/>
                             </group>
-                            <group colspan="2" col="2" groups="base.group_extended">
+                            <group colspan="2" col="2" groups="base.group_no_one">
                                 <separator string="Dates" colspan="2"/>
                                 <field name="create_date"/>
                                 <field name="date_closed"/>
                                 <field name="event_begin_date" />
                                 <field name="event_end_date" />
                             </group>
-
-                            <separator string="" colspan="4"/>
-                            <group col="8" colspan="4">
-                                <field name="state" select="1" colspan="2" widget="statusbar" statusbar_visible="draft,open,done"/>
-                                <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
-                                <button name="button_reg_close" string="Attended" states="open" type="object" icon="gtk-apply"/>
-                                <button name="registration_open" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
-                                <button string="Set To Unconfirmed" name="do_draft" states="cancel,done" type="object" icon="gtk-convert"/>
-                            </group>
                         </page>
-                        <page string="Emails" groups="base.group_extended">
+                        <page string="Emails">
+<!--
                             <field name="message_ids" colspan="4" nolabel="1" mode="tree">
                                 <tree string="History">
                                     <field name="display_text" string="History Information"/>
                                         icon="terp-mail-replied" type="action" />
                                 </tree>
                             </field>
+-->
                             <button string="Send New Email"
                                 name="%(mail.action_email_compose_message_wizard)d"
                                 icon="terp-mail-message-new" context= '{"default_email_to":email}' type="action"/>
                            </page>
 
                     </notebook>
+                    </sheet>
+                    <div class="oe_sheet_width">
+                        <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
+                    </div>
                 </form>
             </field>
         </record>
             <field name="arch" type="xml">
                 <search string="Event Registration">
                     <group>
+                        <filter icon="terp-mail-message-new"
+                            string="Inbox" help="Unread messages"
+                            name="needaction_pending"
+                            domain="[('needaction_pending','=',True)]"/>
+                        <separator orientation="vertical"/>
                         <filter icon="terp-check" string="New" name="draft" domain="[('state','=','draft')]" help="Registrations in unconfirmed state"/>
                         <filter icon="terp-camera_test" string="Confirmed" domain="[('state','=','open')]" help="Confirmed registrations"/>
                         <separator orientation="vertical"/>
                         <field name="event_id" widget="selection"/>
                         <field name="name" string="Participant"
-                            filter_domain="['|','|','|', ('name','ilike',self), ('contact_id','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/>
-                        <field name="user_id" groups="base.group_extended">
+                            filter_domain="['|','|', ('name','ilike',self), ('partner_id','ilike',self), ('email','ilike',self)]"/>
+                        <field name="user_id">
                         <filter icon="terp-personal"
                               string="My Registrations"
                                 help="My Registrations"
                               domain="[('user_id','=',uid)]"/>
                         </field>
-                        <field name="origin" groups="base.group_extended"/>
+                        <field name="origin"/>
                     </group>
                     <newline/>
                     <group expand="0" string="Group By...">
                         <filter string="Responsible"  icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
-                        <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}" groups="base.group_extended"/>
+                        <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
                         <separator orientation="vertical"/>
                         <filter string="Event" icon="terp-crm" domain="[]" context="{'group_by':'event_id'}"/>
-                        <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
+                        <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
                    </group>
 
                 </search>
           <field name="view_mode">tree,form,calendar,graph</field>
           <field name="context">{}</field>
           <field name="search_view_id" ref="view_registration_search"/>
-        </record>
+        </record>view_
 
         <menuitem
             name="Registrations"
             id="menu_action_registration" parent="base.menu_event_main"
-            action="action_registration"/>
+            action="action_registration" groups="event.group_event_manager,event.group_event_user"/>
 
 
         <menuitem name="Reporting" id="base.menu_report_association" parent="event_main_menu" sequence="20"/>