1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/documents_hr_payroll/models/res_company.py
2024-12-10 09:04:09 +07:00

47 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models, _
class ResCompany(models.Model):
_inherit = "res.company"
documents_hr_payslips_tags = fields.Many2many(
'documents.tag', 'payslip_tags_table')
documents_payroll_folder_id = fields.Many2one(
'documents.folder',
check_company=True)
def _payroll_documents_enabled(self):
self.ensure_one()
return self.documents_payroll_folder_id and self.documents_hr_settings
@api.model_create_multi
def create(self, vals_list):
companies = super().create(vals_list)
companies._generate_payroll_document_folders()
return companies
def _generate_payroll_document_folders(self):
group_user = self.env.ref('base.group_user')
group_payroll_user = self.env.ref('hr_payroll.group_hr_payroll_user')
parent_folder_id = self.env.ref('documents_hr.documents_hr_folder', raise_if_not_found=False)
folders = self.env["documents.folder"].sudo().create([{
'name': _('Payroll'),
'group_ids': [(4, group_payroll_user.id)],
'read_group_ids': [(4, group_user.id)],
'parent_folder_id': parent_folder_id.id if parent_folder_id else False,
'user_specific': True,
'sequence': 12,
'company_id': company.id,
} for company in self])
payslip_tag = self.env.ref('documents_hr_payroll.documents_hr_documents_payslips', raise_if_not_found=False)
for company, folder in zip(self, folders):
company.write({
'documents_hr_payslips_tags': [(6, 0, payslip_tag.ids)] if payslip_tag else [],
'documents_payroll_folder_id': folder.id
})