<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <!-- Modules Categories -->
        <record id="view_module_category_form" model="ir.ui.view">
            <field name="name">ir.module.category.form</field>
            <field name="model">ir.module.category</field>
            <field name="arch" type="xml">
                <form string="Module Category" version="7.0">
                    <group col="4">
                        <field name="name"/>
                        <field name="parent_id"/>
                        <field name="sequence"/>
                    </group>
                    <field name="description"/>
                </form>
            </field>
        </record>

        <record id="view_module_category_tree" model="ir.ui.view">
            <field name="name">ir.module.category.tree</field>
            <field name="model">ir.module.category</field>
            <field name="field_parent">child_ids</field>
            <field name="arch" type="xml">
                <tree string="Module Category">
                    <field name="name"/>
                    <field name="module_nr"/>
                </tree>
            </field>
        </record>

        <!-- Click on a category -->
        <record id="view_module_filter" model="ir.ui.view">
            <field name="name">ir.module.module.list.select</field>
            <field name="model">ir.module.module</field>
            <field name="arch" type="xml">
                <search string="Search modules">
                    <field name="name" filter_domain="['|', '|', ('summary', 'ilike', self), ('shortdesc', 'ilike', self), ('name',
                        'ilike', self)]" string="Module"/>
                    <filter name="app" icon="terp-check" string="Apps" domain="[('application', '=', 1)]"/>
                    <filter name="extra" icon="terp-check" string="Extra" domain="[('application', '=', 0)]"/>
                    <separator/>
                    <filter name="installed" icon="terp-check" string="Installed" domain="[('state', 'in', ['installed', 'to upgrade', 'to remove'])]"/>
                    <filter icon="terp-dialog-close" string="Not Installed" domain="[('state', 'in', ['uninstalled', 'uninstallable', 'to install'])]"/>
                    <field name="category_id"/>
                    <group expand="0" string="Group By...">
                        <filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'author'}"/>
                        <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'category_id'}"/>
                    </group>
               </search>
            </field>
        </record>
        <record id="action_module_open_categ" model="ir.actions.act_window">
            <field name="name">Modules</field>
            <field name="res_model">ir.module.module</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form,kanban</field>
            <field name="domain">[('category_id','=',active_id)]</field>
        </record>
        <record id="ir_action_module_category" model="ir.values">
            <field eval="'tree_but_open'" name="key2"/>
            <field eval="'ir.module.category'" name="model"/>
            <field name="name">Categorized Modules</field>
            <field eval="'ir.actions.act_window,%d'%action_module_open_categ" name="value"/>
        </record>


        <!-- Modules -->
        <record id="module_form" model="ir.ui.view">
            <field name="name">ir.module.module.form</field>
            <field name="model">ir.module.module</field>
            <field name="arch" type="xml">
                <form create="0" edit="0" string="Module" version="7.0">
                <sheet>
                    <field name="icon_image" widget="image" class="oe_avatar oe_left"/>
                    <div class="oe_title">
                        <h1><field name="shortdesc"/></h1>
                        <h2 class="oe_fade"><field name="summary"/></h2>
                        <button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
                        <button name="button_immediate_upgrade" states="installed" string="Upgrade" type="object" class="oe_highlight"/>
                        <button name="button_uninstall" states="installed" string="Uninstall" type="object"/>
                        <button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" type="object"/>
                        <button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" type="object"/>
                        <button name="button_install_cancel" states="to install" string="Cancel Install" type="object"/>
                    </div>
                    <group>
                        <group>
                            <field name="author"/>
                            <field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
                            <field name="category_id" widget="selection"/>
                        </group>
                        <group>
                            <field name="name"/>
                            <field name="license"/>
                            <field name="installed_version"/>
                        </group>
                    </group>
                    <notebook>
                        <page string="Description">
                            <field name="description_html"/>
                        </page>
                        <page string="Technical Data" groups="base.group_no_one">
                            <group col="4">
                                <field name="demo"/>
                                <field name="application"/>
                                <field name="state"/>
                            </group>
                            <label for="views_by_module" string="Created Views"/>
                            <field name="views_by_module"/>
                            <label for="dependencies_id"/>
                            <field name="dependencies_id">
                                <tree string="Dependencies">
                                    <field name="name"/>
                                    <field name="state"/>
                                </tree>
                            </field>
                        </page>
                        <page string="Features" attrs="{'invisible':[('state','!=','installed')]}">
                            <label for="menus_by_module" string="Created Menus"/>
                            <field name="menus_by_module"/>
                            <label for="reports_by_module" string="Defined Reports"/>
                            <field name="reports_by_module"/>
                        </page>
                    </notebook>
                    </sheet>
                </form>
            </field>
        </record>
        <record id="module_tree" model="ir.ui.view">
            <field name="name">ir.module.module.tree</field>
            <field name="model">ir.module.module</field>
            <field name="arch" type="xml">
                <tree colors="blue:state=='to upgrade' or state=='to install';red:state=='uninstalled';grey:state=='uninstallable';black:state=='installed'" create="false" string="Modules">
                    <field name="shortdesc"/>
                    <field name="name" groups="base.group_no_one"/>
                    <field name="author"/>
                    <field name="installed_version"/>
                    <field name="state"/>
                    <field name="category_id" invisible="1"/>
                </tree>
            </field>
        </record>
        <record model="ir.ui.view" id="module_view_kanban">
            <field name="name">Modules Kanban</field>
            <field name="model">ir.module.module</field>
            <field name="arch" type="xml">
                <kanban create="false">
                  <field name="icon"/>
                  <field name="name"/>
                  <field name="state"/>
                  <field name="summary"/>
                  <templates>
                    <t t-name="kanban-box">
                      <div class="oe_module_vignette">
                        <t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
                        <img t-attf-src="#{record.icon.value}" class="oe_module_icon"/>
                        <div class="oe_module_desc">
                          <h4><a type="open"><field name="shortdesc"/></a></h4>
                          <p class="oe_module_name">
                             <t t-if="record.summary.raw_value"><field name="summary"/><br/></t>
                             <i><field name="name" groups="base.group_no_one"/></i>
                          </p>
                          <button type="object" name="button_immediate_install" states="uninstalled">Install</button>
                          <button t-if="installed" disabled="disabled">Installed</button>
                        </div>
                      </div>
                    </t>
                  </templates>
                </kanban>
            </field>
        </record>
        <record id="open_module_tree" model="ir.actions.act_window">
            <field name="name">Installed Modules</field>
            <field name="res_model">ir.module.module</field>
            <field name="view_type">form</field>
            <field name="view_mode">kanban,tree,form</field>
            <field name="context">{'search_default_installed':1}</field>
            <field name="search_view_id" ref="view_module_filter"/>
            <field name="help" type="html">
              <p><b>No module found!</b></p>
              <p>You should try others search criteria.</p>
            </field>
        </record>
        <menuitem id="menu_module_tree" parent="menu_management" name="Installed Modules" sequence="30" action="open_module_tree" />


        <!-- Apps modules -->
        <record model="ir.actions.client" id="modules_act_cl">
            <field name="name">Apps</field>
            <field name="tag">apps</field>
        </record>
        <menuitem id="module_mi" parent="base.menu_management" sequence="10" action="modules_act_cl"/>

        <record model="ir.actions.client" id="modules_updates_act_cl">
            <field name="name">Updates</field>
            <field name="tag">apps.updates</field>
            <field name="params">{}</field>
        </record>
        <menuitem id="menu_module_updates" parent="base.menu_management" sequence="20" action="modules_updates_act_cl"/>

    </data>
</openerp>
