diff options
| author | ron@tinyerp.com <> | 2010-10-12 18:51:51 +0530 |
|---|---|---|
| committer | ron@tinyerp.com <> | 2010-10-12 18:51:51 +0530 |
| commit | 802541e5c78daac2cfc2a1273780193306ba5522 (patch) | |
| tree | 811478ceefc9cbcf729fc52b960000f0f714c5e0 /addons/project_long_term/project_long_term.py | |
| parent | e848ed0cf4133f3c0827e81d13527dd1dbfa07e6 (diff) | |
[IMP] Project->Long Term Planning--Changes Demo data for user:Projects Phases--Useability should be availablity,rename group by user into responsible and default group on project,top area field arrange:Resources Allocations--change icon in group by Project and resource
bzr revid: ron@tinyerp.com-20101012132151-39z9a08pwj71c7pt
Diffstat (limited to 'addons/project_long_term/project_long_term.py')
| -rw-r--r-- | addons/project_long_term/project_long_term.py | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index 2caf36766b0..e843c6952a7 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -91,7 +91,7 @@ class project_phase(osv.osv): model_data_obj = self.pool.get('ir.model.data') model_data_id = model_data_obj._get_id(cr, uid, 'product', 'uom_hour') return model_data_obj.read(cr, uid, [model_data_id], ['res_id'])[0]['res_id'] - + def _compute(self, cr, uid, ids, context=None): res = {} if not ids: @@ -145,7 +145,7 @@ class project_phase(osv.osv): project_id = project_obj.browse(cr, uid, project, context=context) result['date_start'] = project_id.date_start return {'value': result} - + def onchange_days(self, cr, uid, ids, project, context=None): result = {} for id in ids: @@ -221,7 +221,7 @@ class project_phase(osv.osv): cal_id = resource_obj.browse(cr, uid, resource_id[0], context=context).calendar_id.id if cal_id: calendar_id = cal_id - + avg_hours = uom_obj._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) # Change the date_start and date_end # for previous and next phases respectively based on valid condition @@ -234,7 +234,7 @@ class project_phase(osv.osv): if prv_phase.id == phase.id: continue self._check_date_start(cr, uid, prv_phase, dt_start, context=context) - + if vals.get('date_end', False) and vals['date_end'] > phase.date_end: dt_end = datetime.strptime(vals['date_end'], '%Y-%m-%d') work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, avg_hours or 0.0, resource_id and resource_id[0] or False) @@ -244,7 +244,7 @@ class project_phase(osv.osv): if next_phase.id == phase.id: continue self._check_date_end(cr, uid, next_phase, dt_end, context=context) - + return res def copy(self, cr, uid, id, default=None, context=None): @@ -295,7 +295,7 @@ class project_phase(osv.osv): Schedule phase with the start date till all the next phases are completed. @param: start_dsate : start date for the phase @param: calendar_id : working calendar of the project - """ + """ if context is None: context = {} resource_pool = self.pool.get('resource.resource') @@ -306,7 +306,7 @@ class project_phase(osv.osv): for phase in self.browse(cr, uid, ids, context=context): if not phase.responsible_id: raise osv.except_osv(_('No responsible person assigned !'),_("You must assign a responsible person for phase '%s' !") % (phase.name,)) - + phase_resource_obj = resource_pool.generate_resources(cr, uid, [phase.responsible_id.id], calendar_id, context=context) avg_hours = uom_pool._compute_qty(cr, uid, phase.product_uom.id, phase.duration, default_uom_id) duration = str(avg_hours) + 'H' @@ -371,7 +371,7 @@ class project_phase(osv.osv): if not start_date and phase.project_id.date_start: start_date = phase.project_id.date_start if not start_date: - start_date = datetime.now().strftime("%Y-%m-%d") + start_date = datetime.now().strftime("%Y-%m-%d") resources = resources_list.get(phase.id, []) calendar_id = phase.project_id.resource_calendar_id.id task_ids = map(lambda x : x.id, (filter(lambda x : x.state in ['open', 'draft', 'pending'] , phase.task_ids))) @@ -398,7 +398,7 @@ class project_resource_allocation(osv.osv): '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%)"), + 'useability': fields.float('Availability', help="Usability of this resource for this project phase in percentage (=50%)"), } _defaults = { 'useability': 100, @@ -460,19 +460,19 @@ class project(osv.osv): resource_pool = self.pool.get('resource.resource') if context is None: context = {} - + resources_list = self.generate_members(cr, uid, ids, context=context) return_msg = {} for project in self.browse(cr, uid, ids, context=context): start_date = project.date_start if not start_date: - start_date = datetime.now().strftime("%Y-%m-%d") + start_date = datetime.now().strftime("%Y-%m-%d") resources = resources_list.get(project.id, []) calendar_id = project.resource_calendar_id.id task_ids = task_pool.search(cr, uid, [('project_id', '=', project.id), ('state', 'in', ['draft', 'open', 'pending']) ]) - + if task_ids: task_pool.generate_schedule(cr, uid, task_ids, resources, calendar_id, start_date, context=context) @@ -483,7 +483,7 @@ class project(osv.osv): else: return_msg["warning"] = return_msg["warning"] + "\n" + warning_msg - return return_msg + return return_msg project() @@ -506,7 +506,7 @@ class project_task(osv.osv): _columns = { 'phase_id': fields.many2one('project.phase', 'Project Phase'), } - + def generate_schedule(self, cr, uid, ids, resources, calendar_id, start_date, context=None): """ Schedule the tasks according to resource available and priority. @@ -556,10 +556,10 @@ class project_task(osv.osv): if task_resource.__name__ == task_resource: real_resource = task_resource break - + task = create_tasks(task_number, hours, priorty, real_resource) task_number += 1 - + face_projects = Task.BalancedProject(Project) loop_no = 0 |
