diff options
| author | jam-openerp <jam@tinyerp.com> | 2011-01-20 12:43:22 +0530 |
|---|---|---|
| committer | jam-openerp <jam@tinyerp.com> | 2011-01-20 12:43:22 +0530 |
| commit | e286c21c27c303a45fbcf5eaf7a42effed71d0a1 (patch) | |
| tree | 42cea6f368d1577b862debc538bbeebb879a9385 /addons/project_long_term/project_long_term.py | |
| parent | f8fbe8bbfb9021aeb54957b1931d1a4cb8699f3f (diff) | |
[IMP] project_long_term : Added new warning for the Phase Scheduling when invalid resource allocation done by user
bzr revid: jam@tinyerp.com-20110120071322-b638ot2x2cth9lam
Diffstat (limited to 'addons/project_long_term/project_long_term.py')
| -rw-r--r-- | addons/project_long_term/project_long_term.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index f8b91a200b5..ecc47a50f9d 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -444,6 +444,26 @@ class project(osv.osv): data_pool = self.pool.get('ir.model.data') resource_allocation_pool = self.pool.get('project.resource.allocation') data_model, day_uom_id = data_pool.get_object_reference(cr, uid, 'product', 'uom_day') + + #Checking the Valid Phase resource allocation from project member + for project in self.browse(cr, uid, ids, context=context): + flag = False + res_msg = '' + memebrs_ids = [] + resource_user_ids = [] + if project.members: + memebrs_ids = [use.id for use in project.members] + phase_ids = phase_pool.search(cr, uid, [('project_id', '=', project.id)], context=context) + if phase_ids: + for phase in phase_pool.browse(cr, uid, phase_ids, context=context): + if phase.resource_ids: + res_ids = [ re.id for re in phase.resource_ids] + for res in resource_allocation_pool.browse(cr, uid,res_ids, context=context): + if res.resource_id.user_id.id not in memebrs_ids: + res_msg += " '%s' %s , "%(res.resource_id.name,res.resource_id.user_id.name) + flag = True + if flag: + raise osv.except_osv(_('Warning !'),_("Resource %s is/are not Members of the Project '%s' .")%(res_msg[:-3], project.name)) for project in self.browse(cr, uid, ids, context=context): root_phase_ids = phase_pool.search(cr, uid, [('project_id', '=', project.id), |
