Here's my code -
@api.multi
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
payslips = self.env['hr.payslip']
# [data] = self.read()
active_id = self.env.context.get('active_id')
if active_id:
[run_data] = self.env['hr.payslip.run'].browse(active_id).read(['date_start', 'date_end', 'credit_note'])
from_date = run_data.get('date_start')
to_date = run_data.get('date_end')
if not from_date or from_date == False:
today = datetime.today()
to_date = datetime.date(today.year, today.month, 1) - 1
from_date = datetime.date(to_date.year, to_date.month, 1)
if not to_date or to_date == False:
today = datetime.today()
to_date = datetime.date(today.year, today.month, 1) - 1
from_date = datetime.date(to_date.year, to_date.month, 1)
query = """select id from hr_employee where id not in
(select distinct employee_id from hr_payslip where date_from = '%s' and date_to = '%s')""" % (from_date, to_date)
query_res = self.env.cr.execute(query)
query_res = self.env.cr.fetchall()
emp_ids = []
for each_id in query_res:
emp_ids.append(each_id[0])
return {'domain': {'employee_ids':[('id','in',emp_ids)]}}
I tried by pasting this code into the hr_payroll_payslips_by_employees.py to get the list of employees filtered while selecting employees for payslip batch. The intent is to avoid creation of duplicate payslips for the same payroll period. But getting an error as "TypeError: Cannot read property 'documentElement' of null"
Any help on this would be a great help and thanks in advance for the same.
EDIT:
Would like to add here: That, my code runs perfectly until the last line and the error is thrown only on last line when returning the domain back to my m2m field (employee_ids).
http://<ip-address>:8069/web/content/3598-e2a938e/web.assets_backend.js:585 Traceback: TypeError: Cannot read property 'documentElement' of null at Class._postprocess_fvg (http://103.215.164.67:8069/web/content/3598-e2a938e/web.assets_backend.js:585:239) at Function._.mapObject (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:50:233) at Object.<anonymous> (http://103.215.164.67:8069/web/content/3598-e2a938e/web.assets_backend.js:580:189) at Object.<anonymous> (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:681) at fire (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:796:299) at Object.fireWith [as resolveWith] (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:801:198) at Object.<anonymous> (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:874) at fire (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:796:299) at Object.fireWith [as resolveWith] (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:801:198) at Object.<anonymous> (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:874)