diff options
| author | Sanjay Gohel (Open ERP) <sgo@tinyerp.com> | 2012-03-28 12:40:59 +0530 |
|---|---|---|
| committer | Sanjay Gohel (Open ERP) <sgo@tinyerp.com> | 2012-03-28 12:40:59 +0530 |
| commit | cce28758f59d2199fb377bec4c50e91815ca6478 (patch) | |
| tree | 30d322e51442f553f5311b0ab92bfed8f6ce8b40 /addons/project_long_term | |
| parent | cafd8b61e10886adb65b07f486cd490af96a08fd (diff) | |
[imp]
bzr revid: sgo@tinyerp.com-20120328071059-mrixwtuksf8ezfzq
Diffstat (limited to 'addons/project_long_term')
| -rw-r--r-- | addons/project_long_term/project_long_term.py | 50 | ||||
| -rw-r--r-- | addons/project_long_term/project_long_term_view.xml | 15 |
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> |
