[IMP]:added icons on buttons.
[odoo/odoo.git] / addons / project / project_view.xml
index bc3d214..e521654 100644 (file)
 
         <menuitem id="menu_project_management" name="Project" parent="base.menu_main_pm" sequence="1"/>
         <menuitem id="menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
+        
+        <act_window
+            context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
+            id="act_project_project_2_project_task_all"
+            name="Tasks"
+            res_model="project.task"
+            src_model="project.project"
+            view_mode="kanban,tree,form,calendar,graph"
+            view_type="form"/>
 
         <!-- Project -->
         <record id="edit_project" model="ir.ui.view">
@@ -19,7 +28,7 @@
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Project" layout="manual">
-                <div class="oe_form_topbar">
+                <header>
                     <button name="set_done" string="Done" type="object" states="open,pending"/>
                     <button name="set_open" string="Re-open project" type="object" states="pending,cancelled,close"/>
                     <button name="set_pending" string="Pending" type="object" states="open"/>
                     <button string="New Project Based on Template" name="duplicate_template"  type="object" states="template" context="{'parent_id':parent_id}"/>
                     <button name="reset_project" string="Reset as Project" type="object" states="template"/>
                     <button name="set_cancel" string="Cancel" type="object" states="open,pending"/>
-                    <div class="oe_right">
-                        <field name="state" nolabel="1" widget="statusbar" statusbar_visible="open,close" statusbar_colors='{"pending":"blue"}' select="1" readonly="1"/>
-                    </div>
-                    <div class="oe_clear"/>
-                </div>
+                    <field name="state" widget="statusbar" statusbar_visible="open,close" statusbar_colors='{"pending":"blue"}' readonly="1"/>
+                </header>
                 <sheet string="Project" layout="auto">
-                    <group colspan="6" col="6">
-                        <field name="name" string="Project Name" select="1"/>
-                        <field name="analytic_account_id" invisible="1" required="0"/>
-                        <field name="parent_id" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
-                        <field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
-                        <field name="date_start" string="Start Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
-                        <field name="date" string="End Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
-                        <field name="progress_rate" widget="progressbar"/>
+                    <group col="4" colspan="4">
+                        <group col="2" colspan="2" class="oe_form_group_label_border">
+                            <field name="name" string="Project Name" select="1"/>
+                            <field name="partner_id" on_change="onchange_partner_id(partner_id)" select="1"/>
+                            <field name="user_id" string="Project Manager" select="1" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>
+                            <field name="analytic_account_id" invisible="1" required="0"/>
+                            <field name="parent_id" invisible="1" string="Parent" domain="[('id','!=',analytic_account_id)]" context="{'current_model': 'project.project'}"/>
+                            <field name="privacy_visibility"/>
+                            <!--<field name="date_start" string="Start Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>-->
+                            <!--<field name="date" string="End Date" attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"/>-->
+                            <!--<field name="progress_rate" widget="progressbar"/>-->
+                        </group>
+                        <group col="2" colspan="2" class="oe_form_group_label_border">
+                            <table border="0">
+                                <tr name="use_tasks_row">
+                                    <th style="border-right:1px solid #DDD;" width="140px">Tasks Management</th>
+                                    <td><field name="use_tasks" nolabel="1"/></td>
+                                    <td style="text-align:right;" width="110px"><button icon="terp-stock_align_left_24" class="oe_btn_width" name="%(act_project_project_2_project_task_all)d" string="Tasks" type="action" attrs="{'invisible':[('use_tasks','=', 0)]}"/></td>
+                                </tr>
+                                <tr name="use_attachment_row">
+                                    <th/>
+                                    <td/>
+                                    <td style="text-align:right;" width="110px"><button icon="gtk-dnd-multiple" class="oe_btn_width" name="%(base.action_attachment)d" string="Documents" type="action" /></td>
+                                </tr>
+                            </table>
+                        </group>
                     </group>
                     <notebook colspan="4">
                         <page string="Administration">
-                            <group col="2" colspan="2" name="kanban">
-                                <separator colspan="2" string="Project Management"/>
-                                    <field name="use_tasks"/>
-                            </group>
                             <group col="2" colspan="2">
                                 <separator colspan="4" string="Performance"/>
                                 <field name="planned_hours" widget="float_time"/>
@@ -63,8 +83,8 @@
                                 <field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
                             </group>
                         </page>
-                        <page string="Members">
-                            <field colspan="4" name="members" nolabel="1">
+                        <page name="team" string="Team" attrs="{'invisible':[('use_tasks','=', 0)]}">
+                            <field colspan="4" name="members" nolabel="1" help="Project's members are users who can have an access to the tasks related to this project.">
                                 <tree string="Members">
                                     <field name="name"/>
                                     <field name="user_email"/>
@@ -72,7 +92,7 @@
                             </field>
                         </page>
                         <page string="Billing" groups="account.group_account_invoice">
-                            <field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer"/>
+                            <!--<field colspan="4" name="partner_id" on_change="onchange_partner_id(partner_id)" select="1" string="Customer"/>-->
                             <field name="warn_customer"/>
                             <field name="currency_id" select="1" groups="base.group_multi_company" required="1"/>
                             <newline/>
                         <page string="Tasks Stages">
                            <field nolabel="1" name="type_ids" colspan="4"/>
                         </page>
-                        <page string="Notes">
-                            <field colspan="4" name="description" nolabel="1"/>
-                        </page>
                     </notebook>
                     <newline/>
                 </sheet>
                 <div class="oe_form_bottom">
-                    <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
+                    <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
                 </div>
                 </form>
             </field>
         </record>
 
         <act_window
-            context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
+            context="{'search_default_project_id': active_id, 'default_project_id': active_id}"
             id="act_project_project_2_project_task_all"
             name="Tasks"
             res_model="project.task"
                     <field name="task_count"/>
                     <templates>
                         <t t-name="kanban-box">
-                            <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_auto_height">
+                            <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_auto_height oe_kanban_global_click">
                                 <a class="oe_kanban_menuaction oe_i">B</a>
                                 <ul class="oe_kanban_menu">
                                     <li><a type="edit">Edit...</a></li>
             <field eval="2" name="priority"/>
             <field name="arch" type="xml">
                 <form string="Project" layout="manual">
-                    <div class="oe_form_topbar">
+                    <header>
                         <button name="do_open" string="Start Task" type="object"
-                                states="pending,draft"/>
-                        <button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action" context="{'button_reactivate':True}"
-                                states="done,cancelled"/>
+                                states="draft,pending"/>
+                        <button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
+                                states="done,cancelled" context="{'button_reactivate':True}"/>
                         <button name="do_pending" string="Pending" type="object"
                                 states="open"/>
                         <button name="action_close" string="Done" type="object"
                                 states="pending,open,draft"/>
                         <button name="do_cancel" string="Cancel" type="object"
                                 states="draft,open,pending" />
-                        <button name="stage_previous" string="Previous" type="object"
-                                states="open" icon="gtk-go-back"/>
-                        <button name="stage_next" string="Next" type="object"
-                                states="open" icon="gtk-go-forward"/>
-                        <div class="oe_right">
-                            <field name="stage_id" nolabel="1" widget="statusbar"/>
-                        </div>
-                        <div class="oe_clear"/>
-                    </div>
+                        <button name="stage_previous" string="Previous Stage" type="object"
+                                states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
+                        <button name="stage_next" string="Next Stage" type="object"
+                                states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
+                        <field name="stage_id" widget="statusbar"/>
+                    </header>
                     <sheet string="Task edition" layout="auto">
                     <group colspan="6" col="6">
                         <field name="name" select="1"/>
                     </notebook>
                     </sheet>
                     <div class="oe_form_bottom">
-                        <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
+                        <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
                     </div>
                 </form>
             </field>
                                                         type="object" class="oe_kanban_button"><t t-esc="time[0]"/></a
                                                     ><b t-if="time[1]" class="oe_kanban_button oe_kanban_button_active"><t t-esc="Math.round(hours)"/></b
                                                 ></t>
-                                                <a name="do_open" states="draft" string="Validate planned time and open task" type="object" class="oe_kanban_button oe_kanban_button_active" groups="base.group_no_one">!</a>
+                                                <a name="do_open" states="draft" string="Validate planned time and open task" type="object" class="oe_kanban_button oe_kanban_button_active">!</a>
                                             </span>
                                         </div>
                                         <div class="oe_kanban_clear"/>
                                             <a string="Edit" icon="gtk-edit" type="edit"/>
                                             <a string="Change Color" icon="color-picker" type="color" name="color"/>
                                             <a name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/>
-                                            <a name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" groups="base.group_no_one"/>
+                                            <a name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close"/>
                                         </div>
                                         <div class="oe_kanban_right">
-                                            <a name="set_kanban_state_blocked" string="Mark as Blocked" kanban_states="normal,done" type="object" icon="kanban-stop"/>
-                                            <a name="set_kanban_state_normal" string="Normal" kanban_states="blocked,done" type="object" icon="gtk-media-play"/>
-                                            <a name="set_kanban_state_done" string="Done" kanban_states="blocked,normal" type="object" icon="kanban-apply"/>
+                                            <a name="set_kanban_state_blocked" string="Mark as Blocked" attrs="{'invisible' : [('kanban_state', 'not in', ('normal', 'done'))]}" type="object" icon="kanban-stop"/>
+                                            <a name="set_kanban_state_normal" string="Normal" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'done'))]}" type="object" icon="gtk-media-play"/>
+                                            <a name="set_kanban_state_done" string="Done" attrs="{'invisible' : [('kanban_state', 'not in', ('blocked', 'normal'))]}" type="object" icon="kanban-apply"/>
                                         </div>
                                         <div class="oe_kanban_clear"/>
                                     </div>
                     <field name="remaining_hours" widget="float_time" sum="Remaining Hours" on_change="onchange_remaining(remaining_hours,planned_hours)" invisible="context.get('set_visible',False)" groups="project.group_time_work_estimation_tasks"/>
                     <field name="date_deadline" invisible="context.get('deadline_visible',True)"/>
                     <field name="stage_id" invisible="context.get('set_visible',False)"/>
-                    <button name="next_type" invisible="context.get('set_visible',False)"
-                        states="open,pending"
-                        string="Change Stage"
-                        type="object"
-                        icon="gtk-go-forward"
-                        help="Change Type" attrs="{'invisible': [('stage_id','=', False)]}"/>
+                    <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
                     <field name="date_start" invisible="1" groups="base.group_no_one"/>
                     <field name="date_end" invisible="1" groups="base.group_no_one"/>
                     <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
-                    <field name="state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
-                    <button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)" groups="base.group_no_one"/>
-                    <button name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal" help="For changing to delegate state"/>
-                    <button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state" groups="base.group_no_one"/>
                 </tree>
             </field>
         </record>
             <field name="arch" type="xml">
                <search string="Tasks">
                     <group>
-                        <filter icon="terp-check" name="inbox" string="Inbox" domain="[('message_state','=','unread')]"/>
                         <filter name="draft" string="New" domain="[('state','=','draft')]" help="New Tasks" icon="terp-check"/>
                         <filter name="open" string="In Progress" domain="[('state','=','open')]" help="In Progress Tasks" icon="terp-camera_test"/>
                         <filter string="Pending" domain="[('state','=','pending')]" context="{'show_delegated':False}" help="Pending Tasks" icon="terp-gtk-media-pause"/>
                         <filter string="Deadlines" context="{'deadline_visible': False}" domain="[('date_deadline','&lt;&gt;',False)]" help="Show only tasks having a deadline" icon="terp-gnome-cpu-frequency-applet+"/>
                         <separator orientation="vertical"/>
                         <field name="name"/>
+                        <field name="project_id" invisible="1"/>
                         <filter name="project" string="Project" domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-check"/>
+                        <field name="project_id"/>
                         <field name="user_id">
                             <filter string="My Tasks" domain="[('user_id','=',uid)]"  help="My Tasks" icon="terp-personal" />
                             <filter string="Unassigned Tasks" domain="[('user_id','=',False)]"  help="Unassigned Tasks" icon="terp-personal-" />
                 </search>
             </field>
         </record>
+        
+        <record id="analytic_account_inherited_form" model="ir.ui.view">
+            <field name="name">account.analytic.account.form.inherit</field>
+            <field name="model">account.analytic.account</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
+            <field eval="18" name="priority"/>
+            <field name="arch" type="xml">
+                <xpath expr='//separator[@name="project_sep"]' position='replace'>
+                    <separator colspan="2" string="Project" name="project_sep"/>
+                </xpath>
+               <xpath expr='//group[@name="project"]' position='inside'>
+                    <field name="use_tasks" />
+                </xpath>
+            </field>
+        </record>
 
         <record id="action_view_task" model="ir.actions.act_window">
             <field name="name">Tasks</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
                 <form string="Task Stage">
-                    <group colspan="4" col="6">
-                    <field name="name"/>
-                    <field name="case_default"/>
-                    <field name="sequence"/>
-                    <field name="state"/>
+                    <group colspan="2" col="2">
+                        <field name="name"/>
+                        <field name="state"/>
+                    </group>
+                    <group colspan="2" col="4">
+                        <field name="case_default"/>
+                        <field name="sequence"/>
+                        <field name="fold"/>
                     </group>
                     <separator string="Description" colspan="4"/>
                     <field colspan="4" name="description" nolabel="1"/>
 
         <menuitem id="menu_project_config_project" name="Stages" parent="project.menu_definitions" sequence="1"/>
 
-        <menuitem action="open_task_type_form" name="Issue Stages" id="menu_task_types_view" parent="menu_project_config_project" sequence="2"/>
-        <menuitem action="open_view_project_all" id="menu_projects" name="Projects" parent="menu_project_management" sequence="1" groups="base.group_no_one"/>
+        <menuitem action="open_task_type_form" name="Task Stages" id="menu_task_types_view" parent="menu_project_config_project" sequence="2"/>
+        <menuitem action="open_view_project_all" id="menu_projects" name="Projects" parent="menu_project_management" sequence="1"/>
 
-        <act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
+        <act_window context="{'search_default_user_id': active_id, 'default_user_id': active_id}" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
 
          <record id="task_company" model="ir.ui.view">
             <field name="name">res.company.task.config</field>