summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorSanjay Gohel (Open ERP) <sgo@tinyerp.com>2012-03-28 12:40:59 +0530
committerSanjay Gohel (Open ERP) <sgo@tinyerp.com>2012-03-28 12:40:59 +0530
commitcce28758f59d2199fb377bec4c50e91815ca6478 (patch)
tree30d322e51442f553f5311b0ab92bfed8f6ce8b40 /addons
parentcafd8b61e10886adb65b07f486cd490af96a08fd (diff)
[imp]
bzr revid: sgo@tinyerp.com-20120328071059-mrixwtuksf8ezfzq
Diffstat (limited to 'addons')
-rw-r--r--addons/project_long_term/project_long_term.py50
-rw-r--r--addons/project_long_term/project_long_term_view.xml15
2 files changed, 64 insertions, 1 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index 13efe602f79..d54072f1cc7 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -215,10 +215,58 @@ project_user_allocation()
class project(osv.osv):
_inherit = "project.project"
+
+ def _open_phase(self, cr, uid, ids, field_name, arg, context=None):
+ open_phase={}
+ phase_pool=self.pool.get('project.phase')
+ for id in ids:
+ phase_ids = phase_pool.search(cr, uid, [('project_id', '=', id)])
+ open_phase[id] = len(phase_ids)
+ return open_phase
+
_columns = {
'phase_ids': fields.one2many('project.phase', 'project_id', "Project Phases"),
- 'phase' : fields.boolean('Phase',help = "If you check this field Phases are appears in kanban view")
+ 'phase' : fields.boolean('Phase',help = "If you check this field Phases are appears in kanban view"),
+ 'open_phases' : fields.function(_open_phase , type='integer',string="Open Phases"),
+
}
+
+ def open_phase(self, cr, uid, ids, context=None):
+ #Open the View for the Tasks for the project
+ """
+ This opens Tasks views
+ @return :Dictionary value for task view
+ """
+ if context is None:
+ context = {}
+ value = {}
+ data_obj = self.pool.get('ir.model.data')
+ for project in self.browse(cr, uid, ids, context=context):
+ # Get Task views
+ tree_view = data_obj.get_object_reference(cr, uid, 'project_long_term', 'view_project_phase_list')
+ form_view = data_obj.get_object_reference(cr, uid, 'project_long_term', 'view_project_phase_form')
+ calander_view = data_obj.get_object_reference(cr, uid, 'project_long_term', 'view_project_phase_calendar')
+ search_view = data_obj.get_object_reference(cr, uid, 'project_long_term', 'view_project_phase_search')
+ context.update({
+ #'search_default_user_id': uid,
+ 'search_default_project_id':project.id,
+ #'search_default_open':1,
+ })
+ value = {
+ 'name': _('Phase'),
+ 'context': context,
+ 'view_type': 'form',
+ 'view_mode': 'form,tree',
+ 'res_model': 'project.phase',
+ 'view_id': False,
+ 'domain':[('project_id','in',ids)],
+ 'context': context,
+ 'views': [(tree_view and tree_view[1] or False, 'tree'),(calander_view and calander_view[1] or False, 'calendar'),(form_view and form_view[1] or False, 'form')],
+ 'type': 'ir.actions.act_window',
+ 'search_view_id': search_view and search_view[1] or False,
+ 'nodestroy': True
+ }
+ return value
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 7044fe7e635..fe91c4c54ea 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -109,6 +109,21 @@
</xpath>
</field>
</record>
+
+ <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">
+ <xpath expr="//field[@name='open_task']" position="after">
+ <td valign="bottom">
+ <button name="open_phase" class="oe_project_buttons" type="object">Phase</button>(<field name="open_phases"/>)
+ </td>
+ </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>