forked from Agofer/fix_views_14
54 lines
1.5 KiB
Python
Executable File
54 lines
1.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""Shows period in employee payslip."""
|
|
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.show_hr_period'
|
|
viewname = 'show_hr_period'
|
|
viewarch = """<?xml version="1.0"?>
|
|
<data name="{0}" inherit_id="{1}">
|
|
<xpath expr="//p[contains(., 'Email:')]" position="before">
|
|
<br/><strong>Período: </strong><span t-field="o.period_id.name"/>
|
|
</xpath>
|
|
</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()
|
|
|