diff options
| author | Mustufa Rangwala <mra@mra-laptop> | 2010-07-02 20:15:03 +0530 |
|---|---|---|
| committer | Mustufa Rangwala <mra@mra-laptop> | 2010-07-02 20:15:03 +0530 |
| commit | 2d63bd763496a9b7399d02ca2a4e1e9790442fcb (patch) | |
| tree | a8f1655a658bed949f044c723e43b952d812222b /addons/project_long_term/wizard | |
| parent | 8c8a9c4b92b7901d2871e3a50decca9689c0c96e (diff) | |
| parent | db470305838faecdf26e5535b890b86f7aab2931 (diff) | |
[MERGE] Merge Team3 work from addons3 branch
bzr revid: mra@mra-laptop-20100702144503-0yynbrlkxn0v76lt
Diffstat (limited to 'addons/project_long_term/wizard')
8 files changed, 45 insertions, 30 deletions
diff --git a/addons/project_long_term/wizard/__init__.py b/addons/project_long_term/wizard/__init__.py index fb8a29449f7..5056cad3b77 100644 --- a/addons/project_long_term/wizard/__init__.py +++ b/addons/project_long_term/wizard/__init__.py @@ -25,4 +25,3 @@ import project_schedule_tasks import working_calendar # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_long_term/wizard/project_compute_phases.py b/addons/project_long_term/wizard/project_compute_phases.py index ce2e2c0bbb1..3b4ac2d7b23 100644 --- a/addons/project_long_term/wizard/project_compute_phases.py +++ b/addons/project_long_term/wizard/project_compute_phases.py @@ -18,6 +18,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## + import datetime from resource.faces import * from new import classobj @@ -48,6 +49,8 @@ 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): + if context is None: + context = {} """Schedule phase with the start date till all the next phases are completed. Arguements: start_dsate -- start date for the phase @@ -118,7 +121,7 @@ class project_compute_phases(osv.osv_memory): context=ctx) # Recursive call till all the next phases scheduled for phase in phase.next_phase_ids: - if phase.state in ['draft','open','pending']: + if phase.state in ['draft', 'open', 'pending']: id_cal = phase.project_id.resource_calendar_id and phase.project_id.resource_calendar_id.id or False self._phase_schedule(cr, uid, phase, date_start, id_cal, context=context) else: 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 6bbb01ca7e4..8a9ce15e772 100644 --- a/addons/project_long_term/wizard/project_compute_phases_view.xml +++ b/addons/project_long_term/wizard/project_compute_phases_view.xml @@ -9,20 +9,20 @@ <field name="arch" type="xml"> <form string="Compute Scheduling of Phases"> <group width="380" height="180"> - <group colspan="4" col="4"> - <label colspan="4" string="This wizard will schedule phases for all or specified project" /> - <newline /> - <field name="target_project" colspan="4"/> - </group> - <newline /> - <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"/> - </group> + <group colspan="4" col="4"> + <label colspan="4" string="This wizard will schedule phases for all or specified project" /> + <newline /> + <field name="target_project" colspan="4"/> + </group> + <newline /> + <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"/> + </group> </group> </form> </field> @@ -35,7 +35,7 @@ <field name="view_type">form</field> <field name="view_mode">form</field> <field name="view_id" ref="view_project_compute_phases_select"/> - <field name="context">{'record_id' : active_id}</field> + <field name="context">{'record_id': active_id}</field> <field name="target">new</field> </record> @@ -43,4 +43,4 @@ parent="menu_phase_schedule" action="action_project_compute_phases"/> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project_long_term/wizard/project_compute_tasks.py b/addons/project_long_term/wizard/project_compute_tasks.py index bd569abf90e..f7f1c9dc613 100644 --- a/addons/project_long_term/wizard/project_compute_tasks.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -69,7 +69,7 @@ class project_compute_tasks(osv.osv_memory): resource_id = resource_obj.search(cr, uid, [('user_id', '=', user.id)], context=context) if resource_id: # resource = resource_obj.browse(cr, uid, resource_id, context=context)[0] - resource = resource_obj.read(cr, uid, resource_id, ['calendar_id','time_efficiency'], context=context)[0] + resource = resource_obj.read(cr, uid, resource_id, ['calendar_id', 'time_efficiency'], context=context)[0] if resource.get('calendar_id', False): leaves = wkcal.compute_leaves(cr, uid, calendar_id , resource_id[0], resource['calendar_id'] and resource['calendar_id'][0] or False) time_efficiency = resource.get('time_efficiency') @@ -126,7 +126,7 @@ class project_compute_tasks(osv.osv_memory): s_date = t.start.to_datetime() e_date = t.end.to_datetime() if loop_no == 0: - project_obj.write(cr, uid, [project_id], {'date' : e_date}, context=context) + project_obj.write(cr, uid, [project_id], {'date': e_date}, context=context) else: ctx = context.copy() ctx.update({'scheduler': True}) diff --git a/addons/project_long_term/wizard/project_compute_tasks_view.xml b/addons/project_long_term/wizard/project_compute_tasks_view.xml index eff475b4f11..bf6fe379048 100644 --- a/addons/project_long_term/wizard/project_compute_tasks_view.xml +++ b/addons/project_long_term/wizard/project_compute_tasks_view.xml @@ -34,4 +34,4 @@ parent="menu_phase_schedule" action="action_project_compute_tasks"/> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project_long_term/wizard/project_schedule_tasks.py b/addons/project_long_term/wizard/project_schedule_tasks.py index 78ad2166698..f0ad7c51dae 100644 --- a/addons/project_long_term/wizard/project_schedule_tasks.py +++ b/addons/project_long_term/wizard/project_schedule_tasks.py @@ -40,6 +40,8 @@ class project_schedule_task(osv.osv_memory): } def default_get(self, cr, uid, fields_list, context=None): + if context is None: + context = {} res = super(project_schedule_task, self).default_get(cr, uid, fields_list, context) self.compute_date(cr, uid, context=context) return res @@ -70,6 +72,8 @@ class project_schedule_task(osv.osv_memory): return resource_objs def compute_date(self, cr, uid, context=None): + if context is None: + context = {} """ Schedule the tasks according to resource available and priority. """ @@ -152,7 +156,7 @@ class project_schedule_task(osv.osv_memory): 'date_end': e_date.strftime('%Y-%m-%d %H:%M:%S'), 'user_id': user_id[0]}, context=ctx) - loop_no +=1 + loop_no += 1 return {} project_schedule_task() diff --git a/addons/project_long_term/wizard/project_schedule_tasks_view.xml b/addons/project_long_term/wizard/project_schedule_tasks_view.xml index b62a3c107d9..f8e2f2d828b 100644 --- a/addons/project_long_term/wizard/project_schedule_tasks_view.xml +++ b/addons/project_long_term/wizard/project_schedule_tasks_view.xml @@ -25,9 +25,9 @@ <field name="view_type">form</field> <field name="view_mode">form</field> <field name="view_id" ref="view_project_schedule_tasks"/> - <field name="context">{'record_id' : active_id}</field> + <field name="context">{'record_id': active_id}</field> <field name="target">new</field> </record> </data> -</openerp>
\ No newline at end of file +</openerp> diff --git a/addons/project_long_term/wizard/working_calendar.py b/addons/project_long_term/wizard/working_calendar.py index ba8ec7db150..d52bd54b437 100644 --- a/addons/project_long_term/wizard/working_calendar.py +++ b/addons/project_long_term/wizard/working_calendar.py @@ -18,21 +18,27 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## + import datetime import pooler -def convert_timeformat(cr, uid, time_string, context={}): +def convert_timeformat(cr, uid, time_string, context=None): + if context is None: + context = {} """ Convert input time string: 8.5 to output time string 8:30.""" split_list = str(time_string).split('.') hour_part = split_list[0] mins_part = split_list[1] - round_mins = int(round(float(mins_part) * 60,-2)) + round_mins = int(round(float(mins_part) * 60,-2)) converted_string = hour_part + ':' + str(round_mins)[0:2] return converted_string -def compute_leaves(cr, uid, calendar_id, resource_id=False, resource_calendar=False, context={}): +def compute_leaves(cr, uid, calendar_id, resource_id=False, resource_calendar=False, context=None): + + if context is None: + context = {} """Compute the leaves from the working calendar of the resource. @@ -63,7 +69,10 @@ def compute_leaves(cr, uid, calendar_id, resource_id=False, resource_calendar=Fa leave_list.sort() return leave_list -def compute_working_calendar(cr, uid, calendar_id, context={}): +def compute_working_calendar(cr, uid, calendar_id, context=None): + + if context is None: + context = {} """Change the format of working calendar from 'Openerp' format to bring it into 'Faces' format. @@ -103,7 +112,7 @@ def compute_working_calendar(cr, uid, calendar_id, context={}): for k,v in wk_time.items(): wktime_cal.append(tuple(v)) # Add for the non-working days like: [('sat, sun', '8:00-8:00')] - for k,v in wk_days.items(): + for k, v in wk_days.items(): if week_days.has_key(k): week_days.pop(k) for v in week_days.itervalues(): @@ -111,4 +120,4 @@ def compute_working_calendar(cr, uid, calendar_id, context={}): if non_working: wktime_cal.append((non_working[:-1], time_range)) return wktime_cal -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
