[imp] changed state of data in demo deta by calling methods and improved code of methods

bzr revid: han@tinyerp.com-20111111133314-r5hlk85oqrxjecr5
This commit is contained in:
Hardik Ansodariy (OpenERP)
2011-11-11 19:03:14 +05:30
parent 2603b23c14
commit 929f4bb978
2 changed files with 77 additions and 52 deletions
+38 -38
View File
@@ -624,37 +624,39 @@ class task(osv.osv):
Close Task
"""
request = self.pool.get('res.request')
for task in self.browse(cr, uid, ids, context=context):
vals = {}
project = task.project_id
if project:
# Send request to project manager
if project.warn_manager and project.user_id and (project.user_id.id != uid):
request.create(cr, uid, {
'name': _("Task '%s' closed") % task.name,
'state': 'waiting',
'act_from': uid,
'act_to': project.user_id.id,
'ref_partner_id': task.partner_id.id,
'ref_doc1': 'project.task,%d'% (task.id,),
'ref_doc2': 'project.project,%d'% (project.id,),
}, context=context)
# calling do_close from demo data it returns id in string therefor need to convert in list
if not isinstance(ids,list): ids = [ids]
task = self.browse(cr, uid, ids, context=context)[0]
vals = {}
project = task.project_id
if project:
# Send request to project manager
if project.warn_manager and project.user_id and (project.user_id.id != uid):
request.create(cr, uid, {
'name': _("Task '%s' closed") % task.name,
'state': 'waiting',
'act_from': uid,
'act_to': project.user_id.id,
'ref_partner_id': task.partner_id.id,
'ref_doc1': 'project.task,%d'% (task.id,),
'ref_doc2': 'project.project,%d'% (project.id,),
}, context=context)
for parent_id in task.parent_ids:
if parent_id.state in ('pending','draft'):
reopen = True
for child in parent_id.child_ids:
if child.id != task.id and child.state not in ('done','cancelled'):
reopen = False
if reopen:
self.do_reopen(cr, uid, [parent_id.id], context=context)
vals.update({'state': 'done'})
vals.update({'remaining_hours': 0.0})
if not task.date_end:
vals.update({ 'date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
self.write(cr, uid, [task.id],vals, context=context)
message = _("The task '%s' is done") % (task.name,)
self.log(cr, uid, task.id, message)
for parent_id in task.parent_ids:
if parent_id.state in ('pending','draft'):
reopen = True
for child in parent_id.child_ids:
if child.id != task.id and child.state not in ('done','cancelled'):
reopen = False
if reopen:
self.do_reopen(cr, uid, [parent_id.id], context=context)
vals.update({'state': 'done'})
vals.update({'remaining_hours': 0.0})
if not task.date_end:
vals.update({ 'date_end':time.strftime('%Y-%m-%d %H:%M:%S')})
self.write(cr, uid, [task.id],vals, context=context)
message = _("The task '%s' is done") % (task.name,)
self.log(cr, uid, task.id, message)
return True
def do_reopen(self, cr, uid, ids, context=None):
@@ -698,14 +700,12 @@ class task(osv.osv):
return True
def do_open(self, cr, uid, ids, context={}):
tasks= self.browse(cr, uid, ids, context=context)
for t in tasks:
data = {'state': 'open'}
if not t.date_start:
data['date_start'] = time.strftime('%Y-%m-%d %H:%M:%S')
self.write(cr, uid, [t.id], data, context=context)
message = _("The task '%s' is opened.") % (t.name,)
self.log(cr, uid, t.id, message)
# calling do_open from demo data it returns id in string therefor need to convert in list
if not isinstance(ids,list): ids = [ids]
task = self.browse(cr, uid, ids, context=context)[0]
self.write(cr, uid, [task.id], {'state': 'open'}, context=context)
message = _("The task '%s' is opened.") % (task.name)
self.log(cr, uid, task.id, message)
return True
def do_draft(self, cr, uid, ids, context={}):
+39 -14
View File
@@ -171,6 +171,8 @@
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
</record>
<function model="project.task" name="do_close" eval="[ref('project_task_11')]"/>
<record id="project_task_12" model="project.task">
<field eval="20.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
@@ -178,10 +180,11 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Integrate Modules</field>
<field name="type_id" ref="project_tt_merge"/>
<field name="state">done</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_end"/>
</record>
<function model="project.task" name="do_close" eval="[ref('project_task_12')]"/>
<record id="project_task_13" model="project.task">
<field eval="50.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_tester"/>
@@ -192,6 +195,8 @@
<field name="state">pending</field>
</record>
<function model="project.task" name="do_pending" eval="[ref('project_task_13')]"/>
<record id="project_task_14" model="project.task">
<field eval="30.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_tester"/>
@@ -202,6 +207,8 @@
<field name="state">pending</field>
</record>
<function model="project.task" name="do_pending" eval="[ref('project_task_14')]"/>
<record id="project_task_15" model="project.task">
<field eval="15.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_developer"/>
@@ -209,10 +216,11 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Documentation</field>
<field name="type_id" ref="project_tt_specification"/>
<field name="state">open</field>
<field name="date_start">06-02-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_15')]"/>
<record id="project_task_16" model="project.task">
<field eval="10" name="sequence"/>
<field eval="40.0" name="planned_hours"/>
@@ -221,10 +229,11 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Performance Tuning</field>
<field name="type_id" ref="project_tt_specification"/>
<field name="state">open</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_start"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_16')]"/>
<record id="project_task_17" model="project.task">
<field eval="5.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
@@ -232,10 +241,11 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Deploy and Review on Customer System</field>
<field name="type_id" ref="project_tt_specification"/>
<field name="state">open</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_start"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_17')]"/>
<record id="project_task_18" model="project.task">
<field eval="10.0" name="planned_hours"/>
<field name="user_id" ref="project.res_users_analyst"/>
@@ -243,10 +253,10 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
<field name="name">Training and Presentation</field>
<field name="type_id" ref="project_tt_specification"/>
<field name="state">open</field>
<field name="date_start">09-21-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_18')]"/>
<!--
Resource: project.project
-->
@@ -299,9 +309,11 @@
<field name="project_id" ref="project_project_22"/>
<field name="description">BoM, After sales returns, interventions. Traceability.</field>
<field name="name">Specific adaptation to MRP</field>
<field name="state">open</field>
<field name="date_start">12-18-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_116')]"/>
<record id="project_task_130" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
@@ -309,9 +321,11 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Data importation + Doc</field>
<field name="state">open</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_start"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_130')]"/>
<record id="project_task_131" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
@@ -319,9 +333,11 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Modifications asked by the customer.</field>
<field name="state">open</field>
<field name="date_start">08-13-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_131')]"/>
<record id="project_task_184" model="project.task">
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
@@ -330,9 +346,11 @@
<field name="priority">0</field>
<field name="project_id" ref="project_project_21"/>
<field name="name">Customer analysis + Architecture</field>
<field name="state">open</field>
<field name="date_start">12-17-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_184')]"/>
<record id="project_task_186" model="project.task">
<field name="sequence">15</field>
<field name="planned_hours">8.0</field>
@@ -341,9 +359,11 @@
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project_project_21"/>
<field name="name">Internal testing + Software Install</field>
<field name="state">open</field>
<field name="date_start">09-15-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_186')]"/>
<record id="project_task_188" model="project.task">
<field name="sequence">17</field>
<field name="planned_hours">16.0</field>
@@ -351,32 +371,37 @@
<field name="type_id" ref="project_tt_development"/>
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="priority">2</field>
<field name="state">open</field>
<field name="project_id" ref="project_project_21"/>
<field name="name">Analysis, Data Importation</field>
<field name="date_start">10-07-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_188')]"/>
<record id="project_task_189" model="project.task">
<field name="sequence">20</field>
<field name="planned_hours">16.0</field>
<field name="remaining_hours">16.0</field>
<field name="state">open</field>
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="project_id" ref="project_project_23"/>
<field name="name">Parameters</field>
<field name="type_id" ref="project_tt_specification"/>
<field name="date_start">11-09-2011</field>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_189')]"/>
<record id="project_task_190" model="project.task">
<field name="sequence">20</field>
<field name="planned_hours">32.0</field>
<field name="remaining_hours">32.0</field>
<field model="res.users" name="user_id" search="[('login','=','demo')]"/>
<field name="state">open</field>
<field name="project_id" ref="project_project_21"/>
<field name="name">Start of the doc redaction + MRP</field>
<field eval="time.strftime('%Y-%m-%d')" name="date_start"/>
<field name="type_id" ref="project_tt_testing"/>
</record>
<function model="project.task" name="do_open" eval="[ref('project_task_190')]"/>
</data>
</openerp>