[VIEW] +use simple theme tree view for volunteer activities
[burette/bikecoop.git] / view / bikecoop.xml
index 11efd68..4a41e9c 100644 (file)
@@ -1,9 +1,60 @@
 <openerp>
     <data>
+        <record id="view_themes_tree" model="ir.ui.view">
+            <field name="name">bikecoop.partner.theme.tree</field>
+            <field name="model">bikecoop.partner.theme</field>
+            <field name="priority" eval="4"/>
+            <field name="arch" type="xml">
+            <tree string="Themes">
+                <field name="sequence"/>
+                <field name="name"/>
+            </tree>
+            </field>
+        </record>
+
+        <record id="view_themes_simple_tree" model="ir.ui.view">
+            <field name="name">bikecoop.partner.theme.tree</field>
+            <field name="model">bikecoop.partner.theme</field>
+            <field name="priority" eval="8"/>
+            <field name="arch" type="xml">
+            <tree string="Themes">
+                <field name="name"/>
+            </tree>
+            </field>
+        </record>
+        
+        <record id="view_themes_form" model="ir.ui.view">
+            <field name="name">bikecoop.partner.theme.form</field>
+            <field name="model">bikecoop.partner.theme</field>
+            <field name="priority" eval="8"/>
+            <field name="arch" type="xml">
+            <form string="Theme">
+                <field name="active"/>
+                <newline/>
+                <field name="sequence"/>
+                <newline/>
+                <field name="code" select="1"/>
+                <newline/>
+                <field name="name" select="1"/>
+            </form>
+            </field>
+        </record>
+        
+        <record id="view_themes_search" model="ir.ui.view">
+            <field name="name">bikecoop.partner.theme.search</field>
+            <field name="model">bikecoop.partner.theme</field>
+            <field name="priority" eval="8"/>
+            <field name="arch" type="xml">
+            <search string="Themes">
+                <field name="name" select="1"/>
+                <field name="code"/>
+            </search>
+            </field>
+        </record>
+        
         <record id="view_bikecoop_members_tree" model="ir.ui.view">
             <field name="name">res.partner.tree</field>
             <field name="model">res.partner</field>
-            <field name="type">tree</field>
             <field name="priority" eval="8"/>
             <field name="arch" type="xml">
             <tree string="Bikecoop Members">
         <record id="view_bikecoop_members_form" model="ir.ui.view">
             <field name="name">res.partner.form</field>
             <field name="model">res.partner</field>
-            <field name="type">form</field>
             <field name="priority" eval="8"/>
             <field name="arch" type="xml">
-            <form string="Bikecoop Member">
-                <group colspan="4" col="4">
-                    <field name="name" colspan="4"/>
-                </group>
-                <newline/>
-                <group string="Postal address" colspan="4">
-                    <field name="address" nolabel="1" mode="form">
-                        <form string="Address">
-                            <field name="zip"/>
-                            <field name="city"/>
-                            <field name="street" colspan="4"/>
-                            <field name="street2" colspan="4"/>
-                            <field name="email" colspan="4"/>
-                        </form>
-                    </field>
-                </group>
-                <group string="Civil informations" colspan="4">
-                    <field name="date" string="Birthdate" colspan="4"/>
-                    <field name="gender_id" domain="[('domain','=', 'gender')]" required="1" colspan="4"/>
-                    <field name="nationality_id" required="1" colspan="4"/>
-                    <field name="occupation_id" required="1" domain="[('domain','=', 'occupation')]" colspan="4"/>
-                </group>
-                <group string="Volunteer activities" colspan="4">
-                    <separator string="Want to be volunteer?" colspan="4"/>
-                    <field name="volunteer_ids" domain="[('domain','=', 'volunteer')]" colspan="4" nolabel="1"/>
-                    <separator string="Other volunteer activities" colspan="4"/>
-                    <field name="comment" colspan="4" nolabel="1"/>
-                </group>
+            <form string="Bikecoop Member" version="7.0">
+            <sheet>
+                <field name="image" widget="image" class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
+                <div class="oe_title">
+                    <div class="oe_edit_only">
+                        <label for="name"/> (
+                        <field name="is_company"/> <label for="is_company"/>)
+                    </div>
+                    <h1>
+                        <field name="name" placeholder="Firstname LASTNAME"/>
+                    </h1>
+                </div>
+                <notebook colspan="4">
+                    <page string="Main informations">
+                        <group>
+                            <field name="active" groups="base.group_no_one"/>
+                        </group>
+                        <group>
+                            <group>
+                                <label for="street" string="Postal address"/>
+                                <div>
+                                    <field name="street" placeholder="Street …"/>
+                                    <field name="street2" placeholder="Street (following) …"/>
+                                    <field name="zip" placeholder="Zip code"/>
+                                    <field name="city" placeholder="CITY"/>
+                                    <field name="country_id" placeholder="Country"/>
+                                </div>
+                                <field name="email" widget="email" placeholder="email"/>
+                                <field name="phone" placeholder="e.g. +33 4 00 00 00 00"/>
+                                <field name="mobile" placeholder="e.g. +33 6 00 00 00 00"/>
+                            </group>
+                            <group attrs="{'invisible': [('is_company','=',True)]}">
+                                <field name="year" placeholder="1900" attrs="{'required': [('is_company','=', False)]}"/>
+                                <field name="gender_id" domain="[('domain','=', 'gender')]" attrs="{'required': [('is_company','=', False)]}" widget="selection"/>
+                                <field name="nationality_id" placeholder="France" attrs="{'required': [('is_company','=', False)]}"/>
+                                <field name="occupation_id" domain="[('domain','=', 'occupation')]" attrs="{'required': [('is_company','=', False)]}" widget="selection"/>
+                            </group>
+                        </group>
+                        <notebook name="Volunteer activities">
+                            <page string="Volunteer activities" attrs="{'invisible': [('is_company','=',True)]}">
+                                <label string="Want to be volunteer in ..."/>
+                                <field name="volunteer_ids" domain="[('domain','=', 'volunteer')]" string="Want to be volunteer in ..." context="{'tree_view_ref': 'bikecoop.view_themes_simple_tree'}">
+                                    <tree string="Volunteer activities">
+                                        <field name="name"/>
+                                    </tree>
+                                </field>
+                                <label string="Other volunteer activities and comments"/>
+                                <field name="comment"/>
+                            </page>
+                        </notebook>
+                    </page>
+                </notebook>
+            </sheet>
             </form>
             </field>
         </record>
         
+        <!-- Bikecoop Member Kanban View -->
+        <record model="ir.ui.view" id="view_bikecoop_members_kanban">
+            <field name="name">res.partner.kanban</field>
+            <field name="model">res.partner</field>
+            <field name="arch" type="xml">
+                <kanban>
+                    <field name="color"/>
+                    <field name="name"/>
+                    <field name="title"/>
+                    <field name="email"/>
+                    <field name="parent_id"/>
+                    <field name="is_company"/>
+                    <field name="function"/>
+                    <field name="phone"/>
+                    <field name="street"/>
+                    <field name="street2"/>
+                    <field name="zip"/>
+                    <field name="city"/>
+                    <field name="country_id"/>
+                    <field name="mobile"/>
+                    <field name="state_id"/>
+                    <field name="category_id"/>
+                    <field name="has_image"/>
+                    <templates>
+                        <t t-name="kanban-box">
+                            <div class="oe_kanban_vignette oe_semantic_html_override">
+                                <a type="open">
+                                    <t t-if="record.has_image.raw_value === true">
+                                        <img t-att-src="kanban_image('res.partner', 'image_small', record.id.value)" class="oe_kanban_image"/>
+                                    </t>
+                                    <t t-if="record.has_image.raw_value === false">
+                                        <t t-if="record.is_company.raw_value === true">
+                                            <img t-att-src='_s + "/base/static/src/img/company_image.png"' class="oe_kanban_image"/>
+                                        </t>
+                                        <t t-if="record.is_company.raw_value === false">
+                                            <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_image"/>
+                                        </t>
+                                    </t>
+                                </a>
+                                <div class="oe_kanban_details">
+                                    <h4 class="oe_partner_heading"><a type="open"><field name="name"/></a></h4>
+                                    <div class="oe_kanban_partner_categories"/>
+                                    <div class="oe_kanban_partner_links"/>
+                                    <ul>
+                                        <li t-if="record.parent_id.raw_value and !record.function.raw_value"><field name="parent_id"/></li>
+                                        <li t-if="!record.parent_id.raw_value and record.function.raw_value"><field name="function"/></li>
+                                        <li t-if="record.parent_id.raw_value and record.function.raw_value"><field name="function"/> at <field name="parent_id"/></li>
+                                        <li t-if="record.city.raw_value and !record.country.raw_value"><field name="city"/></li>
+                                        <li t-if="!record.city.raw_value and record.country.raw_value"><field name="country"/></li>
+                                        <li t-if="record.city.raw_value and record.country.raw_value"><field name="city"/>, <field name="country"/></li>
+                                        <li t-if="record.email.raw_value"><a t-attf-href="mailto:#{record.email.raw_value}"><field name="email"/></a></li>
+                                    </ul>
+                                </div>
+                            </div>
+
+                        </t>
+                    </templates>
+                </kanban>
+            </field>
+        </record>
+
         <record id="view_bikecoop_members_search" model="ir.ui.view">
             <field name="name">res.partner.search</field>
             <field name="model">res.partner</field>
-            <field name="type">search</field>
             <field name="priority" eval="8"/>
             <field name="arch" type="xml">
             <search string="Bikecoop Members">
             <field name="context">{}</field>
         </record>
         
-        <record model="ir.actions.act_window.view" id="act_open_bikecoop_members_view_form">
+        <record model="ir.actions.act_window.view" id="act_open_bikecoop_members_view_kanban">
             <field name="act_window_id" ref="act_open_bikecoop_members_view"/>
-            <field name="sequence" eval="20"/>
-            <field name="view_mode">form</field>
-            <field name="view_id" ref="view_bikecoop_members_form"/>
+            <field name="sequence" eval="0"/>
+            <field name="view_mode">kanban</field>
+            <field name="view_id" ref="view_bikecoop_members_kanban"/>
         </record>
-        
+
         <record model="ir.actions.act_window.view" id="act_open_bikecoop_members_view_tree">
             <field name="act_window_id" ref="act_open_bikecoop_members_view"/>
-            <field name="sequence" eval="10"/>
+            <field name="sequence" eval="1"/>
             <field name="view_mode">tree</field>
             <field name="view_id" ref="view_bikecoop_members_tree"/>
         </record>
 
+        <record model="ir.actions.act_window.view" id="act_open_bikecoop_members_view_form">
+            <field name="act_window_id" ref="act_open_bikecoop_members_view"/>
+            <field name="sequence" eval="2"/>
+            <field name="view_mode">form</field>
+            <field name="view_id" ref="view_bikecoop_members_form"/>
+        </record>
+        
+        <record model="ir.actions.act_window" id="act_open_volunteer_ids_view">
+            <field name="name">Volunteer activities</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">bikecoop.partner.theme</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="search_view_id" ref="view_themes_search"/>
+            <field name="domain">[('domain','=', 'volunteer')]</field>
+            <field name="context">{'default_domain': 'volunteer'}</field>
+        </record>
+        
+        <record model="ir.actions.act_window" id="act_open_occupation_view">
+            <field name="name">Occupations</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">bikecoop.partner.theme</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="search_view_id" ref="view_themes_search"/>
+            <field name="domain">[('domain','=', 'occupation')]</field>
+            <field name="context">{'default_domain': 'occupation'}</field>
+        </record>
+
         <menuitem id="menu_bikecoop" 
-            sequence="20"
             name="Bikecoop"
-            web_icon="images/bikecoop.png"
-            web_icon_hover="images/bikecoop-hover.png"
-            action="act_open_bikecoop_members_view"/>
+            parent="base.menu_config"
+            sequence="20"/>
+
+        <menuitem id="menu_volunteer_ids"
+            parent="menu_bikecoop"
+            sequence="10"
+            action="act_open_volunteer_ids_view"/>
 
-        <menuitem id="menu_bikecoop_members"
+        <menuitem id="menu_occupation"
             parent="menu_bikecoop"
             sequence="20"
-            action="act_open_bikecoop_members_view"/>
+            action="act_open_occupation_view"/>
     </data>
 </openerp>