<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016 Fabien Bourgeois <fabien@yaltik.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
-->
<openerp>
  <data>

    <!-- Form -->
    <record model="ir.ui.view" id="session_smart">
      <field name="name">Add sessions management into smart button</field>
      <field name="model">golem.activity</field>
      <field name="inherit_id" ref="golem_activity.view_form" />
      <field name="arch" type="xml">
        <div name="buttons" position="inside">
          <button class="oe_inline oe_stat_button" type="object"
            name="button_session" icon="fa-list">
            <field string="Sessions" name="session_count"
              widget="statinfo" />
          </button>
        </div>
      </field>
    </record>

    <record id="view_form" model="ir.ui.view">
      <field name="name">GOLEM Activity Sessions Form</field>
      <field name="model">golem.activity.session</field>
      <field name="arch" type="xml">
        <form>
          <sheet>
            <div class="oe_title" style="width: 390px;">
              <label class="oe_edit_only" for="name" string="Session Name"/>
                <h1><field name="name" class="oe_inline"/></h1>
            </div>
            <group string="Session">
              <group>
                <field name="activity_id" />
                <field name="animator_id" />
                <field name="type_of" />
                <field name="places" />
              </group>
              <group>
                <field name="is_recurrent" />
                <field name="weekday"
                  attrs="{'invisible': [('is_recurrent', '=', False)]}" />
                <field name="hour_start" widget="float_time"
                  attrs="{'invisible': [('is_recurrent', '=', False)]}" />
                <field name="hour_end" widget="float_time"
                  attrs="{'invisible': [('is_recurrent', '=', False)]}" />
                <field name="date_start"
                  attrs="{'invisible': [('is_recurrent', '=', True)]}" />
                <field name="date_end"
                  attrs="{'invisible': [('is_recurrent', '=', True)]}" />
              </group>
            </group>
            <notebook>
              <page string="Members">
                <group>
                  <field name="places_remain" readonly="True" />
                  <field name="member_ids"
                    context="{'search_default_season_default': True}" />
                </group>
              </page>
              <page string="Service">
                <group>
                  <group>
                    <field name="default_code" />
                    <field name="list_price" />
                    <field name="description"
                      placeholder="describe the activity characteristics..."/>
                  </group>
                  <group>
                    <field name="type" />
                    <field name="categ_id" />
                    <field name="active" />
                  </group>
                </group>
              </page>
            </notebook>
          </sheet>
          <div class="oe_chatter">
              <field name="message_follower_ids" widget="mail_followers" />
              <field name="message_ids" widget="mail_thread" />
          </div>
        </form>
      </field>
    </record>

    <!-- Tree -->
    <record id="session_tree" model="ir.ui.view">
      <field name="name">Session list</field>
      <field name="model">golem.activity.session</field>
      <field name="arch" type="xml">
        <tree colors="red: places_remain == 0;
          orange: places_remain &lt;= 4;">
          <field name="is_recurrent" invisible="True" />
          <field name="season_id" />
          <field name="type_of" />
          <field name="session_name" />
          <field name="weekday" string="Day"
              attrs="{'invisible': [('is_recurrent', '=', False)]}" />
          <field name="date_start" string="Date"
              attrs="{'invisible': [('is_recurrent', '=', True)]}" />
          <field name="places" invisible="True" />
          <field name="places_remain" string="Remain" />
          <field name="list_price" sum="True" />
        </tree>
      </field>
    </record>

    <!-- Calendars -->
    <record id="calendar" model="ir.ui.view">
      <field name="name">Activity sessions calendar view</field>
      <field name="model">golem.activity.session</field>
      <field name="arch" type="xml">
        <calendar date_start="date_start" date_end="date_end"
          color="categ_id" display="[name]">
          <field name="name" />
        </calendar>
      </field>
    </record>

    <!-- Searches -->
    <record id="searches" model="ir.ui.view">
      <field name="name">GOLEM Activity Sessions Searches</field>
      <field name="model">golem.activity.session</field>
      <field name="arch" type="xml">
        <search>
          <field name="session_name" />
          <field name="activity_id" widget="many2one" />
          <field name="animator_id" widget="many2one" />
          <field name="categ_id" widget="many2one" />
          <field name="season_id" widget="many2one" />
          <filter name="season_default" string="Default season"
           domain="[('is_current', '=', True)]" />
          <filter name="full_session" string="Full"
           domain="[('places_remain', '=', 0)]" />
          <filter name="type_of_activity" string="Activity"
           domain="[('type_of', '=', 'activity')]" />
          <filter name="type_of_workshop" string="Workshop"
           domain="[('type_of', '=', 'workshop')]" />
          <filter name="type_of_training" string="Training"
           domain="[('type_of', '=', 'training')]" />
          <group string="Group By">
            <filter name="group_type_of" string="By type"
              context="{'group_by': 'type_of'}" />
            <filter name="group_category" string="By category"
              context="{'group_by': 'categ_id'}"/>
            <filter name="group_weekday" string="By weekday"
              context="{'group_by': 'weekday'}" />
            <filter name="group_animator" string="By animator"
              context="{'group_by': 'animator_id'}" />
          </group>
        </search>
      </field>
    </record>

    <!-- Actions -->
    <record id="session_action_list" model="ir.actions.act_window">
      <field name="name">GOLEM Activities Sessions List</field>
      <field name="res_model">golem.activity.session</field>
      <field name="view_mode">tree,form,calendar</field>
      <field name="context">{'search_default_season_default': True}</field>
      <!--<field name="view_id" ref="product.product_template_kanban_view"/>-->
    </record>
    <record id="category_action" model="ir.actions.act_window">
      <field name="name">Activities Categories</field>
      <field name="res_model">product.category</field>
      <field name="view_type">form</field>
      <field name="view_id" ref="product.product_category_list_view" />
    </record>
    <!-- Menus -->
    <menuitem id="session_menu_list" name="Activities sessions"
      parent="golem_activity.activity_menu" action="session_action_list"
      groups="golem_base.group_golem_user"
      sequence="10" />
    <menuitem  id="activity_categ" name="Categories"
      parent="golem_activity.activity_menu" sequence="20"
      groups="golem_base.group_golem_manager"
      action="category_action" />


  </data>
</openerp>