diff --git a/hr_payslip_monthly_report/README.rst b/hr_payslip_monthly_report/README.rst
new file mode 100644
index 000000000..ad67ed752
--- /dev/null
+++ b/hr_payslip_monthly_report/README.rst
@@ -0,0 +1,40 @@
+Payroll Advanced Features
+=========================
+* Payroll Advanced Features for Odoo 13 community edition
+
+Installation
+============
+ - www.odoo.com/documentation/13.0/setup/install.html
+ - Install our custom addon
+
+License
+-------
+Affero General Public License, Version 3 (AGPL v3).
+(https://www.odoo.com/documentation/user/13.0/legal/licenses/licenses.html)
+
+Company
+-------
+* 'Cybrosys Techno Solutions `__
+
+Contacts
+--------
+* Mail Contact : odoo@cybrosys.com
+
+Credits
+--------
+* Anusha, odoo@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
+==========
+This module is maintained by Cybrosys Technologies.
+
+For support and more information, please visit https://www.cybrosys.com
+
+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..ee5061231
--- /dev/null
+++ b/hr_payslip_monthly_report/__init__.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# 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..28fe293a8
--- /dev/null
+++ b/hr_payslip_monthly_report/__manifest__.py
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+{
+ 'name': 'Payroll Advanced Features',
+ 'summary': 'Payroll Advanced Features For Odoo 13 Community.',
+ 'description': 'Payroll Advanced Features For Odoo 13 Community, payroll, odoo13, payroll report, payslip report',
+ 'category': 'Generic Modules/Human Resources',
+ 'version': '13.0.1.0.0',
+ '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.xml',
+ 'views/res_config_settings_views.xml',
+ 'data/payslip_mail_template.xml',
+ 'wizard/hr_payslip_mass_confirm.xml',
+ 'report/hr_payslip_report.xml',
+ ],
+ 'images': ['static/description/banner.png'],
+ 'license': 'AGPL-3',
+ 'installable': True,
+ 'auto_install': False,
+ 'application': False,
+}
+
diff --git a/hr_payslip_monthly_report/data/payslip_mail_template.xml b/hr_payslip_monthly_report/data/payslip_mail_template.xml
new file mode 100644
index 000000000..b4f610176
--- /dev/null
+++ b/hr_payslip_monthly_report/data/payslip_mail_template.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+ Monthly Payslip Email
+
+ ${(user.email |safe)}
+ ${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..e5191b937
--- /dev/null
+++ b/hr_payslip_monthly_report/doc/RELEASE_NOTES.md
@@ -0,0 +1,7 @@
+## Module
+
+#### 29.2.2020
+#### Version 13.0.1.0.0
+#### ADD
+- Initial commit
+
diff --git a/hr_payslip_monthly_report/models/__init__.py b/hr_payslip_monthly_report/models/__init__.py
new file mode 100644
index 000000000..bfe4ad32b
--- /dev/null
+++ b/hr_payslip_monthly_report/models/__init__.py
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# 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..6116dce24
--- /dev/null
+++ b/hr_payslip_monthly_report/models/hr_payslip.py
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+import logging
+from odoo import models, _
+
+_logger = logging.getLogger(__name__)
+
+
+class HrPayslip(models.Model):
+ _inherit = 'hr.payslip'
+
+ def action_payslip_done(self):
+ """Checking auto email option is set.if set email containing payslip details will be send on confirmation"""
+ 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()
+ ir_model_data = self.env['ir.model.data']
+ try:
+ template_id = ir_model_data.get_object_reference('hr_payslip_monthly_report',
+ 'email_template_payslip')[1]
+ except ValueError:
+ template_id = False
+ try:
+ compose_form_id = ir_model_data.get_object_reference('mail',
+ 'email_compose_message_wizard_form')[1]
+ except ValueError:
+ compose_form_id = False
+ ctx = {
+ 'default_model': 'hr.payslip',
+ 'default_res_id': self.ids[0],
+ 'default_use_template': bool(template_id),
+ 'default_template_id': template_id,
+ 'default_composition_mode': 'comment',
+ }
+ 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..3798d51f0
--- /dev/null
+++ b/hr_payslip_monthly_report/models/res_config_settings.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+from odoo import fields, models, api
+
+
+class ResConfigSettings(models.TransientModel):
+ _inherit = 'res.config.settings'
+
+ send_payslip_by_email = fields.Boolean(string="Automatic Send Payslip By Mail")
+
+ @api.model
+ def get_values(self):
+ 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):
+ 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..63ffb1e6d
--- /dev/null
+++ b/hr_payslip_monthly_report/report/__init__.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# 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..fb776a815
--- /dev/null
+++ b/hr_payslip_monthly_report/report/hr_payslip_report.py
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+from odoo import fields, models, tools
+from datetime import date
+import time
+from calendar import monthrange
+
+
+class PayrollReportView(models.Model):
+ _name = 'hr.payroll.report.view'
+ _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)
+ end_date = fields.Date(string="End Date", default=time.strftime('%Y-%m-' + str(month_day[1]) + ''), invisible=True)
+ name = fields.Many2one('hr.employee', string='Employee')
+ date_from = fields.Date(string='From')
+ date_to = fields.Date(string='To')
+ state = fields.Selection([('draft', 'Draft'), ('verify', 'Waiting'), ('done', 'Done'), ('cancel', 'Rejected')],
+ string='Status')
+ job_id = fields.Many2one('hr.job', string='Job Title')
+ company_id = fields.Many2one('res.company', string='Company')
+ department_id = fields.Many2one('hr.department', string='Department')
+ rule_name = fields.Many2one('hr.salary.rule.category', string="Rule Category")
+ rule_amount = fields.Float(string="Amount")
+ struct_id = fields.Many2one('hr.payroll.structure', string="Salary Structure")
+ rule_id = fields.Many2one('hr.salary.rule', string="Salary Rule")
+
+ def _select(self):
+ 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):
+ 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):
+ 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):
+ 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.xml b/hr_payslip_monthly_report/report/hr_payslip_report.xml
new file mode 100644
index 000000000..54c885b8b
--- /dev/null
+++ b/hr_payslip_monthly_report/report/hr_payslip_report.xml
@@ -0,0 +1,78 @@
+
+
+
+
+ hr.payslip.pivot
+ hr.payroll.report.view
+
+
+
+
+
+
+
+
+
+
+ hr.payslip.graph
+ hr.payroll.report.view
+
+
+
+
+
+
+
+
+
+ hr.payslip.search
+ hr.payroll.report.view
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hr.payroll.report.view
+ Payslips
+ pivot,graph
+ {'search_default_year':1}
+ This report helps in payroll analysis. This helps you to check your pay slips 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..b41c4810d
--- /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.view,hr_payslip_monthly_report.model_hr_payroll_report_view,hr_payroll_community.group_hr_payroll_community_user,1,1,1,1
+
diff --git a/hr_payslip_monthly_report/static/description/banner.png b/hr_payslip_monthly_report/static/description/banner.png
new file mode 100644
index 000000000..21ec46472
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/banner.png 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..c5cb9a55a
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/icon.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_barcode_scanning.jpeg b/hr_payslip_monthly_report/static/description/images/banner_barcode_scanning.jpeg
new file mode 100644
index 000000000..529143e4e
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_barcode_scanning.jpeg differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_currency_total.png b/hr_payslip_monthly_report/static/description/images/banner_currency_total.png
new file mode 100644
index 000000000..6153ed719
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_currency_total.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_customer_sequence.jpeg b/hr_payslip_monthly_report/static/description/images/banner_customer_sequence.jpeg
new file mode 100644
index 000000000..7451342d6
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_customer_sequence.jpeg differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_previous_rates.jpeg b/hr_payslip_monthly_report/static/description/images/banner_previous_rates.jpeg
new file mode 100644
index 000000000..e10c28799
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_previous_rates.jpeg differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_product_branding.png b/hr_payslip_monthly_report/static/description/images/banner_product_branding.png
new file mode 100644
index 000000000..aa12beabb
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_product_branding.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/banner_product_expiry.jpeg b/hr_payslip_monthly_report/static/description/images/banner_product_expiry.jpeg
new file mode 100644
index 000000000..84a872d44
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/banner_product_expiry.jpeg differ
diff --git a/hr_payslip_monthly_report/static/description/images/checked.png b/hr_payslip_monthly_report/static/description/images/checked.png
new file mode 100644
index 000000000..578cedb80
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/checked.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/cybrosys.png b/hr_payslip_monthly_report/static/description/images/cybrosys.png
new file mode 100644
index 000000000..d76b5bafb
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/cybrosys.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/email_option.png b/hr_payslip_monthly_report/static/description/images/email_option.png
new file mode 100644
index 000000000..4330a9674
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/email_option.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/mass_confirm.png b/hr_payslip_monthly_report/static/description/images/mass_confirm.png
new file mode 100644
index 000000000..3645acb7f
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/mass_confirm.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/payroll_adavanced_main.png b/hr_payslip_monthly_report/static/description/images/payroll_adavanced_main.png
new file mode 100644
index 000000000..4c016d68b
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/payroll_adavanced_main.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/payroll_report.png b/hr_payslip_monthly_report/static/description/images/payroll_report.png
new file mode 100644
index 000000000..e4e08777e
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/payroll_report.png differ
diff --git a/hr_payslip_monthly_report/static/description/images/setting.png b/hr_payslip_monthly_report/static/description/images/setting.png
new file mode 100644
index 000000000..86d0b5369
Binary files /dev/null and b/hr_payslip_monthly_report/static/description/images/setting.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..0127fee9c
--- /dev/null
+++ b/hr_payslip_monthly_report/static/description/index.html
@@ -0,0 +1,524 @@
+
+
+
+
+
+
Payroll Advanced Features
+
Payroll Advanced Features For Odoo 13 Community.
+
+
Key Highlights
+
+
+ Payroll-Payslip Report.
+
+
+ Option for sending payslip report to employees by email.
+
+
+ Automatic email to employee containing payslip details during the confirmation of payslip.
+
+
+
\ No newline at end of file
diff --git a/hr_payslip_monthly_report/views/hr_payslip.xml b/hr_payslip_monthly_report/views/hr_payslip.xml
new file mode 100644
index 000000000..bc6efdb2e
--- /dev/null
+++ b/hr_payslip_monthly_report/views/hr_payslip.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ hr.payslip.view.form.inherit.mrp.workorder
+ hr.payslip
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hr_payslip_monthly_report/views/res_config_settings_views.xml b/hr_payslip_monthly_report/views/res_config_settings_views.xml
new file mode 100644
index 000000000..6901487aa
--- /dev/null
+++ b/hr_payslip_monthly_report/views/res_config_settings_views.xml
@@ -0,0 +1,29 @@
+
+
+
+ res.config.settings.view.form.inherit.hr.payroll
+ res.config.settings
+
+
+
+
+
+
+
+
+
+
+
+
+ Automatically send Email with Payslip details On Confirmation of Payslip.
+
+
+
+
+
+
+
+
diff --git a/hr_payslip_monthly_report/wizard/__init__.py b/hr_payslip_monthly_report/wizard/__init__.py
new file mode 100644
index 000000000..0f2e621db
--- /dev/null
+++ b/hr_payslip_monthly_report/wizard/__init__.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+from . import hr_payslip_mass_confirm
diff --git a/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.py b/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.py
new file mode 100644
index 000000000..d8675c051
--- /dev/null
+++ b/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.py
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+###################################################################################
+#
+# Cybrosys Technologies Pvt. Ltd.
+#
+# Copyright (C) 2019-TODAY Cybrosys Technologies ().
+# Author: Anusha ()
+#
+# This program is free software: you can modify
+# it under the terms of the GNU Affero General Public License (AGPL) as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# 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 Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+###################################################################################
+
+from odoo import models
+
+
+class MassConfirmPayslip(models.TransientModel):
+ _name = 'payslip.confirm'
+ _description = 'Mass Confirm Payslip'
+
+ def confirm_payslip(self):
+ """Mass Confirmation of Payslip"""
+ context = self._context
+ record_ids = context.get('active_ids', [])
+ for each in record_ids:
+ payslip_id = self.env['hr.payslip'].search([('id', '=', each),
+ ('state', 'not in', ['cancel', 'done'])])
+ if payslip_id:
+ payslip_id.action_payslip_done()
diff --git a/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.xml b/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.xml
new file mode 100644
index 000000000..20c37f7bd
--- /dev/null
+++ b/hr_payslip_monthly_report/wizard/hr_payslip_mass_confirm.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+ Confirm Payslip
+ payslip.confirm
+
+
+
+
+
+
+ Confirm Payslip
+ ir.actions.act_window
+ payslip.confirm
+ form
+ new
+
+ list
+
+