diff --git a/addons/l10n_at_hr_payroll_private/__manifest__.py b/addons/l10n_at_hr_payroll_private/__manifest__.py index 82ade94..ca81b5f 100644 --- a/addons/l10n_at_hr_payroll_private/__manifest__.py +++ b/addons/l10n_at_hr_payroll_private/__manifest__.py @@ -1,7 +1,7 @@ # Part of the odoo-at-payroll project. License: LGPL-3. { 'name': 'Österreich - Privatwirtschaft Personalverrechnung (General-AT)', - 'version': '19.0.7.0.0', + 'version': '19.0.8.0.0', 'author': 'ixsol / gem360', 'website': 'https://gem360.at', 'category': 'Human Resources/Payroll', @@ -111,6 +111,8 @@ gem360-Brücke). 'views/kv_views.xml', 'views/bv_views.xml', 'views/meldewesen_views.xml', + 'views/vertragsfelder_views.xml', + 'report/gp8_reports.xml', 'report/bv_report.xml', ], 'countries': ['at'], diff --git a/addons/l10n_at_hr_payroll_private/models/__init__.py b/addons/l10n_at_hr_payroll_private/models/__init__.py index 4a8bbb3..0ae1b18 100644 --- a/addons/l10n_at_hr_payroll_private/models/__init__.py +++ b/addons/l10n_at_hr_payroll_private/models/__init__.py @@ -8,4 +8,5 @@ from . import bv_report from . import account_chart_private from . import account_posting_private from . import mbgm -from . import versichertenmeldung \ No newline at end of file +from . import versichertenmeldung +from . import fristen_private \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/models/fristen_private.py b/addons/l10n_at_hr_payroll_private/models/fristen_private.py new file mode 100644 index 0000000..a0e35a0 --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/models/fristen_private.py @@ -0,0 +1,48 @@ +# Part of the odoo-at-payroll project. License: LGPL-3. +"""GP8-Privat: Verlinkung des Fristenkalenders mit den +privatwirtschaftlichen GP7-Deklarationen (L16/mBGM-Sprungziele).""" +from odoo import fields, models + + +class L10nAtPayrollFrist(models.Model): + _inherit = 'l10n.at.payroll.frist' + + ref_mbgm_id = fields.Many2one( + 'l10n.at.payroll.mbgm', string='mBGM-Deklaration', + help='Sprungziel für SV-Fristen (Privatmodul — das ' + 'Kernmodell kennt mBGM nicht).') + + def action_zum_objekt(self): + """Sprung zur GP7-Deklaration (L16 oder mBGM).""" + self.ensure_one() + result = super().action_zum_objekt() + if result is not True: + return result + if self.ref_mbgm_id: + return { + 'type': 'ir.actions.act_window', + 'res_model': 'l10n.at.payroll.mbgm', + 'res_id': self.ref_mbgm_id.id, + 'view_mode': 'form', + } + return True + + def _l10n_at_verlinke_deklarationen(self): + """Sprungziele für offene L16- und mBGM-Fristen setzen: neueste + Deklaration des Bezugsjahres verlinken, wenn vorhanden.""" + for frist in self: + if frist.fristart in ('l16', 'arbeitsstaette'): + l16 = self.env['l10n.at.payroll.l16'].search([ + ('company_id', '=', frist.company_id.id), + ('jahr', '=', frist.jahr), + ], order='id desc', limit=1) + frist.ref_l16_id = l16 or False + elif frist.fristart == 'sv_mbgm': + mbgm = self.env['l10n.at.payroll.mbgm'].search([ + ('company_id', '=', frist.company_id.id), + ('beitragsmonat', '>=', + '%d-%02d-01' % (frist.jahr, frist.monat or 1)), + ('beitragsmonat', '<=', + '%d-%02d-01' % (frist.jahr, frist.monat or 12)), + ], order='id desc', limit=1) + frist.ref_mbgm_id = mbgm or False \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/report/gp8_reports.xml b/addons/l10n_at_hr_payroll_private/report/gp8_reports.xml new file mode 100644 index 0000000..597d9ee --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/report/gp8_reports.xml @@ -0,0 +1,149 @@ + + + + + + + + + All-in-Deckungsrechnung (§ 2g AVRAG) + hr.payslip + qweb-pdf + l10n_at_hr_payroll_private.report_allin_deckung + l10n_at_hr_payroll_private.report_allin_deckung + + + report + + + + DAG-Ausweis (§ 1 DAG) + hr.payslip.run + qweb-pdf + l10n_at_hr_payroll_private.report_dag_ausweis + l10n_at_hr_payroll_private.report_dag_ausweis + + + report + + + + + + + + \ No newline at end of file diff --git a/addons/l10n_at_hr_payroll_private/views/vertragsfelder_views.xml b/addons/l10n_at_hr_payroll_private/views/vertragsfelder_views.xml new file mode 100644 index 0000000..8fcd402 --- /dev/null +++ b/addons/l10n_at_hr_payroll_private/views/vertragsfelder_views.xml @@ -0,0 +1,32 @@ + + + + + + + + hr.employee.form.l10n_at_stichtage + hr.employee + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file