py File : -
from osv import orm
import time
from datetime import date
class register_entry(orm.Model):
_inherit = 'lib.register'
def lib_resource_register_cron(self, cr, uid, context=None):
domain = [('state', 'in',('issue','exception')), ('return_date', '<' , time.strftime('%Y-%m-%d'))]
reg_ids = self.search(cr, uid, domain, context=context)
registers = self.browse(cr, uid, reg_ids, context=context)
for register in registers:
year, month, day = [int(value) for value in register.return_date.split("-")]
days = (date.today() - date(year, month, day)).days
penalty = days * int(register.resource_id.resource_tmpl_id.min_penalty)
register.write({'state' : 'exception', 'penalty':penalty}, context=context)
return True
register_entry()
xml File : -
<?xml version="1.0" encoding='UTF-8'?><openerp>
<data>
<record model="ir.cron" id="lib_register_entry_cron">
<field name="name">Register Entry</field>
<field name="interval_number">1</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field eval="'lib.register'" name="model"/>
<field eval="'lib_resource_register_cron'" name="function"/>
<field eval="'()'" name="args"/>
</record>
</data>
</openerp>
This post was very helpful thank you
ReplyDelete