diff --git a/hr_payslip_monthly_report/README.rst b/hr_payslip_monthly_report/README.rst new file mode 100644 index 000000000..5ca75a5ec --- /dev/null +++ b/hr_payslip_monthly_report/README.rst @@ -0,0 +1,56 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Payroll Advanced Features +========================= +* Payroll Advanced Features for Odoo 17 community edition + +Features +======== +* Payroll-Payslip Reporting. +* Automatic Mail During Confirmation of Payslip. +* Mass Confirm Payslip. + +Configuration +============= +Nothing to configure. + +License +------- +Affero General Public License, v3.0 (AGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +------- +* Developers: (V14) Jibin James + (V15) Aneesh, + (V16) Anusha, + (V17) Farhana Jahan PT, + Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/hr_payslip_monthly_report/__init__.py b/hr_payslip_monthly_report/__init__.py new file mode 100644 index 000000000..d8660a2df --- /dev/null +++ b/hr_payslip_monthly_report/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import models +from . import report +from . import wizard diff --git a/hr_payslip_monthly_report/__manifest__.py b/hr_payslip_monthly_report/__manifest__.py new file mode 100644 index 000000000..9e9d7c891 --- /dev/null +++ b/hr_payslip_monthly_report/__manifest__.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Payroll Advanced Features', + 'summary': 'Payroll Advanced Features For Odoo 17 Community.', + 'description': 'Payroll Advanced Features For Odoo 17 Community,' + 'Payroll-Payslip Reporting, Automatic Mail During ' + 'Confirmation of Payslip, Mass Confirm Payslip ', + 'category': 'Generic Modules/Human Resources', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': [ + 'hr_payroll_community', 'mail', + ], + 'data': [ + 'security/ir.model.access.csv', + 'views/hr_payslip_views.xml', + 'views/res_config_settings_views.xml', + 'data/mail_template_data.xml', + 'wizard/payslip_confirm_views.xml', + 'report/hr_payslip_report_views.xml', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/hr_payslip_monthly_report/data/mail_template_data.xml b/hr_payslip_monthly_report/data/mail_template_data.xml new file mode 100644 index 000000000..23f1a1bb2 --- /dev/null +++ b/hr_payslip_monthly_report/data/mail_template_data.xml @@ -0,0 +1,21 @@ + + + + + + Monthly Payslip Email + + {{(user.email)}} + {{object.employee_id.private_email}} + Ref {{object.number}} + + Hi,

+

Here by attaching payslip details of this month

+ ]]> +
+ + {{(object.number or '').replace('/','_')}} +
+
+
\ No newline at end of file diff --git a/hr_payslip_monthly_report/doc/RELEASE_NOTES.md b/hr_payslip_monthly_report/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..174f73ee7 --- /dev/null +++ b/hr_payslip_monthly_report/doc/RELEASE_NOTES.md @@ -0,0 +1,5 @@ +## Module +#### 18.12.2023 +#### Version 17.0.1.0.0 +#### ADD +- Initial commit for Payroll Advanced Features diff --git a/hr_payslip_monthly_report/models/__init__.py b/hr_payslip_monthly_report/models/__init__.py new file mode 100644 index 000000000..4452a8fdd --- /dev/null +++ b/hr_payslip_monthly_report/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import hr_payslip +from . import res_config_settings diff --git a/hr_payslip_monthly_report/models/hr_payslip.py b/hr_payslip_monthly_report/models/hr_payslip.py new file mode 100644 index 000000000..51fd2bc76 --- /dev/null +++ b/hr_payslip_monthly_report/models/hr_payslip.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import logging + +from odoo import fields, models, _ + +_logger = logging.getLogger(__name__) + + +class HrPayslip(models.Model): + """Inherit hr_payslip module for sending a mail.""" + _inherit = 'hr.payslip' + + is_send_mail = fields.Boolean( + string="Is Send Mail", + help="Checks the Mail is send or not") + + def action_payslip_done(self): + """Checking auto email option is set. If set email containing payslip + details will send on confirmation""" + if self.env['ir.config_parameter'].sudo().get_param( + 'send_payslip_by_email'): + self.write({'is_send_mail': True}) + res = super(HrPayslip, self).action_payslip_done() + if self.env['ir.config_parameter'].sudo().get_param( + 'send_payslip_by_email'): + for payslip in self: + if payslip.employee_id.private_email: + template = self.env.ref( + 'hr_payslip_monthly_report.email_template_payslip') + template.sudo().send_mail(payslip.id, force_send=True) + _logger.info("Payslip details for %s send by mail", + payslip.employee_id.name) + return res + + def action_payslip_send(self): + """Opens a window to compose an email, + with template message loaded by default""" + self.ensure_one() + self.write({'is_send_mail': True}) + ir_model_data = self.env['ir.model.data'] + try: + template_id = ir_model_data._xmlid_lookup( + 'hr_payslip_monthly_report.email_template_payslip')[1] + except ValueError: + template_id = False + try: + compose_form_id = ir_model_data._xmlid_lookup( + 'mail.email_compose_message_wizard_form')[1] + except ValueError: + compose_form_id = False + ctx = { + 'default_model': 'hr.payslip', + 'default_res_ids': self.ids, + 'default_template_id': template_id, + 'default_composition_mode': 'comment', + 'force_email': True, + } + return { + 'name': _('Compose Email'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } diff --git a/hr_payslip_monthly_report/models/res_config_settings.py b/hr_payslip_monthly_report/models/res_config_settings.py new file mode 100644 index 000000000..0cfb7bb00 --- /dev/null +++ b/hr_payslip_monthly_report/models/res_config_settings.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + """Inherit res_config_settings for adding a boolean for send + Payslip by Mail""" + _inherit = 'res.config.settings' + + send_payslip_by_email = fields.Boolean( + string="Automatic Send Payslip By Mail", + help="Is needed for automatic send mail") + + @api.model + def get_values(self): + """Function for getting boolean""" + res = super(ResConfigSettings, self).get_values() + params = self.env['ir.config_parameter'].sudo() + send_payslip_by_email = params.get_param('send_payslip_by_email', + default=False) + res.update( + send_payslip_by_email=send_payslip_by_email + ) + return res + + def set_values(self): + """Function for setting boolean""" + super(ResConfigSettings, self).set_values() + self.env['ir.config_parameter'].sudo().set_param( + "send_payslip_by_email", + self.send_payslip_by_email) diff --git a/hr_payslip_monthly_report/report/__init__.py b/hr_payslip_monthly_report/report/__init__.py new file mode 100644 index 000000000..9c6a4edf9 --- /dev/null +++ b/hr_payslip_monthly_report/report/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import hr_payslip_report diff --git a/hr_payslip_monthly_report/report/hr_payslip_report.py b/hr_payslip_monthly_report/report/hr_payslip_report.py new file mode 100644 index 000000000..e413c5dd2 --- /dev/null +++ b/hr_payslip_monthly_report/report/hr_payslip_report.py @@ -0,0 +1,160 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +import time +from calendar import monthrange +from datetime import date + +from odoo import fields, models, tools + + +class HrPayrollReportView(models.Model): + """Create a new model for getting monthly report""" + _name = 'hr.payroll.report' + _auto = False + + now = date.today() + month_day = monthrange(now.year, now.month) + start_date = fields.Date(string="Start Date", + default=time.strftime('%Y-%m-01'), invisible=True, + help="Start Date for Report") + end_date = fields.Date(string="End Date", default=time.strftime( + '%Y-%m-' + str(month_day[1]) + ''), invisible=True, + help="End Date for Report") + name = fields.Many2one('hr.employee', string='Employee', + help="Choose Employee") + date_from = fields.Date(string='From', help="Starting Date for Report") + date_to = fields.Date(string='To', help="Ending Date for Report") + state = fields.Selection( + [('draft', 'Draft'), ('verify', 'Waiting'), ('done', 'Done'), + ('cancel', 'Rejected')], + string='Status', help="Select Status for Report") + job_id = fields.Many2one('hr.job', string='Job Title', + help="Choose Hr Job") + company_id = fields.Many2one('res.company', string='Company', + help="Choose Company") + department_id = fields.Many2one('hr.department', + string='Department', + help="Choose Hr Department") + rule_name = fields.Many2one('hr.salary.rule.category', + string="Rule Category", + help="Choose Salary Rule Category") + rule_amount = fields.Float(string="Amount", help="Set Amount") + struct_id = fields.Many2one('hr.payroll.structure', + string="Salary Structure", + help="Choose Hr Payroll Structure") + rule_id = fields.Many2one('hr.salary.rule', + string="Salary Rule", help="Choose Salary Rule") + + def _select(self): + """ + Generate and return a SQL SELECT statement for retrieving specific fields from the database. + Returns: + str: SQL SELECT statement with the following fields: + - Minimum of psl.id + - ps.id + - ps.number + - emp.id as name + - dp.id as department_id + - jb.id as job_id + - cmp.id as company_id + - ps.date_from + - ps.date_to + - ps.state as state + - rl.id as rule_name + - psl.total as rule_amount + - ps.struct_id as struct_id + - rlu.id as rule_id + """ + select_str = """ + min(psl.id),ps.id,ps.number,emp.id as name,dp.id as + department_id,jb.id as job_id,cmp.id as company_id,ps.date_from, + ps.date_to, ps.state as state ,rl.id as rule_name, + psl.total as rule_amount,ps.struct_id as struct_id,rlu.id as rule_id + """ + return select_str + + def _from(self): + """ + Generate and return a SQL FROM clause for joining tables in a + database query. + + Returns: + str: SQL FROM clause with the following table joins: + - hr_payslip_line (psl) + - hr_payslip (ps) on ps.id = psl.slip_id + - hr_salary_rule (rlu) on rlu.id = psl.salary_rule_id + - hr_employee (emp) on ps.employee_id = emp.id + - hr_salary_rule_category (rl) on rl.id = psl.category_id + - hr_department (dp) (left join) on emp.department_id = dp.id + - hr_job (jb) (left join) on emp.job_id = jb.id + - res_company (cmp) on cmp.id = ps.company_id + """ + from_str = """ + hr_payslip_line psl + join hr_payslip ps on ps.id=psl.slip_id + join hr_salary_rule rlu on rlu.id = psl.salary_rule_id + join hr_employee emp on ps.employee_id=emp.id + join hr_salary_rule_category rl on rl.id = psl.category_id + left join hr_department dp on emp.department_id=dp.id + left join hr_job jb on emp.job_id=jb.id + join res_company cmp on cmp.id=ps.company_id + """ + return from_str + + def _group_by(self): + """ + Generate and return a SQL GROUP BY clause for grouping results in a + database query. + + Returns: + str: SQL GROUP BY clause with the following fields: + - ps.number + - ps.id + - emp.id + - dp.id + - jb.id + - cmp.id + - ps.date_from + - ps.date_to + - ps.state + - psl.total + - psl.name + - psl.category_id + - rl.id + - rlu.id + """ + group_by_str = """group by ps.number,ps.id,emp.id,dp.id,jb.id,cmp.id, + ps.date_from,ps.date_to,ps.state, + psl.total,psl.name,psl.category_id,rl.id,rlu.id""" + return group_by_str + + def init(self): + """ + Initialize or update a database view with a SELECT statement. + """ + tools.drop_view_if_exists(self.env.cr, self._table) + self.env.cr.execute("""CREATE or REPLACE VIEW %s as ( SELECT + %s + FROM %s + %s + )""" % ( + self._table, self._select(), self._from(), self._group_by())) diff --git a/hr_payslip_monthly_report/report/hr_payslip_report_views.xml b/hr_payslip_monthly_report/report/hr_payslip_report_views.xml new file mode 100644 index 000000000..00971e8bb --- /dev/null +++ b/hr_payslip_monthly_report/report/hr_payslip_report_views.xml @@ -0,0 +1,88 @@ + + + + + hr.payroll.view.pivot + hr.payroll.report + + + + + + + + + + + hr.payroll.view.graph + hr.payroll.report + + + + + + + + + + hr.payroll.select + hr.payroll.report + + + + + + + + + + + + + + + + + + + + + + + + + + hr.payroll.report + Payslips + pivot,graph + {'search_default_year':1} + This report helps in payroll analysis. This helps you + to check your payslips and sorting it out from different group + criteria (Employee, Job title, Department, Company, Pay slip etc.). + + + + + + \ No newline at end of file diff --git a/hr_payslip_monthly_report/security/ir.model.access.csv b/hr_payslip_monthly_report/security/ir.model.access.csv new file mode 100644 index 000000000..0956fda07 --- /dev/null +++ b/hr_payslip_monthly_report/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_hr_payslip_monthly_report_manager,hr.payroll.report,model_hr_payroll_report,hr_payroll_community.group_hr_payroll_community_user,1,1,1,1 +access_group_user,Access User,model_payslip_confirm,hr_payroll_community.group_hr_payroll_community_user,1,1,1,1 \ No newline at end of file diff --git a/hr_payslip_monthly_report/static/description/assets/icons/capture (1).png b/hr_payslip_monthly_report/static/description/assets/icons/capture (1).png new file mode 100644 index 000000000..8824deafc Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/capture (1).png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/check.png b/hr_payslip_monthly_report/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/check.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/chevron.png b/hr_payslip_monthly_report/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/chevron.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/cogs.png b/hr_payslip_monthly_report/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/cogs.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/consultation.png b/hr_payslip_monthly_report/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/consultation.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/ecom-black.png b/hr_payslip_monthly_report/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/ecom-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/education-black.png b/hr_payslip_monthly_report/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/education-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/hotel-black.png b/hr_payslip_monthly_report/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/hotel-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/img.png b/hr_payslip_monthly_report/static/description/assets/icons/img.png new file mode 100644 index 000000000..70197f477 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/img.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/license.png b/hr_payslip_monthly_report/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/license.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/lifebuoy.png b/hr_payslip_monthly_report/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/lifebuoy.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/manufacturing-black.png b/hr_payslip_monthly_report/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/manufacturing-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/photo-capture.png b/hr_payslip_monthly_report/static/description/assets/icons/photo-capture.png new file mode 100644 index 000000000..06c111758 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/photo-capture.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/pos-black.png b/hr_payslip_monthly_report/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/pos-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/puzzle.png b/hr_payslip_monthly_report/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/puzzle.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/restaurant-black.png b/hr_payslip_monthly_report/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/restaurant-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/service-black.png b/hr_payslip_monthly_report/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/service-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/trading-black.png b/hr_payslip_monthly_report/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/trading-black.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/training.png b/hr_payslip_monthly_report/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/training.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/update.png b/hr_payslip_monthly_report/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/update.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/user.png b/hr_payslip_monthly_report/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/user.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/icons/wrench.png b/hr_payslip_monthly_report/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/icons/wrench.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/misc/Cybrosys R.png b/hr_payslip_monthly_report/static/description/assets/misc/Cybrosys R.png new file mode 100644 index 000000000..da4058087 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/misc/Cybrosys R.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/misc/email.svg b/hr_payslip_monthly_report/static/description/assets/misc/email.svg new file mode 100644 index 000000000..15291cdc3 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/email.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/phone.svg b/hr_payslip_monthly_report/static/description/assets/misc/phone.svg new file mode 100644 index 000000000..b7bd7f251 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/phone.svg @@ -0,0 +1,3 @@ + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/star (1) 2.svg b/hr_payslip_monthly_report/static/description/assets/misc/star (1) 2.svg new file mode 100644 index 000000000..5ae9f507a --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/star (1) 2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/support (1) 1.svg b/hr_payslip_monthly_report/static/description/assets/misc/support (1) 1.svg new file mode 100644 index 000000000..7d37a8f30 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/support (1) 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/support-email.svg b/hr_payslip_monthly_report/static/description/assets/misc/support-email.svg new file mode 100644 index 000000000..eb70370d6 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/support-email.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/tick-mark.svg b/hr_payslip_monthly_report/static/description/assets/misc/tick-mark.svg new file mode 100644 index 000000000..2dbb40187 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/tick-mark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/whatsapp 1.svg b/hr_payslip_monthly_report/static/description/assets/misc/whatsapp 1.svg new file mode 100644 index 000000000..0bfaf8fc6 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/whatsapp 1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/misc/whatsapp.svg b/hr_payslip_monthly_report/static/description/assets/misc/whatsapp.svg new file mode 100644 index 000000000..b618aea1d --- /dev/null +++ b/hr_payslip_monthly_report/static/description/assets/misc/whatsapp.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr_payslip_monthly_report/static/description/assets/modules/1.gif b/hr_payslip_monthly_report/static/description/assets/modules/1.gif new file mode 100644 index 000000000..d19e2b352 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/1.gif differ diff --git a/hr_payslip_monthly_report/static/description/assets/modules/2.jpg b/hr_payslip_monthly_report/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..7b16c4f1f Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/2.jpg differ diff --git a/hr_payslip_monthly_report/static/description/assets/modules/3.jpg b/hr_payslip_monthly_report/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..094fffcd1 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/3.jpg differ diff --git a/hr_payslip_monthly_report/static/description/assets/modules/4.jpg b/hr_payslip_monthly_report/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..b32ba9e91 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/4.jpg differ diff --git a/hr_payslip_monthly_report/static/description/assets/modules/5.jpg b/hr_payslip_monthly_report/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..224bb649b Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/5.jpg differ diff --git a/hr_payslip_monthly_report/static/description/assets/modules/6.jpg b/hr_payslip_monthly_report/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..7af1a94cb Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/modules/6.jpg differ diff --git a/hr_payslip_monthly_report/static/description/assets/screenshots/1.png b/hr_payslip_monthly_report/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..1bb2b3edf Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/screenshots/1.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/screenshots/2.png b/hr_payslip_monthly_report/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..9217d5b7c Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/screenshots/2.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/screenshots/3.png b/hr_payslip_monthly_report/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..784649193 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/screenshots/3.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/screenshots/4.png b/hr_payslip_monthly_report/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..56bd70e4e Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/screenshots/4.png differ diff --git a/hr_payslip_monthly_report/static/description/assets/screenshots/hero.gif b/hr_payslip_monthly_report/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..7e22ff8ed Binary files /dev/null and b/hr_payslip_monthly_report/static/description/assets/screenshots/hero.gif differ diff --git a/hr_payslip_monthly_report/static/description/banner.jpg b/hr_payslip_monthly_report/static/description/banner.jpg new file mode 100644 index 000000000..ed878a938 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/banner.jpg differ diff --git a/hr_payslip_monthly_report/static/description/icon.png b/hr_payslip_monthly_report/static/description/icon.png new file mode 100644 index 000000000..e810c4dc6 Binary files /dev/null and b/hr_payslip_monthly_report/static/description/icon.png differ diff --git a/hr_payslip_monthly_report/static/description/index.html b/hr_payslip_monthly_report/static/description/index.html new file mode 100644 index 000000000..4de489953 --- /dev/null +++ b/hr_payslip_monthly_report/static/description/index.html @@ -0,0 +1,706 @@ + + + + + + + Odoo App 3 Index + + + + + + + + +
+
+
+
+
+ +
+
+
+ Community +
+
+
+
+
+
+

+ Payroll Advanced Features

+

+ Payroll Advanced Features For Odoo 17 Community +

+
+ +
+
+
+
+
+

+ Key Highlights +

+
+
+
+
+
+ +
+
+

+ Payroll-Payslip Reporting.

+

Payroll-Payslip reporting options. +

+
+
+
+
+
+
+ +
+
+

+ Automatic Mail During Confirmation of Payslip.

+

Automatic Payslip Mail to an employee during the confirmation of payslip. +

+
+
+
+
+
+
+ +
+
+

+ Mass Confirm Payslip.

+

Option to Mass confirm Payslips. +

+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+

+ Option to send Email.

+
+
+
+
+
+
+ +
+
+

+ Email Auto Configuration

+
+
+
+
+
+
+ +
+
+

+ Generate Payslip Report

+
+
+
+
+
+
+ +
+
+

+ Option to Mass confirm Payslip.

+
+
+
+
+
+
+
    +
  • + Payroll-Payslip Reporting. +
  • +
  • + Automatic Mail During Confirmation of Payslip. +
  • +
  • + Mass Confirm Payslip. +
      +
    • +
    • +
    +
  • + +
+
+
+
+
+
+
Version + 17.0.1.0.0|Released on 18th Dec 2023 +
+

+ + Initial Commit for Payroll Advanced Features.

+
+
+
+
+
+
+
+

+ Related Products

+
+
+ +
+
+

+ Our Services

+ +
+
+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Customization

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Support

+
+
+
+
+
+
+ service-icon +
+
+

Hire + Odoo Developer

+
+
+
+
+ +
+
+ service-icon +
+
+

Odoo + Integration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Migration

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Consultancy

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Implementation

+
+
+
+
+
+
+ service-icon +
+
+

Odoo + Licensing Consultancy

+
+
+
+
+
+
+

+ Our Industries

+ +
+
+
+
+
+
+ +

Trading

+

Easily procure and sell your products

+
+
+
+
+ +

POS

+

Easy configuration and convivial experience

+
+
+
+
+ +

+ Education

+

A platform for educational management

+
+
+
+
+ +

+ Manufacturing

+

Plan, track and schedule your operations

+
+
+
+
+ +

E-commerce & + Website

+

Mobile friendly, awe-inspiring product pages

+
+
+
+
+ +

Service + Management

+

Keep track of services and invoice

+
+
+
+
+ +

+ Restaurant

+

Run your bar or restaurant methodically

+
+
+
+
+ +

Hotel + Management

+

An all-inclusive hotel management application

+
+
+
+
+
+
+

+ Support

+
+
+
+
+
+
+
+ +
+ Need + Help? +

Got + questions or need help? Get in touch.

+
odoo@cybrosys.com +
+
+
+
+
+
+
+
+ +
+ WhatsApp +

Say hi to + us on WhatsApp!

+
+91 + 99456767686 +
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/hr_payslip_monthly_report/views/hr_payslip_views.xml b/hr_payslip_monthly_report/views/hr_payslip_views.xml new file mode 100644 index 000000000..c5eb0ba97 --- /dev/null +++ b/hr_payslip_monthly_report/views/hr_payslip_views.xml @@ -0,0 +1,19 @@ + + + + + hr.payslip.view.form.inherit.hr.payslip.monthly.report + hr.payslip + + + +