summaryrefslogtreecommitdiff
path: root/addons/project_long_term
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project_long_term')
-rw-r--r--addons/project_long_term/project_long_term.py14
-rw-r--r--addons/project_long_term/project_long_term_view.xml54
2 files changed, 55 insertions, 13 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index 612bd784bb0..925e4258ed9 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -215,9 +215,23 @@ project_user_allocation()
class project(osv.osv):
_inherit = "project.project"
+
+ def _phase_count(self, cr, uid, ids, field_name, arg, context=None):
+ res = dict.fromkeys(ids, 0)
+ phase_ids = self.pool.get('project.phase').search(cr, uid, [('project_id', 'in', ids)])
+ for phase in self.pool.get('project.phase').browse(cr, uid, phase_ids, context):
+ res[phase.project_id.id] += 1
+ return res
+
_columns = {
'phase_ids': fields.one2many('project.phase', 'project_id', "Project Phases"),
+ 'use_phases': fields.boolean('Use Phases', help="Check this field if project manages phases"),
+ 'phase_count': fields.function(_phase_count, type='integer', string="Open Phases"),
}
+ _defaults = {
+ 'use_phases': True,
+ }
+
def schedule_phases(self, cr, uid, ids, context=None):
context = context or {}
if type(ids) in (long, int,):
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 7231395a2a9..b4042fc42e7 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -84,12 +84,12 @@
</search>
</field>
</record>
- <record id="act_resouce_allocation" model="ir.actions.act_window">
+ <record id="act_resouce_allocation" model="ir.actions.act_window">
<field name="name">Planning of Users</field>
<field name="res_model">project.user.allocation</field>
<field name="view_type">form</field>
<field name="view_mode">gantt,tree,form,calendar</field>
- <field name="context">{}</field>
+ <field name="context">{}</field>
<field name="search_view_id" ref="view_project_user_allocation_search"/>
</record>
@@ -98,6 +98,44 @@
# Project Phase
# ------------------------------------------------------
+ <record id="project_phase_form" model="ir.ui.view">
+ <field name="name">Inherit project form : Phase</field>
+ <field name="model">project.project</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="project.edit_project"/>
+ <field name="arch" type="xml">
+ <field name="use_tasks" position="after">
+ <field name="use_phases"/>
+ </field>
+ </field>
+ </record>
+
+ <act_window id="act_project_phases"
+ name="Phases"
+ src_model="project.project"
+ res_model="project.phase"
+ view_type="form"
+ view_mode="tree,form"
+ context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
+ />
+
+ <record id="view_project_kanban_phase" model="ir.ui.view">
+ <field name="name">project.project.kanban.inherited</field>
+ <field name="model">project.project</field>
+ <field name="type">kanban</field>
+ <field name="inherit_id" ref="project.view_project_kanban"/>
+ <field name="arch" type="xml">
+ <field name="use_tasks" position="after">
+ <field name="use_phases"/>
+ <field name="phase_count"/>
+ </field>
+ <xpath expr="//div[@id='list']" position="inside">
+ <a t-if="record.use_phases.raw_value" class="oe_project_buttons"
+ id="4" name="%(act_project_phases)d" type="action">Phases(<field name="phase_count"/>)</a>
+ </xpath>
+ </field>
+ </record>
+
<record id="view_project_phase_form" model="ir.ui.view">
<field name="name">project.phase.form</field>
<field name="model">project.phase</field>
@@ -278,7 +316,7 @@
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='effective_hours']" position="after">
- <field name="phase_id"/>
+ <field name="phase_id" context="{'default_project_id' : project_id}"/>
</xpath>
</field>
</record>
@@ -327,16 +365,6 @@
view_mode="tree,form"
/>
- <act_window
- context="{'search_default_project_id': active_id, 'default_project_id': active_id}"
- id="act_project_phases"
- name="Phases"
- res_model="project.phase"
- src_model="project.project"
- view_mode="tree,form"
- view_type="form"
- />
-
# ------------------------------------------------------
# Menu Items
# ------------------------------------------------------