<?xml version="1.0"?>
<openerp>
    <data>
        <menuitem name="Marketing" icon="terp-crm" id="base.marketing_menu" sequence="17"/>
        <menuitem name="Events Organisation" id="base.menu_event_main" parent="base.marketing_menu" />

    <!-- EVENTS  -->

    <!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
        <record model="ir.ui.view" id="view_event_type_form">
            <field name="name">Event type</field>
            <field name="model">event.type</field>
            <field name="type">form</field>
            <field name="arch" type="xml">
                <form string="Event Type">
                    <field name="name" select="1"/>
                </form>
            </field>
        </record>

        <record model="ir.ui.view" id="view_event_type_tree">
            <field name="name">Event type</field>
            <field name="model">event.type</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree string="Event Type">
                    <field name="name"/>
                </tree>
            </field>
        </record>

        <record model="ir.actions.act_window" id="action_event_type">
            <field name="res_model">event.type</field>
            <field name="view_type">form</field>
        </record>
        <menuitem name="Configuration" id="base.menu_marketing_config_root" parent="base.marketing_menu" sequence="30" groups="base.group_extended"/>
        <menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_extended"/>

    <!-- Events Organisation/CONFIGURATION/EVENTS -->

        <record model="ir.ui.view" id="view_event_form">
            <field name="name">Events</field>
            <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" widget="selection"/>
                        <field name="language"/>
                        <field name="parent_id"/>
                    </group>
                    <notebook colspan="4">
                    <page string="Event">
                        <group colspan="4" col="4">
                            <separator string="Invoice Information" colspan="4"/>
                            <field name="product_id" on_change="onchange_product(product_id)" colspan="4"/>
                            <field name="unit_price"/>
                            <field name="pricelist_id" domain="[('type','=','sale')]" groups="base.group_extended"/>
                        </group>
                        <group colspan="2" col="2">
                            <separator string="Contact" colspan="4"/>
                            <field name="user_id"/>
                            <field name="section_id" widget="selection" on_change="do_team_change(section_id)"/>
                            <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                        </group>
                        <group colspan="2" col="2">
                            <separator string="Location" colspan="4"/>
                            <field name="country_id" />
                            <field name="address_id" domain="[('country_id','=',country_id)]"/>

                        </group>
                        <separator string="Description" colspan="4"/>
                        <field name="note" colspan="4" nolabel="1"/>
                        <field name="state" select="1"/>
                        <group col="4" colspan="2">
                           <button string="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
                           <button string="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
                           <button string="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
                           <button string="Set To Draft" name="button_draft" states="confirm,cancel,done" type="object" icon="gtk-convert"/>
                        </group>
                    </page>
                    <page string="Speakers">
                        <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="Registrations">
                        <field name="register_min"/>
                        <field name="register_max"/>
                        <field name="register_current"/>
                        <field name="register_prospect"/>
                        <field name="registration_ids" colspan="4" nolabel="1" readonly="1">
                            <form string="Registration">
                                <field name="name"/>
                                <field name="date" string="Date"/>
                                <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id,event_id)"/>
                                <field name="partner_invoice_id" on_change="onchange_partner_invoice_id(event_id, partner_invoice_id)"/>
                                <group colspan="4" col="4">
                                    <field name="event_product"/>
                                    <field name="nb_register"/>
                                    <field name="unit_price"/>
                                    <field name="price_subtotal"/>
                                </group>
                                <group col="8" colspan="4">
                                    <separator string="" colspan="4"/>
                                    <newline/>
                                    <field name="state" select="1" colspan="2"/>
                                    <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
                                    <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
                                    <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
                                </group>
                            </form>
                            <tree string="Registration">
                                    <field name="create_date" string="Registration Date"/>
                                    <field name="partner_id" required="1" string="Partner" on_change="onchange_partner_id(partner_id,event_id)"/>
                                    <field name="event_product"/>
                                    <field name="nb_register"/>
                                    <field name="unit_price"/>
                                    <field name="price_subtotal"/>
                                    <field name="state"/>
                                    <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
                                    <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
                                    <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
                            </tree>
                        </field>
                    </page>
                    <page string="Mailing">
                        <field name="reply_to" />
                        <newline/>
                        <group col="4" colspan="4">
                            <group col="2" colspan="2">
                                <separator string="Auto Registration Email" colspan="4"/>
                                <field name="mail_auto_registr" colspan="4"/>
                                <group colspan="4" attrs="{'readonly':[('mail_auto_registr','=',False)]}">
                                    <separator string="Registration Email Body" colspan="4"/>
                                    <field name="mail_registr" colspan="4" nolabel="1" />
                                </group>
                            </group>
                            <group col="2" colspan="2">
                                <separator string="Auto Confirmation Email" colspan="4"/>
                                <field name="mail_auto_confirm" colspan="4"/>
                                <group colspan="4" attrs="{'readonly':[('mail_auto_confirm','=',False)]}">
                                    <separator string="Confirmation Email Body" colspan="4"/>
                                    <field name="mail_confirm" nolabel="1" colspan="4"/>
                                </group>
                            </group>
                        </group>
                    </page>
                    </notebook>
            </form>
            </field>
        </record>

        <!-- Event tree view -->

        <record model="ir.ui.view" id="view_event_tree">
            <field name="name">event.event.tree</field>
            <field name="model">event.event</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree string="Events" colors="red:register_min>register_current;black:register_min&lt;=register_current">
                    <field name="name" string="Name"/>
                    <field name="main_speaker_id"/>
                    <field name="language"/>
                    <field name="type"/>
                    <field name="date_begin"/>
                    <field name="date_end"/>
                    <field name="register_min"/>
                    <field name="register_current"/>
                    <field name="state"/>
                    <button string="Confirm Event" help="Confirm Event" name="button_confirm" states="draft" type="object" icon="gtk-apply"/>
                    <button string="Cancel Event" help="Cancel Event" name="button_cancel" states="draft,confirm" type="object" icon="gtk-cancel"/>
                    <button string="Event Done" help="Event Done" name="button_done" states="confirm" type="object" icon="gtk-jump-to"/>
                    <button string="Set To Draft" help="Set To Draft" name="button_draft" states="confirm,cancel,done" type="object" icon="gtk-convert"/>
                </tree>
            </field>
        </record>

      <!-- Events  Calendar  View -->

        <record id="view_event_calendar" model="ir.ui.view">
            <field name="name">event.event.calendar</field>
            <field name="model">event.event</field>
            <field name="type">calendar</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_begin" string="Event Organization">
                    <field name="name"/>
                    <field name="type" widget="selection"/>
                </calendar>
            </field>
        </record>

        <!-- Event Graph view -->

        <record model="ir.ui.view" id="view_event_graph">
            <field name="name">Event Graph</field>
            <field name="model">event.event</field>
            <field name="type">graph</field>
            <field name="arch" type="xml">
                <graph string="Event by Registration" type="bar" orientation="horizontal">
                    <field name="name"/>
                    <field name="register_current" operator="+"/>
                    <field name="register_prospect" operator="+"/>
                </graph>
            </field>
        </record>

    <!-- Event Search View -->

        <record model="ir.ui.view" id="view_event_search">
            <field name="name">Events</field>
            <field name="model">event.event</field>
            <field name="type">search</field>
            <field name="arch" type="xml">
                <search string="Events">
                    <group col="10" colspan="4">
                        <filter icon="terp-check" string="Current" name="draft" domain="[('state','in',('draft', 'confirm'))]" help="Current Events"/>
                        <filter icon="terp-camera_test" string="Open" domain="[('state','=','confirm')]" help="Open Events"/>
                        <separator orientation="vertical"/>
                        <field name="name" string="Event" select="1"/>
                        <field name="state" select="1"/>
                        <field name="user_id" widget="selection">
                               <filter icon="terp-personal"
                                    string="My Events"
                                    help="My Events"
                                    domain="[('user_id','=',uid)]"/>
                        </field>
                        <field name="date_begin" select="1"/>
                    </group>
                    <newline/>
                    <group expand="0" string="Group By..." colspan="4" col="12">
                        <filter string="Event Type" icon="terp-crm"  context="{'group_by':'type'}"/>
                        <filter string="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
                        <separator orientation="vertical"/>
                        <filter string="Responsible"  icon="terp-personal" context="{'group_by': 'user_id'}"/>
                        <separator orientation="vertical"/>
                        <filter string="Creation" icon="terp-go-month"
                            domain="[]" context="{'group_by':'date_begin'}"/>
                    </group>
                </search>
            </field>
        </record>

    <!-- Events Organisation/CONFIGURATION/EVENTS  -->

       <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">tree,form,calendar,graph</field>
           <field name="context">{"search_default_draft": "1"}</field>
           <field name="search_view_id" ref="view_event_search"/>
       </record>

      <act_window
            id="act_event_list_register_event"
            name="Registration"
            res_model="event.registration"
            src_model="event.event"
            view_mode="tree,form,calendar,graph"
            domain="[('event_id', '=', active_id)]"
            view_type="form"/>

      <act_window
            id="act_register_event_partner"
            name="Subscribe"
            res_model="event.registration"
            src_model="res.partner"
            view_mode="tree,form,calendar,graph"
            domain="[('partner_id', '=', active_id)]"
            view_type="form"/>

       <menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />

    <!-- 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="type">tree</field>
            <field name="arch" type="xml">
                <tree string="Registration">
                    <field name="date" string="Date"/>
                    <field name="event_id"/>
                    <field name="partner_id"/>
                    <field name="nb_register"/>
                    <field name="price_subtotal"/>
                    <field name="state"/>
                    <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
                    <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
                    <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
                </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="type">form</field>
            <field name="arch" type="xml">
                <form string="Registration">
                    <group col="6" colspan="4">
                        <field name="event_id" on_change="onchange_event(event_id, partner_invoice_id)" domain="[('state','in',('draft','confirm'))]"/>
                        <field name="create_date" string="Registration Date"/>
                        <field name="name"/>
                        <field name="partner_id" required="1" on_change="onchange_partner_id(partner_id,event_id)" />
                        <field name="user_id"/>
                        <field name="tobe_invoiced"/>
                    </group>
                    <notebook colspan="4">
                        <page string="Registration">
                            <field name="date" />
                            <field name="date_deadline" />
                            <group colspan="2" col="2">
                                <separator string="Registration Cost" colspan="4"/>
                                <field name="nb_register"/>
                                <field name="unit_price"/>
                                <field name="price_subtotal"/>
                            </group>
                            <group colspan="2" col="2" attrs="{'invisible':[('tobe_invoiced','=',False)]}">
                                <separator string="Invoice" colspan="4"/>
                                <field name="event_product" attrs="{'required':[('tobe_invoiced','=',True)]}"/>
                                <field name="partner_invoice_id" attrs="{'required':[('tobe_invoiced','=',True)]}" on_change="onchange_partner_invoice_id(event_id, partner_invoice_id)"/>
                                <field name="invoice_id"/>
                           </group>
                            <separator string="Description" colspan="4"/>
                            <field name="description" colspan="4" nolabel="1"/>
                            <separator string="" colspan="4"/>
                            <group col="8" colspan="4">
                                <field name="state" select="1" colspan="2"/>
                                <button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
                                <button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
                                <button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
                            </group>
                        </page>
                        <page string="Extra Info">
                            <separator string="Contact" colspan="4"/>
                            <field name="contact_id" on_change="onchange_contact_id(contact_id, partner_id)" />
                            <field name="email_from"/>
                            <field name="badge_ids" colspan="4" nolabel="1">
                                <tree string="Badges" editable="bottom">
                                    <field name="name"/>
                                    <field name="title"/>
                                    <field name="address_id"/>
                                </tree>
                                <form string="Badges">
                                    <field name="name"/>
                                    <field name="title"/>
                                    <field name="address_id"/>
                                </form>
                            </field>
                            <group col="2" colspan="2" groups="base.group_extended">
                               <separator string="Dates" colspan="2"/>
                               <field name="date_closed"/>
                            </group>
                            <group col="2" colspan="2" groups="base.group_extended">
                               <separator string="Misc" colspan="2"/>
                               <field name="id"/>
                               <field name="active"/>
                            </group>
                        </page>
                        <page string="Emails" groups="base.group_extended">
                            <group colspan="4">
                                 <field colspan="4" name="email_cc" string="CC" widget="char" size="512"/>
                            </group>
                            <field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
                                <tree string="History">
                                    <field name="display_text" string="History Information"/>
                                    <field name="history" invisible="1"/>
                                    <button
                                        string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
                                        name="%(crm.action_crm_send_mail)d"
                                        context="{'mail':'reply', 'model': 'event.registration', 'include_original' : True}"
                                        icon="terp-mail-replied" type="action" />
                                </tree>
                                <form string="History">
                                    <group col="4" colspan="4">
                                        <field name="email_from"/>
                                        <field name="date"/>
                                        <field name="email_to" widget="char" size="512"/>
                                        <field name="email_cc" widget="char" size="512"/>
                                        <field name="name" colspan="4" widget="char" size="512"/>
                                        <field name="history" invisible="1"/>
                                    </group>
                                    <notebook colspan="4">
                                        <page string="Details">
                                            <group attrs="{'invisible': [('history', '!=', True)]}">
                                                <field name="description" colspan="4" nolabel="1" height="250"/>
                                                <button colspan="4"
                                                    string="Reply"
                                                    name="%(crm.action_crm_send_mail)d"
                                                    context="{'mail':'reply', 'model': 'event.registration', 'include_original' : True}"
                                                    icon="terp-mail-replied" type="action" />
                                            </group>
                                            <group attrs="{'invisible': [('history', '=', True)]}">
                                                <field name="display_text" colspan="4" nolabel="1"  height="250"/>
                                            </group>
                                        </page>
                                        <page string="Attachments">
                                            <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
                                        </page>
                                    </notebook>
                                </form>
                            </field>
                             <button string="Add Internal Note"
                                name="%(crm.action_crm_add_note)d"
                                context="{'model': 'crm.lead' }"
                                icon="terp-document-new" type="action" />
                              <button string="Send New Email"
                                name="%(crm.action_crm_send_mail)d"
                                context="{'mail':'new', 'model': 'event.registration'}"
                                icon="terp-mail-message-new" type="action" />
                           </page>
                    </notebook>
                </form>
            </field>
        </record>

 <!-- Calendar view of event registration -->

        <record id="view_event_registration_calendar" model="ir.ui.view">
            <field name="name">event.registration.calendar</field>
            <field name="model">event.registration</field>
            <field name="type">calendar</field>
            <field eval="2" name="priority"/>
            <field name="arch" type="xml">
                <calendar color="event_id" date_start="date" date_delay="duration" string="Event Registration">
                    <field name="event_id"/>
                    <field name="partner_invoice_id"/>
                </calendar>
            </field>
        </record>

        <record model="ir.ui.view" id="view_event_registration_graph">
            <field name="name">Registration Graph</field>
            <field name="model">event.registration</field>
            <field name="type">graph</field>
            <field name="arch" type="xml">
                <graph string="Registration" type="bar" orientation="horizontal">
                    <field name="event_id"/>
                    <field name = "nb_register" operator="+"/>
                </graph>
            </field>
        </record>


<!-- Search view of event registration form-->

        <record model="ir.ui.view" id="view_registration_search">
            <field name="name">Registrations</field>
            <field name="model">event.registration</field>
            <field name="type">search</field>
            <field name="arch" type="xml">
                <search string="Event Registration">
                    <group col="12" colspan="4">
                        <filter icon="terp-check" string="Current" name="draft" domain="[('state','in',('draft', 'open'))]" help="Current Registrations"/>
                        <filter icon="terp-camera_test" string="Open" domain="[('state','=','open')]" help="Open Registrations"/>
                        <separator orientation="vertical"/>
                        <field name="partner_id" />
                        <field name="event_id" widget="selection"/>
                        <field name="state" select="1"/>

                        <field name="user_id" widget="selection">
                              <filter icon="terp-personal"
                                    string="My Registration"
                                    help="My Registration"
                                    domain="[('user_id','=',uid)]"/>
                        </field>
                    </group>
                    <newline/>
                    <group expand="0" string="Group By...">
                        <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'}"/>
                        <separator orientation="vertical"/>
                        <filter string="Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="Responsible"  icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
                   </group>
                </search>
            </field>
        </record>

        <record model="ir.actions.act_window" id="action_registration">
          <field name="name">Registrations</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,graph</field>
          <field name="context">{"search_default_draft": "1"}</field>
          <field name="search_view_id" ref="view_registration_search"/>
        </record>

        <menuitem
            name="Registrations"
            id="menu_action_registration" parent="base.menu_event_main"
            action="action_registration"/>
        <menuitem name="Reporting" id="base.menu_report_association" parent="base.marketing_menu" sequence="20"/>
    </data>
</openerp>
