diff options
| author | uco (OpenERP) <uco@tinyerp.com> | 2010-05-19 10:40:58 +0530 |
|---|---|---|
| committer | uco (OpenERP) <uco@tinyerp.com> | 2010-05-19 10:40:58 +0530 |
| commit | 5ecb42ccd8654193dd6779a52f03658e8dc8af88 (patch) | |
| tree | 7fcce6261b242a85a633b70c04fcf97157119390 /addons/project_long_term | |
| parent | 6ec34eceb486c8427aeb0fb03d9aba0138dbe070 (diff) | |
| parent | 67133e1dc40682ec11cf387c4ae576ee6d0752f7 (diff) | |
[MERGE]
bzr revid: uco@tinyerp.com-20100519051058-a5hfrptrt5q2i37u
Diffstat (limited to 'addons/project_long_term')
6 files changed, 27 insertions, 28 deletions
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index deff634aa68..a925aeeb7aa 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -85,8 +85,8 @@ class project_phase(osv.osv): _columns = { 'name': fields.char("Phase Name", size=64, required=True), - 'date_start': fields.datetime('Starting Date'), - 'date_end': fields.datetime('End Date'), + 'date_start': fields.datetime('Starting Date', help="Start date of the phase"), + 'date_end': fields.datetime('End Date', help="End date of the phase"), 'constraint_date_start': fields.datetime('Start Date', help='force the phase to start after this date'), 'constraint_date_end': fields.datetime('End Date', help='force the phase to finish before this date'), 'project_id': fields.many2one('project.project', 'Project', required=True), @@ -104,8 +104,8 @@ class project_phase(osv.osv): } _defaults = { 'responsible_id': lambda obj,cr,uid,context: uid, - 'state': lambda *a: 'draft', - 'sequence': lambda *a: 10, + 'state': 'draft', + 'sequence': 10, } _order = "name" _constraints = [ @@ -237,7 +237,7 @@ class project_resource_allocation(osv.osv): 'useability': fields.float('Useability', help="Useability of this ressource for this project phase in percentage (=50%)"), } _defaults = { - 'useability': lambda *a: 100, + 'useability': 100, } project_resource_allocation() @@ -261,7 +261,7 @@ class task(osv.osv): 'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'), } _defaults = { - 'occupation_rate':lambda *a: '1' + 'occupation_rate': '1' } def onchange_planned(self, cr, uid, ids, project, user_id=False, planned=0.0, effective=0.0, date_start=None, occupation_rate=0.0): @@ -350,22 +350,22 @@ class task(osv.osv): # Change the date_start and date_end # for previous and next tasks respectively based on valid condition - if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start: - dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S') - work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False) - if work_times: - vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') - for prv_task in task_rec.parent_ids: - self._check_date_start(cr, uid, prv_task, dt_start) - if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end: - dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S') - work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False) - if work_times: - vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S') - for next_task in task_rec.child_ids: - self._check_date_end(cr, uid, next_task, dt_end) + if vals.get('date_start', False) and vals['date_start'] < task_rec.date_start: + dt_start = mx.DateTime.strptime(vals['date_start'], '%Y-%m-%d %H:%M:%S') + work_times = resource_calendar_obj.interval_get(cr, uid, calendar_id, dt_start, hrs or 0.0, resource.id or False) + if work_times: + vals['date_end'] = work_times[-1][1].strftime('%Y-%m-%d %H:%M:%S') + for prv_task in task_rec.parent_ids: + self._check_date_start(cr, uid, prv_task, dt_start) + if vals.get('date_end', False) and vals['date_end'] > task_rec.date_end: + dt_end = mx.DateTime.strptime(vals['date_end'], '%Y-%m-%d %H:%M:%S') + work_times = resource_calendar_obj.interval_min_get(cr, uid, calendar_id, dt_end, hrs or 0.0, resource.id or False) + if work_times: + vals['date_start'] = work_times[0][0].strftime('%Y-%m-%d %H:%M:%S') + for next_task in task_rec.child_ids: + self._check_date_end(cr, uid, next_task, dt_end) return super(task, self).write(cr, uid, ids, vals, context=context) task() -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml index ae06ebb3b71..fafc2a14aa4 100644 --- a/addons/project_long_term/project_long_term_view.xml +++ b/addons/project_long_term/project_long_term_view.xml @@ -204,9 +204,7 @@ <field name="project_id" widget="selection"> <filter domain="[('project_id.user_id','=',uid)]" help="My Projects" icon="terp-project"/> </field> - <field name="responsible_id" widget="selection"> - <filter domain="[('responsible_id','=',uid)]" help="My Phase" icon="gtk-execute" default="1"/> - </field> + <field name="responsible_id" widget="selection"/> <field name="date_start"/> </group> <newline/> @@ -225,6 +223,7 @@ <field name="res_model">project.phase</field> <field name="view_type">form</field> <field name="view_mode">tree,form,calendar,gantt</field> + <field name="context">{'search_default_responsible_id':uid}</field> <field name="search_view_id" ref="view_project_phase_search"/> </record> diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py index ddf8ba315c0..5353db25be6 100644 --- a/addons/project_long_term/wizard/project_compute_phases.py +++ b/addons/project_long_term/wizard/project_compute_phases.py @@ -48,7 +48,6 @@ class project_compute_phases(osv.osv_memory): return self.compute_date(cr, uid, ids, context=context) def _phase_schedule(self, cr, uid, phase, start_date, calendar_id=False, context=None): - """Schedule phase with the start date till all the next phases are completed. Arguements: start_dsate -- start date for the phase diff --git a/addons/project_long_term/wizard/project_compute_phases_view.xml b/addons/project_long_term/wizard/project_compute_phases_view.xml index 900112ba409..4b4e01a72a9 100644 --- a/addons/project_long_term/wizard/project_compute_phases_view.xml +++ b/addons/project_long_term/wizard/project_compute_phases_view.xml @@ -13,6 +13,7 @@ <group colspan="4" col="6" attrs="{'invisible':[('target_project','=','all')]}"> <field name="project_id"/> </group> + <separator colspan="4"/> <group colspan="4" col="6"> <!-- Improve me --> <button icon="gtk-cancel" special="cancel" string="_Cancel"/> <button icon="gtk-ok" name="check_selection" string="_Compute" type="object"/> diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py index 90d2b428580..b86f9d862c9 100644 --- a/addons/project_long_term/wizard/project_compute_tasks.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -132,7 +132,7 @@ class project_compute_tasks(osv.osv_memory): ctx.update({'scheduler': True}) user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)]) task_pool.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), - 'date_deadline': e_date.strftime('%Y-%m-%d %H:%M:%S'), + 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), 'user_id': user_id[0]}, context=ctx) loop_no +=1 diff --git a/addons/project_long_term/wizard/project_schedule_tasks.py b/addons/project_long_term/wizard/project_schedule_tasks.py index 2d0071547be..8ec2d4c16e0 100644 --- a/addons/project_long_term/wizard/project_schedule_tasks.py +++ b/addons/project_long_term/wizard/project_schedule_tasks.py @@ -65,7 +65,7 @@ class project_schedule_task(osv.osv_memory): {'__doc__': res.user_id.name, '__name__': res.user_id.name, 'vacation': tuple(leaves), - 'efficiency': resource_eff + 'efficiency': resource_eff, })) return resource_objs @@ -149,7 +149,7 @@ class project_schedule_task(osv.osv_memory): ctx.update({'scheduler': True}) user_id = user_obj.search(cr, uid, [('name', '=', t.booked_resource[0].__name__)]) task_obj.write(cr, uid, [tasks[loop_no-1].id], {'date_start': s_date.strftime('%Y-%m-%d %H:%M:%S'), - 'date_deadline': e_date.strftime('%Y-%m-%d %H:%M:%S'), + 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), 'user_id': user_id[0]}, context=ctx) loop_no +=1 |
