Skip to content

Commit

Permalink
[ADD] hr_payroll_document: New module hr_payroll_document
Browse files Browse the repository at this point in the history
  • Loading branch information
peluko00 committed Sep 8, 2023
1 parent 5d4b1e6 commit f2d52ba
Show file tree
Hide file tree
Showing 15 changed files with 784 additions and 0 deletions.
83 changes: 83 additions & 0 deletions hr_payroll_document/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
==================
HR Payroll
==================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhr-lightgray.png?logo=github
:target: https://github.com/OCA/hr/tree/16.0/hr_payroll
:alt: OCA/hr
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/hr-16-0/hr-16-0-hr_payroll
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/111/16.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module manages different payroll documents and the payrolls of each employee are united and sent by mail.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module you need to define the secuirity grups in the stage.

If a user move any opportunity and doesn't belong to any of the groups defined in the stage, it will raise an error.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/hr/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/hr/issues/new?body=module:%20hr_payroll%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Antoni Marroig Campomar

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-alan196| image:: https://github.com/peluko00.png?size=40px
:target: https://github.com/peluko00
:alt: peluko00

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-peluko00|

This module is part of the `OCA/hr <https://github.com/OCA/hr/tree/16.0/hr_payroll>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions hr_payroll_document/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import wizard
from . import models
20 changes: 20 additions & 0 deletions hr_payroll_document/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
{
'name': "HR - Payroll Document",
'summary': "Manage payroll for each employee",
'author': "Antoni Marroig Campomar (Advanced Programming Solutions, S.L. - APSL), Odoo Community Association (OCA)",
'website': "https://github.com/OCA/hr",
"license": "AGPL-3",
'category': 'Payrolls',
'version': '16.0.1.0.0',
'depends': ['hr'],
"maintainers": ["peluko00"],
"external_dependencies": {
"python": ['pypdf', 'python-stdnum']
},
'data': [
'wizard/payroll_management_wizard.xml',
'security/ir.model.access.csv',
'data/email_payroll_employee.xml'
],
}
22 changes: 22 additions & 0 deletions hr_payroll_document/data/email_payroll_employee.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="payroll_employee_email_template" model="mail.template">
<field name="name">Payroll Employee</field>
<field name="model_id" ref="base.model_res_users" />
<field name="email_from">{{object.company_id.email}}</field>
<field name="email_to">{{object.email}}</field>
<field name="subject">Payroll {{ctx.get('month')}}</field>
<field name="auto_delete" eval="False" />
<field name="body_html">
<![CDATA[<html>
<head></head>
<body style="margin: 0; padding: 0;">
<table style="padding:20px;background-color:#ededed; border-collapse:separate" width="100%" cellpadding="0" border="0"><tbody><!-- HEADER --><tr><td style="min-width:590px" align="center"><table style="min-width:590px;background-color:#fff; padding:20px; border-collapse:separate" width="590" cellpadding="0" border="0"><tbody><tr><td style="text-align:right" valign="middle"><img src="/logo.png" style="padding:0px;margin:0px; height:auto; width:80px" alt="{{object.company_id.name}}"></td></tr><tr><td style="text-align:left" valign="middle"><h2 style="color:rgb(28, 130, 156)"><font style="color:rgb(107, 175, 103);">Payroll <t t-out="ctx.get('month')" contenteditable="false" data-oe-t-inline="true"/></font></h2></td></tr></tbody></table></td></tr><!-- CONTENT --><tr><td style="min-width:590px" align="center"><table style="min-width:590px;background-color:rgb(255, 255, 255); padding:20px; border-collapse:separate" width="590" cellpadding="0" border="0"><tbody><tr><td style="font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px" valign="top"><p> </p><p>Hello <t t-out="object.name" contenteditable="false" data-oe-t-inline="true"/>,</p><br><p>We send you the payroll for the month of <t t-out="ctx.get('month')" contenteditable="false" data-oe-t-inline="true"/>.<br></p></td></tr><tr><td style="font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px" valign="top"><br></td></tr><tr><td style="font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px" valign="top"><br><p></p></td></tr></tbody></table></td></tr><!-- FOOTER --><tr><td style="min-width:590px" align="center"><table style="min-width:590px;background-color:#95ce3f; padding:20px; border-collapse:separate" width="590" cellpadding="0" border="0"><tbody> </tbody></table></td></tr></tbody></table>
<p></p>
</html>
]]>
</field>
</record>
</data>
</odoo>
218 changes: 218 additions & 0 deletions hr_payroll_document/i18n/ca_ES.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_payroll_document
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-07 07:01+0000\n"
"PO-Revision-Date: 2023-09-07 07:01+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: hr_payroll_document
#: model:mail.template,body_html:hr_payroll_document.payroll_employee_email_template
msgid ""
"\n"
" <html>\n"
" <head></head>\n"
" <body style=\"margin: 0; padding: 0;\">\n"
" <table style=\"padding:20px;background-color:#ededed; border-collapse:separate\" width=\"100%\" cellpadding=\"0\" border=\"0\"><tbody><!-- HEADER --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:#fff; padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody><tr><td style=\"text-align:right\" valign=\"middle\"><img src=\"/logo.png\" style=\"padding:0px;margin:0px; height:auto; width:80px\" alt=\"{{object.company_id.name}}\"></td></tr><tr><td style=\"text-align:left\" valign=\"middle\"><h2 style=\"color:rgb(28, 130, 156)\"><font style=\"color:rgb(107, 175, 103);\">Payroll <t t-out=\"ctx.get('month')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/></font></h2></td></tr></tbody></table></td></tr><!-- CONTENT --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:rgb(255, 255, 255); padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><p> </p><p>Hello <t t-out=\"object.name\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>,</p><br><p>We send you the payroll for the month of <t t-out=\"ctx.get('month')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>.<br></p></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><br></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><br><p></p></td></tr></tbody></table></td></tr><!-- FOOTER --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:#95ce3f; padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody> </tbody></table></td></tr></tbody></table>\n"
" <p></p>\n"
" </html>\n"
" \n"
" "
msgstr ""
"\n"
" <html>\n"
" <head></head>\n"
" <body style=\"margin: 0; padding: 0;\">\n"
" <table style=\"padding:20px;background-color:#ededed; border-collapse:separate\" width=\"100%\" cellpadding=\"0\" border=\"0\"><tbody><!-- HEADER --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:#fff; padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody><tr><td style=\"text-align:right\" valign=\"middle\"><img src=\"/logo.png\" style=\"padding:0px;margin:0px; height:auto; width:80px\" alt=\"{{object.company_id.name}}\"></td></tr><tr><td style=\"text-align:left\" valign=\"middle\"><h2 style=\"color:rgb(28, 130, 156)\"><font style=\"color:rgb(107, 175, 103);\">Nòmina <t t-out=\"ctx.get('month')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/></font></h2></td></tr></tbody></table></td></tr><!-- CONTENT --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:rgb(255, 255, 255); padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><p> </p><p>Hola <t t-out=\"object.name\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>,</p><br><p>Et remetem la teva nòmina del mes de <t t-out=\"ctx.get('month')\" contenteditable=\"false\" data-oe-t-inline=\"true\"/>.<br></p></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><br></td></tr><tr><td style=\"font-family:Arial,Helvetica,sans-serif;color:#555; font-size:14px\" valign=\"top\"><br><p></p></td></tr></tbody></table></td></tr><!-- FOOTER --><tr><td style=\"min-width:590px\" align=\"center\"><table style=\"min-width:590px;background-color:#95ce3f; padding:20px; border-collapse:separate\" width=\"590\" cellpadding=\"0\" border=\"0\"><tbody> </tbody></table></td></tr></tbody></table>\n"
" <p></p>\n"
" </html>\n"
" \n"
" "

#. module: hr_payroll_document
#: model:ir.model,name:hr_payroll_document.model_ir_attachment
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment__payrol_rel
msgid "Attachment"
msgstr "Adjunt"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__attachment_id
msgid "Attachment File"
msgstr "Fitxer Adjunt"

#. module: hr_payroll_document
#: model_terms:ir.ui.view,arch_db:hr_payroll_document.payrolls_management_wizard_form
msgid "Close"
msgstr "Tancar"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__create_date
msgid "Create Date"
msgstr "Data de creació"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__create_uid
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__create_uid
msgid "Created by"
msgstr "Creat per"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__create_date
msgid "Created on"
msgstr "Creat el"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__display_name
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__display_name
msgid "Display Name"
msgstr "Nom a mostrar"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__employee
msgid "Employee"
msgstr "Empleat"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Employees not found"
msgstr "Empleats no trobats"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__id
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__id
msgid "ID"
msgstr "ID"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "IDs whose employee has not been found: "
msgstr "IDs dels empleats que no s'han trobat: "

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__identification_id
msgid "Identification ID"
msgstr "Identificació ID"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom____last_update
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard____last_update
msgid "Last Modified on"
msgstr "Darrera modificació el"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__write_uid
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__write_uid
msgid "Last Updated by"
msgstr "Darrera actualització per"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__write_date
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__write_date
msgid "Last Updated on"
msgstr "Darrera actualització el"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Missing pdf file signature"
msgstr "Els fitxers han de ser de tipus pdf"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_ir_attachment_payroll_custom__month
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__month
msgid "Month"
msgstr "Mes"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Payroll"
msgstr "Nòmina"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Payroll "
msgstr "Nòmina "

#. module: hr_payroll_document
#: model:mail.template,name:hr_payroll_document.payroll_employee_email_template
msgid "Payroll Employee"
msgstr ""

#. module: hr_payroll_document
#: model:ir.model,name:hr_payroll_document.model_payroll_management_wizard
msgid "Payroll Management"
msgstr "Gestió Nòmines"

#. module: hr_payroll_document
#: model:ir.model,name:hr_payroll_document.model_ir_attachment_payroll_custom
msgid "Payroll attachment"
msgstr "Adjunt Nòmina"

#. module: hr_payroll_document
#: model:mail.template,subject:hr_payroll_document.payroll_employee_email_template
msgid "Payroll {{ctx.get('month')}}"
msgstr "Nòmina {{ctx.get('month')}}"

#. module: hr_payroll_document
#: model:ir.model.fields,field_description:hr_payroll_document.field_payroll_management_wizard__payrolls
msgid "Payrolls"
msgstr "Nòmines"

#. module: hr_payroll_document
#: model:ir.actions.act_window,name:hr_payroll_document.payrolls_management_wizard_action
#: model:ir.ui.menu,name:hr_payroll_document.payrolls_management_wizard_menu_action
msgid "Payrolls Management"
msgstr "Gestió Nòmines"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Payrolls sent"
msgstr "Nómines enviades"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "Payrolls sent to employees correctly"
msgstr "Nómines envides als empleats correctament"

#. module: hr_payroll_document
#: model_terms:ir.ui.view,arch_db:hr_payroll_document.payrolls_management_wizard_form
msgid "Send"
msgstr "Enviar"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "You must to filled country field of company"
msgstr "Falta emplenar el camp de país de l'empresa"

#. module: hr_payroll_document
#. odoo-python
#: code:addons/hr_payroll_document/wizard/payroll_management_wizard.py:0
#, python-format
msgid "You must to filled identification ID field of all employees"
msgstr "Falta emplenar el camp identificatiu ID de tots els empleats"
Loading

0 comments on commit f2d52ba

Please sign in to comment.