odoo-addon-hr-payroll-document 16.0.1.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. odoo/addons/hr_payroll_document/README.rst +95 -0
  2. odoo/addons/hr_payroll_document/__init__.py +2 -0
  3. odoo/addons/hr_payroll_document/__manifest__.py +24 -0
  4. odoo/addons/hr_payroll_document/data/email_payroll_employee.xml +20 -0
  5. odoo/addons/hr_payroll_document/i18n/ca_ES.po +309 -0
  6. odoo/addons/hr_payroll_document/i18n/es.po +309 -0
  7. odoo/addons/hr_payroll_document/i18n/hr_payroll_document.pot +245 -0
  8. odoo/addons/hr_payroll_document/i18n/it.po +315 -0
  9. odoo/addons/hr_payroll_document/models/__init__.py +4 -0
  10. odoo/addons/hr_payroll_document/models/hr_employee.py +34 -0
  11. odoo/addons/hr_payroll_document/models/ir_attachment.py +14 -0
  12. odoo/addons/hr_payroll_document/models/ir_attachment_payroll_custom.py +18 -0
  13. odoo/addons/hr_payroll_document/models/res_users.py +18 -0
  14. odoo/addons/hr_payroll_document/readme/CONTRIBUTORS.rst +5 -0
  15. odoo/addons/hr_payroll_document/readme/DESCRIPTION.rst +4 -0
  16. odoo/addons/hr_payroll_document/security/ir.model.access.csv +3 -0
  17. odoo/addons/hr_payroll_document/static/description/icon.png +0 -0
  18. odoo/addons/hr_payroll_document/static/description/index.html +438 -0
  19. odoo/addons/hr_payroll_document/tests/__init__.py +1 -0
  20. odoo/addons/hr_payroll_document/tests/common.py +76 -0
  21. odoo/addons/hr_payroll_document/tests/test.docx +0 -0
  22. odoo/addons/hr_payroll_document/tests/test.pdf +0 -0
  23. odoo/addons/hr_payroll_document/tests/test_hr_payroll_document.py +122 -0
  24. odoo/addons/hr_payroll_document/views/hr_employee_views.xml +20 -0
  25. odoo/addons/hr_payroll_document/views/res_users_views.xml +27 -0
  26. odoo/addons/hr_payroll_document/wizard/__init__.py +1 -0
  27. odoo/addons/hr_payroll_document/wizard/payroll_management_wizard.py +216 -0
  28. odoo/addons/hr_payroll_document/wizard/payroll_management_wizard.xml +42 -0
  29. odoo_addon_hr_payroll_document-16.0.1.3.1.dist-info/METADATA +112 -0
  30. odoo_addon_hr_payroll_document-16.0.1.3.1.dist-info/RECORD +32 -0
  31. odoo_addon_hr_payroll_document-16.0.1.3.1.dist-info/WHEEL +5 -0
  32. odoo_addon_hr_payroll_document-16.0.1.3.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,315 @@
1
+ # Translation of Odoo Server.
2
+ # This file contains the translation of the following modules:
3
+ # * hr_payroll_document
4
+ #
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Odoo Server 16.0\n"
8
+ "Report-Msgid-Bugs-To: \n"
9
+ "PO-Revision-Date: 2026-01-05 19:43+0000\n"
10
+ "Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11
+ "Language-Team: none\n"
12
+ "Language: it\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: \n"
16
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
17
+ "X-Generator: Weblate 5.10.4\n"
18
+
19
+ #. module: hr_payroll_document
20
+ #: model:mail.template,body_html:hr_payroll_document.payroll_employee_email_template
21
+ msgid ""
22
+ "\n"
23
+ " <html>\n"
24
+ " <head></head>\n"
25
+ " <body style=\"margin: 0; padding: 0;\">\n"
26
+ " <table style=\"padding:20px;background-color:#ededed; "
27
+ "border-collapse:separate\" width=\"100%\" cellpadding=\"0\" "
28
+ "border=\"0\"><tbody><!-- HEADER --><tr><td style=\"min-width:590px\" "
29
+ "align=\"center\"><table style=\"min-width:590px;background-color:#fff; "
30
+ "padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" "
31
+ "border=\"0\"><tbody><tr><td style=\"text-align:right\" "
32
+ "valign=\"middle\"><img src=\"/logo.png\" style=\"padding:0px;margin:0px; "
33
+ "height:auto; width:80px\" alt=\"{{object.company_id.name}}\"></td></"
34
+ "tr><tr><td style=\"text-align:left\" valign=\"middle\"><h2 style=\"color:"
35
+ "rgb(28, 130, 156)\"><font style=\"color:rgb(107, 175, 103);\">Payroll <t t-"
36
+ "out=\"ctx.get('subject')\" contenteditable=\"false\" data-oe-t-"
37
+ "inline=\"true\"/></font></h2></td></tr></tbody></table></td></tr><!-- "
38
+ "CONTENT --><tr><td style=\"min-width:590px\" align=\"center\"><table "
39
+ "style=\"min-width:590px;background-color:rgb(255, 255, 255); padding:20px; "
40
+ "border-collapse:separate\" width=\"590\" cellpadding=\"0\" "
41
+ "border=\"0\"><tbody><tr><td style=\"font-family:Arial,Helvetica,sans-serif;"
42
+ "color:#555; font-size:14px\" valign=\"top\"><p> </p><p>Hello <t t-"
43
+ "out=\"object.name\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>,</"
44
+ "p><br><p>We send you the payroll with the subject <t t-out=\"ctx."
45
+ "get('subject')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>.<br></"
46
+ "p></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:"
47
+ "#555; font-size:14px\" valign=\"top\"><br></td></tr><tr><td style=\"font-"
48
+ "family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" "
49
+ "valign=\"top\"><br><p></p></td></tr></tbody></table></td></tr><!-- FOOTER --"
50
+ "><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-"
51
+ "width:590px;background-color:#95ce3f; padding:20px; border-collapse:"
52
+ "separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody> </tbody></"
53
+ "table></td></tr></tbody></table>\n"
54
+ " <p></p>\n"
55
+ " </html>\n"
56
+ " \n"
57
+ " "
58
+ msgstr ""
59
+ "\n"
60
+ " <html>\n"
61
+ " <head></head>\n"
62
+ " <body style=\"margin: 0; padding: 0;\">\n"
63
+ " <table style=\"padding:20px;background-color:#ededed; "
64
+ "border-collapse:separate\" width=\"100%\" cellpadding=\"0\" "
65
+ "border=\"0\"><tbody><!-- HEADER --><tr><td style=\"min-width:590px\" "
66
+ "align=\"center\"><table style=\"min-width:590px;background-color:#fff; "
67
+ "padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" "
68
+ "border=\"0\"><tbody><tr><td style=\"text-align:right\" "
69
+ "valign=\"middle\"><img src=\"/logo.png\" style=\"padding:0px;margin:0px; "
70
+ "height:auto; width:80px\" alt=\"{{object.company_id.name}}\"></td></"
71
+ "tr><tr><td style=\"text-align:left\" valign=\"middle\"><h2 style=\"color:"
72
+ "rgb(28, 130, 156)\"><font style=\"color:rgb(107, 175, 103);\">Stipendio<t t-"
73
+ "out=\"ctx.get('subject')\" contenteditable=\"false\" data-oe-t-"
74
+ "inline=\"true\"/></font></h2></td></tr></tbody></table></td></tr><!-- "
75
+ "CONTENT --><tr><td style=\"min-width:590px\" align=\"center\"><table "
76
+ "style=\"min-width:590px;background-color:rgb(255, 255, 255); padding:20px; "
77
+ "border-collapse:separate\" width=\"590\" cellpadding=\"0\" "
78
+ "border=\"0\"><tbody><tr><td style=\"font-family:Arial,Helvetica,sans-serif;"
79
+ "color:#555; font-size:14px\" valign=\"top\"><p> </p><p>Hello <t t-"
80
+ "out=\"object.name\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>,</"
81
+ "p><br><p>Abbiamo inviato la retribuzione con soggetto<t t-out=\"ctx."
82
+ "get('subject')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>.<br></"
83
+ "p></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:"
84
+ "#555; font-size:14px\" valign=\"top\"><br></td></tr><tr><td style=\"font-"
85
+ "family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" "
86
+ "valign=\"top\"><br><p></p></td></tr></tbody></table></td></tr><!-- FOOTER --"
87
+ "><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-"
88
+ "width:590px;background-color:#95ce3f; padding:20px; border-collapse:"
89
+ "separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody> </tbody></"
90
+ "table></td></tr></tbody></table>\n"
91
+ " <p></p>\n"
92
+ " </html>\n"
93
+ " \n"
94
+ " "
95
+
96
+ #. module: hr_payroll_document
97
+ #: model:ir.model,name:hr_payroll_document.model_ir_attachment
98
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment__payrol_rel
99
+ msgid "Attachment"
100
+ msgstr "Allegato"
101
+
102
+ #. module: hr_payroll_document
103
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__attachment_id
104
+ msgid "Attachment File"
105
+ msgstr "File allegato"
106
+
107
+ #. module: hr_payroll_document
108
+ #: model_terms:ir.ui.view,arch_db:hr_payroll_document.payrolls_management_wizard_form
109
+ msgid "Close"
110
+ msgstr "Chiudi"
111
+
112
+ #. module: hr_payroll_document
113
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__create_date
114
+ msgid "Create Date"
115
+ msgstr "Data creazione"
116
+
117
+ #. module: hr_payroll_document
118
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__create_uid
119
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__create_uid
120
+ msgid "Created by"
121
+ msgstr "Creato da"
122
+
123
+ #. module: hr_payroll_document
124
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__create_date
125
+ msgid "Created on"
126
+ msgstr "Creato il"
127
+
128
+ #. module: hr_payroll_document
129
+ #: model_terms:ir.ui.view,arch_db:hr_payroll_document.res_users_view_form_profile
130
+ #: model_terms:ir.ui.view,arch_db:hr_payroll_document.view_employee_form
131
+ msgid "Disable encryption"
132
+ msgstr "Disabilita criptazione"
133
+
134
+ #. module: hr_payroll_document
135
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_hr_employee__no_payroll_encryption
136
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_res_users__no_payroll_encryption
137
+ msgid "Disable payrolls encryption"
138
+ msgstr "Disabilita criptazione buste paga"
139
+
140
+ #. module: hr_payroll_document
141
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__display_name
142
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__display_name
143
+ msgid "Display Name"
144
+ msgstr "Nome visualizzato"
145
+
146
+ #. module: hr_payroll_document
147
+ #: model:ir.model,name:hr_payroll_document.model_hr_employee
148
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__employee
149
+ msgid "Employee"
150
+ msgstr "Dipendente"
151
+
152
+ #. module: hr_payroll_document
153
+ #. odoo-python
154
+ #: code:addons/hr_payroll_document/tests/test_hr_payroll_document.py:0
155
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
156
+ #, python-format
157
+ msgid "Employees not found"
158
+ msgstr "Dipendenti non trovati"
159
+
160
+ #. module: hr_payroll_document
161
+ #: model:ir.model.fields,help:hr_payroll_document.field_payroll_management_wizard__subject
162
+ msgid "Enter the title of the payroll whether it is the month, week, day, etc."
163
+ msgstr ""
164
+ "Inserire il titolo della retribuzione se è il mese, settimana, giorno, ecc."
165
+
166
+ #. module: hr_payroll_document
167
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__id
168
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__id
169
+ msgid "ID"
170
+ msgstr "ID"
171
+
172
+ #. module: hr_payroll_document
173
+ #. odoo-python
174
+ #: code:addons/hr_payroll_document/tests/test_hr_payroll_document.py:0
175
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
176
+ #, python-format
177
+ msgid "IDs whose employee has not been found: "
178
+ msgstr "ID il cui dipendente non è stato trovato: "
179
+
180
+ #. module: hr_payroll_document
181
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__identification_id
182
+ msgid "Identification ID"
183
+ msgstr "ID identificazione"
184
+
185
+ #. module: hr_payroll_document
186
+ #: model:ir.model.fields,help:hr_payroll_document.field_hr_employee__no_payroll_encryption
187
+ #: model:ir.model.fields,help:hr_payroll_document.field_res_users__no_payroll_encryption
188
+ msgid ""
189
+ "If this is disabled (default), the PDF payrolls are encrypted using the "
190
+ "Identification No.\n"
191
+ "Only future payrolls are affected by this change, existing payrolls will not "
192
+ "change their encryption status."
193
+ msgstr ""
194
+ "Se questa opzione è disabilitata (impostazione predefinita), le buste paga "
195
+ "in formato PDF vengono crittografate utilizzando il numero di "
196
+ "identificazione.\n"
197
+ "Questa modifica interesserà solo le buste paga future, mentre quelle "
198
+ "esistenti non modificheranno il loro stato di crittografia."
199
+
200
+ #. module: hr_payroll_document
201
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom____last_update
202
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard____last_update
203
+ msgid "Last Modified on"
204
+ msgstr "Ultima modifica il"
205
+
206
+ #. module: hr_payroll_document
207
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__write_uid
208
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__write_uid
209
+ msgid "Last Updated by"
210
+ msgstr "Ultimo aggiornamento di"
211
+
212
+ #. module: hr_payroll_document
213
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__write_date
214
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__write_date
215
+ msgid "Last Updated on"
216
+ msgstr "Ultimo aggiornamento il"
217
+
218
+ #. module: hr_payroll_document
219
+ #. odoo-python
220
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
221
+ #, python-format
222
+ msgid "Missing pdf file signature"
223
+ msgstr "Firma PDF mancante"
224
+
225
+ #. module: hr_payroll_document
226
+ #. odoo-python
227
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
228
+ #: model_terms:ir.ui.view,arch_db:hr_payroll_document.res_users_view_form_profile
229
+ #, python-format
230
+ msgid "Payroll"
231
+ msgstr "Retribuzione"
232
+
233
+ #. module: hr_payroll_document
234
+ #. odoo-python
235
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
236
+ #, python-format
237
+ msgid "Payroll "
238
+ msgstr "Retribuzione "
239
+
240
+ #. module: hr_payroll_document
241
+ #: model:mail.template,name:hr_payroll_document.payroll_employee_email_template
242
+ msgid "Payroll Employee"
243
+ msgstr "Retribuzione dipendente"
244
+
245
+ #. module: hr_payroll_document
246
+ #: model:ir.model,name:hr_payroll_document.model_payroll_management_wizard
247
+ msgid "Payroll Management"
248
+ msgstr "Gestione retribuzione"
249
+
250
+ #. module: hr_payroll_document
251
+ #: model:ir.model,name:hr_payroll_document.model_ir_attachment_payroll_custom
252
+ msgid "Payroll attachment"
253
+ msgstr "Allegato retribuzione"
254
+
255
+ #. module: hr_payroll_document
256
+ #: model:mail.template,subject:hr_payroll_document.payroll_employee_email_template
257
+ msgid "Payroll {{ctx.get('subject')}}"
258
+ msgstr "Retribuzione {{ctx.get('subject')}}"
259
+
260
+ #. module: hr_payroll_document
261
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__payrolls
262
+ msgid "Payrolls"
263
+ msgstr "Retribuzioni"
264
+
265
+ #. module: hr_payroll_document
266
+ #: model:ir.actions.act_window,name:hr_payroll_document.payrolls_management_wizard_action
267
+ #: model:ir.ui.menu,name:hr_payroll_document.payrolls_management_wizard_menu_action
268
+ msgid "Payrolls Management"
269
+ msgstr "Gestione retribuzioni"
270
+
271
+ #. module: hr_payroll_document
272
+ #. odoo-python
273
+ #: code:addons/hr_payroll_document/tests/test_hr_payroll_document.py:0
274
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
275
+ #, python-format
276
+ msgid "Payrolls sent"
277
+ msgstr "Retribuzioni inviate"
278
+
279
+ #. module: hr_payroll_document
280
+ #. odoo-python
281
+ #: code:addons/hr_payroll_document/tests/test_hr_payroll_document.py:0
282
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
283
+ #, python-format
284
+ msgid "Payrolls sent to employees correctly"
285
+ msgstr "Retribuzioni inviate correttamente ai dipendenti"
286
+
287
+ #. module: hr_payroll_document
288
+ #: model_terms:ir.ui.view,arch_db:hr_payroll_document.payrolls_management_wizard_form
289
+ msgid "Send"
290
+ msgstr "Invia"
291
+
292
+ #. module: hr_payroll_document
293
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__subject
294
+ #: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__subject
295
+ msgid "Subject"
296
+ msgstr "Oggetto"
297
+
298
+ #. module: hr_payroll_document
299
+ #. odoo-python
300
+ #: code:addons/hr_payroll_document/models/hr_employee.py:0
301
+ #, python-format
302
+ msgid "The field identification ID is not valid"
303
+ msgstr "L'ID identificazione file non è corretto"
304
+
305
+ #. module: hr_payroll_document
306
+ #: model:ir.model,name:hr_payroll_document.model_res_users
307
+ msgid "User"
308
+ msgstr "Utente"
309
+
310
+ #. module: hr_payroll_document
311
+ #. odoo-python
312
+ #: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
313
+ #, python-format
314
+ msgid "You must to filled country field of company"
315
+ msgstr "Serve compilare il campo nazione dell'azienda"
@@ -0,0 +1,4 @@
1
+ from . import ir_attachment_payroll_custom
2
+ from . import ir_attachment
3
+ from . import hr_employee
4
+ from . import res_users
@@ -0,0 +1,34 @@
1
+ # Copyright 2025 Simone Rubino - PyTech
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ from odoo import _, api, fields, models
5
+ from odoo.exceptions import ValidationError
6
+
7
+
8
+ class Employee(models.Model):
9
+ _inherit = "hr.employee"
10
+
11
+ no_payroll_encryption = fields.Boolean(
12
+ string="Disable payrolls encryption",
13
+ help="If this is disabled (default), "
14
+ "the PDF payrolls are encrypted using the Identification No.\n"
15
+ "Only future payrolls are affected by this change, "
16
+ "existing payrolls will not change their encryption status.",
17
+ )
18
+
19
+ def _validate_payroll_identification(self, code=None):
20
+ # Override if the identification should be validated in another way
21
+ if code is None and len(self) == 1:
22
+ code = self.identification_id
23
+ if country_code := self.env.company.country_id.code:
24
+ is_valid = self.env["res.partner"].simple_vat_check(country_code, code)
25
+ else:
26
+ is_valid = True
27
+ return is_valid
28
+
29
+ @api.constrains("identification_id")
30
+ def _constrain_payroll_identification(self):
31
+ # Only check the employees that have an `identification_id`
32
+ for employee in self.filtered("identification_id"):
33
+ if not employee._validate_payroll_identification():
34
+ raise ValidationError(_("The field identification ID is not valid"))
@@ -0,0 +1,14 @@
1
+ from odoo import fields, models
2
+
3
+
4
+ class Attachment(models.Model):
5
+ _inherit = "ir.attachment"
6
+
7
+ payrol_rel = fields.Many2many(
8
+ "payroll.management.wizard",
9
+ "payrolls",
10
+ "attachment_id3",
11
+ "document_id",
12
+ string="Attachment",
13
+ invisible=1,
14
+ )
@@ -0,0 +1,18 @@
1
+ from odoo import fields, models
2
+
3
+
4
+ class IRAttachmentPayrollCustom(models.Model):
5
+ _name = "ir.attachment.payroll.custom"
6
+ _description = "Payroll attachment"
7
+
8
+ attachment_id = fields.Many2one(
9
+ comodel_name="ir.attachment",
10
+ string="Attachment File",
11
+ prefetch=False,
12
+ invisible=True,
13
+ ondelete="cascade",
14
+ )
15
+ employee = fields.Char()
16
+ identification_id = fields.Char("Identification ID")
17
+ create_date = fields.Date(default=fields.Date.context_today)
18
+ subject = fields.Char()
@@ -0,0 +1,18 @@
1
+ # Copyright 2025 Simone Rubino - PyTech
2
+ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3
+
4
+ from odoo import fields, models
5
+
6
+ from odoo.addons.hr.models.res_users import HR_WRITABLE_FIELDS
7
+
8
+ HR_WRITABLE_FIELDS.append("no_payroll_encryption")
9
+
10
+
11
+ class ResUsers(models.Model):
12
+ _inherit = "res.users"
13
+
14
+ no_payroll_encryption = fields.Boolean(
15
+ related="employee_id.no_payroll_encryption",
16
+ readonly=False,
17
+ related_sudo=False,
18
+ )
@@ -0,0 +1,5 @@
1
+ * Antoni Marroig Campomar <amarroig@apsl.net>
2
+ * Miquel Alzanillas Monserrat <malzanillas@apsl.net>
3
+ * `PyTech <https://www.pytech.it>`_:
4
+
5
+ * Simone Rubino <simone.rubino@pytech.it>
@@ -0,0 +1,4 @@
1
+ This module have a wizard view to manage the different payrolls of employees which is identified by the identification_id attribute.
2
+
3
+ By default, the employee's payroll is encrypted using their identification number.
4
+ This behavior can be changed by the employee in their profile or by HR in the employee's form.
@@ -0,0 +1,3 @@
1
+ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2
+ payroll_management_wizard,payroll.management.wizard,model_payroll_management_wizard,hr.group_hr_manager,1,1,1,1
3
+ ir_attachment_payroll_custom,ir.attachment.payroll.custom,model_ir_attachment_payroll_custom,hr.group_hr_manager,1,1,1,1