How to run this code?
.py file===============================
from openerp.osv import fields, osv
class hr_attendance(osv.osv):
_name = "hr.attendance"
_description = "Attendance"
_inherit = "hr.attendance"
def hr_sign_out_forgotten_solve(self, cr, uid, context = None):
print "ets%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5"
cr.execute("""
SELECT hra1.employee_id
FROM hr_attendance AS hra1
INNER JOIN (SELECT employee_id as e_id,
MAX(name) as last_sign
FROM hr_attendance
GROUP BY employee_id) AS hra2
ON hra1.employee_id=hra2.e_id
AND hra1.name=hra2.last_sign
WHERE hra1.action = 'sign_in'
""")
for e_id in [x for (x,) in cr.fetchall()]:
self.create(cr, uid, {'employee_id': e_id,
'action': 'sign_out',})
hr_attendance()
.xml=============================
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data >
<record id="ir_cron_hr_sign_out_forgotten" model="ir.cron">
<field name="name">HR sign Out Forgotten</field>
<field name="interval_number">24</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field name="nextcall">2015-02-17 05:31:00</field>
<field eval="'hr.attendance'" name="model"/>
<field eval="'hr_sign_out_forgotten_solve'" name="function"/>
<field eval="'()'" name="args"/>
</record>
</data>
</openerp>
.openerp.py=-============================================
{
'name': 'Attendance, sign out forgotten',
'version': '1.1',
'category': 'Generic Modules/Human Resources',
'description': """
This module creates sign out for the employees than
they forgotten his own sign out.
""",
'author': 'Author',
'depends': ['hr_attendance'],
'update_xml': [
'hr_sign_out_forgotten_cron.xml',
],
'demo_xml': [],
'test': [],
'installable': True,
'active': False,
}
=============
init.py=-======================
import hr_attendance