fix_views_14_extended/hr_payslip_remove_worked_days.py

52 lines
1.5 KiB
Python
Executable File

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Removes Worked Days from employee termination slip."""
import os
import sys
import odooly
def main():
odooly.Client._config_file = os.path.expanduser('~/.config/odooly.ini')
odoo = odooly.Client.from_config('Odoo14_Production')
views = odoo.env['ir.ui.view']
baseid = 'hr_avancys.print_report_payslip'
viewextid = 'agofer_view.hide_worked_days'
viewname = 'hide_worked_days'
viewarch = """<?xml version="1.0"?>
<data name="{0}" inherit_id="{1}">
<xpath expr="//p[@t-if=&quot;o.payslip_type_id.name == 'Liquidación'&quot;]" position="replace"/>
</data>""".format(viewname, baseid)
vista_base = views.get(baseid)
assert vista_base.name == 'print_report_payslip'
viewvalues = {
'arch': viewarch,
'active': True,
'mode': 'extension',
'inherit_id': vista_base.id,
'name': viewname,
'priority': 16,
'type': 'qweb',
'model': False,
}
try:
newview = views.get(viewextid)
if newview:
newview.write(viewvalues)
else:
newview = views.create(viewvalues)
newview._set_external_id(viewextid)
except:
xt, xc, tb = sys.exc_info()
xm = ''.join(odooly.format_exception(xt, xc, tb, chain=False))
print('### Error\n' + xm.strip())
if __name__ == "__main__":
main()