diff options
| author | mra (Open ERP) <mra@tinyerp.com> | 2010-04-06 16:20:01 +0530 |
|---|---|---|
| committer | mra (Open ERP) <mra@tinyerp.com> | 2010-04-06 16:20:01 +0530 |
| commit | 5c6f3c1e58aa0d864ed2bc8608e6e5c888a6765b (patch) | |
| tree | f711bfbba19ec440104e9ba0e879e9fc2cb687b9 /addons/project_long_term | |
| parent | 3ef0fea250076f6f4763886ea10dbba40f187829 (diff) | |
[ADD] Project_long_term: compute phase tasks date wizard => osv memory convert
bzr revid: mra@tinyerp.com-20100406105001-6pluzi9wopa3ewot
Diffstat (limited to 'addons/project_long_term')
| -rw-r--r-- | addons/project_long_term/__terp__.py | 3 | ||||
| -rw-r--r-- | addons/project_long_term/project_long_term_wizard.xml | 6 | ||||
| -rw-r--r-- | addons/project_long_term/wizard/__init__.py | 2 | ||||
| -rw-r--r-- | addons/project_long_term/wizard/project_compute_tasks.py (renamed from addons/project_long_term/wizard/compute_tasks_date.py) | 63 | ||||
| -rw-r--r-- | addons/project_long_term/wizard/project_compute_tasks_view.xml | 35 |
5 files changed, 63 insertions, 46 deletions
diff --git a/addons/project_long_term/__terp__.py b/addons/project_long_term/__terp__.py index 8fa928833fd..817263de17e 100644 --- a/addons/project_long_term/__terp__.py +++ b/addons/project_long_term/__terp__.py @@ -43,7 +43,8 @@ "project_long_term_wizard.xml" , "project_long_term_view.xml", "project_long_term_workflow.xml", - "wizard/project_compute_phases_view.xml" + "wizard/project_compute_phases_view.xml", + "wizard/project_compute_tasks_view.xml" ], 'installable': True, 'active': False, diff --git a/addons/project_long_term/project_long_term_wizard.xml b/addons/project_long_term/project_long_term_wizard.xml index 927b43d196c..1469661c817 100644 --- a/addons/project_long_term/project_long_term_wizard.xml +++ b/addons/project_long_term/project_long_term_wizard.xml @@ -4,7 +4,7 @@ <!--<wizard id="wizard_compute_phase" menu="False" model="project.phase" name="wizard.compute.phases" string="Compute Phase Scheduling"/>--> <wizard id="wizard_schedule_task" menu="False" model="project.phase" name="phase.schedule.tasks" string="Schedule Tasks"/> - <wizard id="wizard_compute_task" model="project.task" menu="False" name="wizard.compute.tasks" string="Compute Task Scheduling"/> + <!--<wizard id="wizard_compute_task" model="project.task" menu="False" name="wizard.compute.tasks" string="Compute Task Scheduling"/>--> <menuitem icon="terp-project" id="base.menu_main" name="Project Management" sequence="1"/> <menuitem id="base.menu_pm_planning" name="Planning" parent="base.menu_main" sequence="3"/> @@ -15,12 +15,12 @@ type="wizard" sequence="1"/> --> - <menuitem +<!-- <menuitem action="wizard_compute_task" id="menu_wizard_compute_task" parent="base.menu_pm_planning" type="wizard" sequence="1"/> - +--> </data> </openerp> diff --git a/addons/project_long_term/wizard/__init__.py b/addons/project_long_term/wizard/__init__.py index b046ea6d97c..63a69582281 100644 --- a/addons/project_long_term/wizard/__init__.py +++ b/addons/project_long_term/wizard/__init__.py @@ -20,7 +20,7 @@ ############################################################################## import project_compute_phases -import compute_tasks_date +import project_compute_tasks import schedule_tasks import working_calendar diff --git a/addons/project_long_term/wizard/compute_tasks_date.py b/addons/project_long_term/wizard/project_compute_tasks.py index 77e7bbd6512..90d2b428580 100644 --- a/addons/project_long_term/wizard/compute_tasks_date.py +++ b/addons/project_long_term/wizard/project_compute_tasks.py @@ -23,38 +23,32 @@ from resource.faces import * from new import classobj import operator -import working_calendar as wkcal - -import wizard -import pooler from tools.translate import _ +from osv import osv, fields -compute_form = """<?xml version="1.0" ?> -<form string="Compute Scheduling of Tasks"> - <field name="project_id" colspan="4"/> -</form>""" - -success_msg = """<?xml version="1.0" ?> -<form string="Compute Scheduling of Tasks"> - <label string="Task Scheduling completed successfully."/> -</form>""" - -compute_fields = { - 'project_id': {'string':'Project', 'type':'many2one', 'relation':'project.project', 'required':True}, -} +import working_calendar as wkcal -class wizard_compute_tasks(wizard.interface): +class project_compute_tasks(osv.osv_memory): + _name = 'project.compute.tasks' + _description = 'Project Compute Tasks' + _columns = { + 'project_id': fields.many2one('project.project', 'Project', required=True) + } - def _compute_date(self, cr, uid, data, context): + def compute_date(self, cr, uid, ids, context=None): """ Schedule the tasks according to resource available and priority. """ - pool = pooler.get_pool(cr.dbname) - project_obj = pool.get('project.project') - task_pool = pool.get('project.task') - resource_obj = pool.get('resource.resource') - user_obj = pool.get('res.users') - project_id = data['form']['project_id'] + project_obj = self.pool.get('project.project') + task_pool = self.pool.get('project.task') + resource_obj = self.pool.get('resource.resource') + user_obj = self.pool.get('res.users') + + if context is None: + context = {} + + data = self.read(cr, uid, ids, [])[0] + project_id = data['project_id'] project = project_obj.browse(cr, uid, project_id, context=context) task_ids = task_pool.search(cr, uid, [('project_id', '=', project_id), ('state', 'in', ['draft', 'open', 'pending']) @@ -106,7 +100,7 @@ class wizard_compute_tasks(wizard.interface): try: resource = reduce(operator.or_, resources) except: - raise wizard.except_wizard(_('Error'), _('Project must have members assigned !')) + raise osv.except_osv(_('Error'), _('Project must have members assigned !')) minimum_time_unit = 1 if calendar_id: # If project has calendar working_days = wkcal.compute_working_calendar(cr, uid, calendar_id) @@ -142,20 +136,7 @@ class wizard_compute_tasks(wizard.interface): 'user_id': user_id[0]}, context=ctx) loop_no +=1 - return {} + return {} #improve me => Task Scheduling completed successfully => give this msg at end of wizard - states = { - 'init': { - 'actions': [], - 'result': {'type': 'form', 'arch': compute_form, 'fields': compute_fields, 'state': [ - ('end', 'Cancel', 'gtk-cancel'), - ('compute', 'Compute', 'gtk-ok', True) - ]}, - }, - 'compute': { - 'actions': [_compute_date], - 'result': {'type': 'form','arch': success_msg,'fields': {}, 'state': [('end', 'Ok')]}, - } - } -wizard_compute_tasks('wizard.compute.tasks') +project_compute_tasks() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file diff --git a/addons/project_long_term/wizard/project_compute_tasks_view.xml b/addons/project_long_term/wizard/project_compute_tasks_view.xml new file mode 100644 index 00000000000..3b03f20fe1e --- /dev/null +++ b/addons/project_long_term/wizard/project_compute_tasks_view.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + + <record id="view_project_compute_tasks" model="ir.ui.view"> + <field name="name">Compute Task Scheduling</field> + <field name="model">project.compute.tasks</field> + <field name="type">form</field> + <field name="arch" type="xml"> + <form string="Compute Scheduling of Phases"> + <field name="project_id"/> + <group colspan="4" col="6"> + <button icon="gtk-cancel" special="cancel" string="_Cancel"/> + <button icon="gtk-ok" name="compute_date" string="Compute" type="object"/> + </group> + </form> + </field> + </record> + + <record id="action_project_compute_tasks" model="ir.actions.act_window"> + <field name="name">Compute Task Scheduling</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">project.compute.tasks</field> + <field name="view_type">form</field> + <field name="view_mode">form</field> + <field name="view_id" ref="view_project_compute_tasks"/> + <field name="context">{'record_id' : active_id}</field> + <field name="target">new</field> + </record> + + <menuitem id="menu_compute_tasks" name="Compute Task Scheduling" + parent="base.menu_pm_planning" action="action_project_compute_tasks"/> + + </data> +</openerp>
\ No newline at end of file |
