summaryrefslogtreecommitdiff
path: root/addons/project_long_term
diff options
context:
space:
mode:
authorHarry (OpenERP) <hmo@tinyerp.com>2010-09-30 20:11:19 +0530
committerHarry (OpenERP) <hmo@tinyerp.com>2010-09-30 20:11:19 +0530
commit0994368ae173e6569ae31b09dda90ab78fa765bb (patch)
treefcd67ee51870ec382bdce8c213e493b3b9f93d34 /addons/project_long_term
parent99245023a21f328f6514a6616a90b96211aafaff (diff)
[IMP] project
bzr revid: hmo@tinyerp.com-20100930144119-rqcos1j0xumt4h6t
Diffstat (limited to 'addons/project_long_term')
-rw-r--r--addons/project_long_term/project_long_term.py10
-rw-r--r--addons/project_long_term/project_long_term_view.xml41
2 files changed, 39 insertions, 12 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index d1df71630f8..2caf36766b0 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -109,8 +109,8 @@ class project_phase(osv.osv):
'name': fields.char("Name", size=64, required=True),
'date_start': fields.date('Start Date', help="Starting Date of the phase", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'date_end': fields.date('End Date', help="Ending Date of the phase", states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
- 'constraint_date_start': fields.date('Start Date', help='force the phase to start after this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
- 'constraint_date_end': fields.date('End Date', help='force the phase to finish before this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
+ 'constraint_date_start': fields.date('Minimum Start Date', help='force the phase to start after this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
+ 'constraint_date_end': fields.date('Deadline', help='force the phase to finish before this date', states={'done':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'project_id': fields.many2one('project.project', 'Project', required=True),
'next_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'prv_phase_id', 'next_phase_id', 'Next Phases', states={'cancelled':[('readonly',True)]}),
'previous_phase_ids': fields.many2many('project.phase', 'project_phase_rel', 'next_phase_id', 'prv_phase_id', 'Previous Phases', states={'cancelled':[('readonly',True)]}),
@@ -394,8 +394,10 @@ class project_resource_allocation(osv.osv):
_columns = {
'resource_id': fields.many2one('resource.resource', 'Resource', required=True),
'phase_id': fields.many2one('project.phase', 'Project Phase', ondelete='cascade', required=True),
- 'phase_id_date_start': fields.related('phase_id', 'date_start', type='date', string='Starting Date of the phase'),
- 'phase_id_date_end': fields.related('phase_id', 'date_end', type='date', string='Ending Date of the phase'),
+ 'project_id': fields.related('phase_id', 'project_id', type='many2one', relation="project.project", string='Project', store=True),
+ 'user_id': fields.related('resource_id', 'user_id', type='many2one', relation="res.users", string='User'),
+ 'date_start': fields.date('Start Date', help="Starting Date"),
+ 'date_end': fields.date('End Date', help="Ending Date"),
'useability': fields.float('Usability', help="Usability of this resource for this project phase in percentage (=50%)"),
}
_defaults = {
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index 5a70e5acb5e..3412ba7ca08 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -13,14 +13,27 @@
<field name="model">project.resource.allocation</field>
<field name="type">gantt</field>
<field name="arch" type="xml">
- <gantt color="phase_id" date_start="phase_id_date_start" date_stop="phase_id_date_end" string="R.A." mode="year">
- <level object="project.resource" link="resource_id" domain="[]">
- <field name="useability"/>
+ <gantt color="phase_id" date_start="date_start" date_stop="date_end" string="R.A." mode="year">
+ <level object="res.users" link="user_id" domain="[]">
+ <field name="useability" string="Availability"/>
</level>
</gantt>
</field>
</record>
+ <record id="view_project_resource_allocation_calendar" model="ir.ui.view">
+ <field name="name">project.resource.allocation.calendar</field>
+ <field name="model">project.resource.allocation</field>
+ <field name="type">calendar</field>
+ <field eval="2" name="priority"/>
+ <field name="arch" type="xml">
+ <calendar color="user_id" date_start="date_start" date_stop="date_end" day_length="12" string="Resources">
+ <field name="phase_id"/>
+ <field name="project_id"/>
+ </calendar>
+ </field>
+ </record>
+
<record id="view_project_resource_allocation_form" model="ir.ui.view">
<field name="name">project.resource.allocation.form</field>
@@ -28,9 +41,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Project Resource Allocation">
- <field name="resource_id" select="1"/>
- <field name="phase_id"/>
- <field name="useability" string="Availability"/>
+ <group colspan="4" col="6">
+ <field name="resource_id"/>
+ <field name="phase_id"/>
+ <field name="project_id"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
+ <field name="useability" string="Availability"/>
+ </group>
</form>
</field>
</record>
@@ -44,6 +62,7 @@
<tree editable="bottom" string="Project Resource Allocation">
<field name="resource_id"/>
<field name="phase_id"/>
+ <field name="project_id"/>
<field name="useability"/>
</tree>
</field>
@@ -58,11 +77,13 @@
<group colspan="4" col="20">
<field name="resource_id"/>
<field name="phase_id"/>
+ <field name="project_id"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="20">
<filter name="resource" string="Resource" icon="terp-folder-blue" domain="[]" context="{'group_by':'resource_id'}"/>
<separator orientation="vertical"/>
+ <filter string="Project" icon="terp-project" domain="[]" context="{'group_by':'project_id'}"/>
<filter string="Phase" icon="terp-project" domain="[]" context="{'group_by':'phase_id'}"/>
</group>
</search>
@@ -73,7 +94,7 @@
<field name="name">Resource Allocations</field>
<field name="res_model">project.resource.allocation</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form,gantt</field>
+ <field name="view_mode">gantt,tree,form,calendar</field>
<field name="context">{}</field>
<field name="search_view_id" ref="view_project_resource_allocation_search"/>
</record>
@@ -110,10 +131,14 @@
<field colspan="4" name="resource_ids" nolabel="1">
<tree editable="bottom" string="Project Resource Allocation">
<field name="resource_id" context="{'project_id':parent.project_id}"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
<field name="useability"/>
</tree>
<form string="Project Resource Allocation">
<field name="resource_id" context="{'project_id':parent.project_id}"/>
+ <field name="date_start"/>
+ <field name="date_end"/>
<field name="useability"/>
</form>
</field>
@@ -265,7 +290,7 @@
<field name="name">Project Phases</field>
<field name="res_model">project.phase</field>
<field name="view_type">form</field>
- <field name="view_mode">tree,form,gantt,calendar</field>
+ <field name="view_mode">gantt,tree,form,calendar</field>
<field name="context">{'search_default_responsible_id':uid}</field>
<field name="search_view_id" ref="view_project_phase_search"/>
<field name="help">You can subdivide your larger projects into several phases. For each phase, you can define your resources allocation (humans or engine), describe de differend task and link your phase with previous and next one, add constraints date and scheduling. A gantt view of your project phase is also available from this menu. Gantt view is a graphically draw of the project plan; it includes any task dependencies by visually adjusting task durations and priorities, and by linking tasks to each other.</field>