[MERGE] lp881356
[odoo/odoo.git] / addons / project / project_view.xml
index 3b73619..26abe86 100644 (file)
                                 <separator colspan="2" string="Performance"/>
                                 <field name="planned_hours" widget="float_time"/>
                                 <field name="effective_hours" widget="float_time" />
+                                <field name="resource_calendar_id"/>
                             </group>
                             <group col="2" colspan="2" name="misc">
                                 <separator colspan="4" string="Miscelleanous"/>
                                 <field name="company_id" select="1" groups="base.group_multi_company" widget="selection" required="1"/>
                                 <field name="warn_manager"/>
                                 <field name="priority"/>
-                                <field name="active"/>
+                                <field name="active" attrs="{'invisible':[('state','in',['open', 'pending', 'template'])]}"/>
                             </group>
                             <newline/>
                             <separator colspan="4"/>
@@ -48,7 +49,7 @@
                                 <field name="state" widget="statusbar" statusbar_visible="open,close" statusbar_colors='{"pending":"blue"}' select="1" readonly="1"/>
                                 <button name="set_cancel" string="Cancel" type="object" states="open,pending" icon="gtk-cancel"/>
                                 <button name="set_template" string="Set as Template" type="object" states="open" icon="gtk-convert" groups="base.group_extended"/>
-                                <button name="set_open" string="Reactivate Project" type="object" states="pending,cancelled,close" icon="gtk-ok"/>
+                                <button name="set_open" string="Re-open project" type="object" states="pending,cancelled,close" icon="gtk-ok"/>
                                 <button name="set_pending" string="Pending" type="object" states="open" icon="gtk-media-pause"/>
                                 <button name="set_done" string="Done" type="object" states="open,pending" icon="terp-dialog-close"/>
                                 <button name="reset_project" string="Reset as Project" type="object" states="template" icon="gtk-convert"/>
@@ -68,7 +69,7 @@
                         </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 domain="[('partner_id','=',partner_id)]" name="contact_id" string="Invoice Address"/>
+                            <field domain="[('partner_id','=',partner_id)]" name="contact_id" string="Contact Address"/>
                             <field name="warn_customer"/>
                             <field name="currency_id" select="1" groups="base.group_multi_company" required="1"/>
                             <newline/>
                    <group>
                        <filter icon="terp-check" string="Open" name="Current" domain="[('state', '=','open')]" help="Open Projects"/>
                        <filter icon="gtk-media-pause" string="Pending" name="Pending" domain="[('state', '=','pending')]" help="Pending Projects"/>
+                       <filter icon="gtk-media-pause" string="Template"
+                            name="Template" domain="[('state', '=','template')]" help="Templates of Projects"
+                            groups="base.group_extended"/>
                        <separator orientation="vertical"/>
                        <filter icon="terp-personal+" string="Member" domain="['|',('user_id', '=', uid),('members', '=', uid)]" help="Projects in which I am a member."/>
                        <separator orientation="vertical"/>
             <field name="model">project.project</field>
             <field name="type">gantt</field>
             <field name="arch" type="xml">
-                <gantt color="user_id" date_delay="planned_hours" date_start="date_start" string="Projects">
-                    <level object="project.project" link="id" domain="[]">
-                        <field name="complete_name"/>
-                    </level>
+                <gantt date_delay="planned_hours" date_start="date_start" string="Projects">
                 </gantt>
             </field>
         </record>
                                 <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-media-play"/>
                                 <button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" />
                                 <button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
-                                <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending"/>
+                                <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="terp-personal"/>
                                 <button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/>
                             </group>
                         </page>
             </field>
         </record>
 
-       
+
         <!-- Project Task Kanban View  -->
         <record model="ir.ui.view" id="view_task_kanban">
             <field name="name">project.task.kanban</field>
                     <field name="sequence"/>
                     <field name="state"/>
                     <field name="kanban_state"/>
-                    <field name="project_id"/>
                     <field name="remaining_hours" sum="Remaining Time"/>
+                    <field name="date_deadline"/>
                     <templates>
+                        <t t-name="task_details">
+                            <ul class="oe_kanban_tooltip" t-if="record.project_id.raw_value">
+                                <li><b>Project:</b> <field name="project_id"/></li>
+                            </ul>
+                        </t>
                         <t t-name="kanban-box">
                             <t t-set="pad_url">http://pad.openerp.com/<t t-raw="_.str.underscored(_.str.trim(record.name.raw_value))"/></t>
                             <t t-if="record.kanban_state.raw_value === 'blocked'" t-set="border">oe_kanban_color_red</t>
                                             <a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
                                             <a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.6; filter:alpha(opacity=60);"/>
                                         </td>
-                                        <td align="left" valign="middle">
-                                            <b t-att-title="record.project_id.value"><field name="name"/></b>
+                                        <td align="left" valign="middle" class="oe_kanban_title" tooltip="task_details">
+                                            <field name="name"/>
                                         </td>
                                         <td valign="top" width="22">
                                             <img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar" t-att-title="record.user_id.value"/>
                                     <div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger">
                                         <div class="oe_kanban_description">
                                             <t t-esc="kanban_text_ellipsis(record.description.value, 160)"/>
-                                            <span class="oe_kanban_project_times" style="white-space: nowrap">
-                                                <i t-if="record.date_deadline.raw_value"><field name="date_deadline"/> ,</i>
+                                            <i t-if="record.date_deadline.raw_value">
+                                                <t t-if="record.description.raw_value">, </t>
+                                                <field name="date_deadline"/>
+                                            </i>
+                                            <span class="oe_kanban_project_times" style="white-space: nowrap; padding-left: 5px;">
                                                 <t t-set="hours" t-value="record.remaining_hours.raw_value"/>
                                                 <t t-set="times" t-value="[
                                                      [1, (hours gte 1 and hours lt 2)]
                                                         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">!</a>
                                             </span>
                                         </div>
                                         <div class="oe_kanban_clear"/>
                                         <div class="oe_kanban_left">
                                             <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"/>
                                         </div>
                                         <div class="oe_kanban_right">
-                                            <a name="set_kanban_state_blocked" string="Blocked" kanban_states="normal,done" type="object" icon="gtk-media-pause"/>
+                                            <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="gtk-apply"/>
+                                            <a name="set_kanban_state_done" string="Done" kanban_states="blocked,normal" type="object" icon="kanban-apply"/>
                                         </div>
                                         <div class="oe_kanban_clear"/>
                                     </div>
                     <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
                     <field name="state" invisible="context.get('set_visible',False)"/>
                     <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)"/>
-                    <button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
+                    <button groups="base.group_extended" 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"/>
                 </tree>
             </field>
             <field name="type">gantt</field>
             <field eval="2" name="priority"/>
             <field name="arch" type="xml">
-                <gantt color="user_id" date_start="date_start" date_stop="date_end" string="Tasks" default_group_by="project_id,user_id">
+                <gantt date_start="date_start" date_stop="date_end" string="Tasks" default_group_by="project_id">
                 </gantt>
             </field>
         </record>
                         <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"/>
                         <separator orientation="vertical"/>
-                        <filter name="edit"
-                            string="Edit" context="{'set_editable':True,'seq_visible': True}"
-                            icon="gtk-execute"
-                            groups="base.group_extended"/>
-                        <separator orientation="vertical"/>
                         <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="name">Tasks</field>
             <field name="res_model">project.task</field>
             <field name="view_type">form</field>
-            <field name="view_mode">tree,form,calendar,gantt,graph,kanban</field>
+            <field name="view_mode">kanban,tree,form,calendar,gantt,graph</field>
             <field eval="False" name="filter"/>
-            <field name="view_id" ref="view_task_tree2"/>
-            <field name="context">{"search_default_draft": 1, "search_default_open":1}</field>
+            <field name="view_id" eval="False"/>
+            <field name="context">{"search_default_draft": 1, "search_default_open":1, "search_default_project_id": project_id}</field>
             <field name="search_view_id" ref="view_task_search_form"/>
             <field name="help">A task represents a work that has to be done. Each user works in his own list of tasks where he can record his task work in hours. He can work and close the task itself or delegate it to another user. If you delegate a task to another user, you get a new task in pending state, which will be reopened when you have to review the work achieved. If you install the project_timesheet module, task work can be invoiced based on the project configuration. With the project_mrp module, sales orders can create tasks automatically when they are confirmed.</field>
         </record>
+        <record id="open_view_task_list_kanban" model="ir.actions.act_window.view">
+            <field name="sequence" eval="0"/>
+            <field name="view_mode">kanban</field>
+            <field name="act_window_id" ref="action_view_task"/>
+        </record>
+        <record id="open_view_task_list_tree" model="ir.actions.act_window.view">
+            <field name="sequence" eval="1"/>
+            <field name="view_mode">tree</field>
+            <field name="act_window_id" ref="action_view_task"/>
+        </record>
 
         <menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_project_management" sequence="3"/>
 
             <field name="arch" type="xml">
                 <page string="Configuration" position="inside">
                     <separator string="Project Management" colspan="4"/>
-                    <field name="project_time_mode_id"/>
+                    <field name="project_time_mode_id" domain="[('category_id','=','Working Time')]"/>
                     <newline/>
                 </page>
             </field>