diff --git a/company_public_holidays_kanak/COPYRIGHT b/company_public_holidays_kanak/COPYRIGHT new file mode 100644 index 0000000..3143258 --- /dev/null +++ b/company_public_holidays_kanak/COPYRIGHT @@ -0,0 +1,15 @@ + +Most of the files are + + Copyright (c) 2012-TODAY Kanak Infosystems LLP + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. + diff --git a/company_public_holidays_kanak/LICENSE b/company_public_holidays_kanak/LICENSE new file mode 100644 index 0000000..d99face --- /dev/null +++ b/company_public_holidays_kanak/LICENSE @@ -0,0 +1,11 @@ +Kanak Infosystems LLP Proprietary License v1.0 + +This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Kanak Infosystems LLP Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). + +You may develop Kanak Infosystems LLP modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Kanak Infosystems LLP Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). + +It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. + +The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/company_public_holidays_kanak/__init__.py b/company_public_holidays_kanak/__init__.py new file mode 100644 index 0000000..6461253 --- /dev/null +++ b/company_public_holidays_kanak/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Powered by Kanak Infosystems LLP. +# © 2020 Kanak Infosystems LLP. (). + +from . import models diff --git a/company_public_holidays_kanak/__manifest__.py b/company_public_holidays_kanak/__manifest__.py new file mode 100644 index 0000000..e2d71f7 --- /dev/null +++ b/company_public_holidays_kanak/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################### +# Author : Kanak Infosystems LLP. () +# Copyright(c): 2012-Present Kanak Infosystems LLP. +# All Rights Reserved. +# +# +# This program is copyright property of the author mentioned above. +# You can`t redistribute it and/or modify it. +# +# +# You should have received a copy of the License along with this program. +# If not, see +############################################################################### +{ + 'name': 'Company Public Holiday(Global Leaves)', + 'version': '1.0', + 'category': 'Human Resources', + 'author': 'Kanak Infosystems LLP.', + 'website': 'https://www.kankinfosystems.com', + 'summary': "This odoo module is allow to add company holiday, company can create a public holiday and send holiday list through mail to employees, update calendar and print holiday report.", + 'description': """ +- module allows to add company holiday in Odoo. +=============================================== +Key Features: + * Add company public holiday in odoo. + * Company holiday list can be send all employee by the email. + * Holiday list will be automatically update on globel leaves. + * Holiday list will be automatically update on calendar. + + """, + 'depends': ['resource', 'mail', 'hr', 'hr_holidays'], + 'data': [ + 'data/company_resource_calendar_mail.xml', + 'security/ir.model.access.csv', + 'security/company_public_holidays_rule_security.xml', + 'reports/public_holiday_report_template.xml', + 'views/company_resource_calendar_view.xml', + ], + 'images': ['static/description/banner.jpg'], + 'sequence': 1, + 'installable': True, + 'application': True, + 'auto_install': False, + 'price': 35, + 'currency': 'EUR', +} diff --git a/company_public_holidays_kanak/data/company_resource_calendar_mail.xml b/company_public_holidays_kanak/data/company_resource_calendar_mail.xml new file mode 100644 index 0000000..5d008d5 --- /dev/null +++ b/company_public_holidays_kanak/data/company_resource_calendar_mail.xml @@ -0,0 +1,51 @@ + + + + + Public Holiday + + + + Public Holiday - Send by Email + ${ctx.get('user_email') or ''|safe} + ${object.name} + + + ${object.employee_id.lang} + +
+

+ Hello All, +

+ Here the List of ${object.name} +

+

+
+ + + + + + +
NameStart DateEnd Date
+ + % for line in object.company_global_leave_ids: + + + + + +
+ ${line.name} + + ${line.date_from} + + ${line.date_to} +
+ % endfor +
+
+
+
+
+
diff --git a/company_public_holidays_kanak/models/__init__.py b/company_public_holidays_kanak/models/__init__.py new file mode 100644 index 0000000..2b64314 --- /dev/null +++ b/company_public_holidays_kanak/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Powered by Kanak Infosystems LLP. +# © 2020 Kanak Infosystems LLP. (). + +from . import company_resource_calendar diff --git a/company_public_holidays_kanak/models/company_resource_calendar.py b/company_public_holidays_kanak/models/company_resource_calendar.py new file mode 100644 index 0000000..a0e0e2c --- /dev/null +++ b/company_public_holidays_kanak/models/company_resource_calendar.py @@ -0,0 +1,134 @@ +# -*- coding: utf-8 -*- +# Powered by Kanak Infosystems LLP. +# © 2020 Kanak Infosystems LLP. (). + +import datetime + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class CompanyResourceCalendar(models.Model): + _name = 'company.resource.calendar' + _description = 'Company Resouce Calendar' + _inherit = ['mail.thread'] + + def _compute_selection(self): + flag = 0 + year_list = [] + year = datetime.datetime.now().year + while flag <= 10: + year_list.append((str(year), str(year))) + flag += 1 + year += 1 + return year_list + + name = fields.Char('Name', required=1) + company_global_leave_ids = fields.One2many( + 'company.resource.calendar.leaves', 'company_calendar_id', string='Company Global Leaves') + employee_id = fields.Many2one('hr.employee', string='Employee') + year = fields.Datetime() + year_list = fields.Selection(selection=lambda self: self._compute_selection()) + company_id = fields.Many2one('res.company', string='Company', index=True, default=lambda self: self.env.company) + + @api.constrains('company_global_leave_ids') + def _check_exist_dates(self): + exist_product_list = [] + for global_leaves in self: + for line in global_leaves.company_global_leave_ids: + if datetime.datetime.strftime(line.date_from, "%Y-%m-%d") in exist_product_list: + raise ValidationError(_('You can not Add Twice Same Date Public Holiday')) + exist_product_list.append(datetime.datetime.strftime(line.date_from, "%Y-%m-%d")) + + def action_public_holiday_send(self): + self.ensure_one() + template = self.env.ref('company_public_holidays_kanak.email_template_company_public_holidays', False) + compose_form = self.env.ref('mail.email_compose_message_wizard_form', False) + employee_partner = self.env['hr.employee'].search([]).mapped('user_id').mapped('partner_id') + ctx = dict( + default_model='company.resource.calendar', + default_res_id=self.id, + default_use_template=bool(template), + default_template_id=template and template.id or False, + default_composition_mode='mass_mail', + user_email=self.env.user.email, + default_partner_ids=[(6, 0, employee_partner.ids)] + ) + return { + 'name': _('Compose Email'), + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(compose_form.id, 'form')], + 'view_id': compose_form.id, + 'target': 'new', + 'context': ctx + } + + def action_holiday_update_calendar(self): + public_holiday = [] + Calendar = self.env['calendar.event'] + for comp_global_leave in self.company_global_leave_ids: + public_holiday.append({ + 'name': "Holiday"+"/"+comp_global_leave.name, + 'start': comp_global_leave.date_from, + 'stop': comp_global_leave.date_to, + 'categ_ids': [(6, 0, [self.env.ref('company_public_holidays_kanak.categ_meet6').id])] + + }) + for holiday in public_holiday: + existing_calender = Calendar.search([('start', '=', holiday['start'])]) + if not existing_calender: + Calendar.create(holiday) + + +class CompanyResourceCalendarLeaves(models.Model): + _name = 'company.resource.calendar.leaves' + _description = 'Company Resouce Calendar Leaves' + + name = fields.Char('Reason') + company_calendar_id = fields.Many2one('company.resource.calendar', 'Working Hours') + date_from = fields.Datetime('Start Date', required=True) + date_to = fields.Datetime('End Date', required=True) + company_id = fields.Many2one('res.company', string='Company', index=True, default=lambda self: self.env.company) + + @api.model + def create(self, values): + res = super(CompanyResourceCalendarLeaves, self).create(values) + resource_calendar = self.env['resource.calendar'].search([]) + for comp_global_leave in res: + res_cal_leaves_vals = { + 'name': comp_global_leave.name, + 'date_from': comp_global_leave.date_from, + 'date_to': comp_global_leave.date_to, + 'company_res_calendar_leaves_id': comp_global_leave.id + } + for calendar in resource_calendar: + calendar.global_leave_ids = [(0, 0, res_cal_leaves_vals)] + return res + + def write(self, values): + resource_calendar = self.env['resource.calendar.leaves'].search([('company_res_calendar_leaves_id', '=', self.id)]) + resource_calendar.write(values) + res = super(CompanyResourceCalendarLeaves, self).write(values) + return res + + def unlink(self): + resource_calendar = self.env['resource.calendar.leaves'].search([('company_res_calendar_leaves_id', '=', self.id)]) + resource_calendar.unlink() + res = super(CompanyResourceCalendarLeaves, self).unlink() + return res + + +class ResourceCalendarLeaves(models.Model): + _inherit = "resource.calendar.leaves" + + company_res_calendar_leaves_id = fields.Many2one('company.resource.calendar.leaves', string='Company Resouce Calendar') + + +class MailComposer(models.TransientModel): + _inherit = 'mail.compose.message' + + employee_ids = fields.Many2many( + 'hr.employee', 'mail_compose_message_hr_employee_rel', 'wizard_id', 'employee_id', 'Employee') diff --git a/company_public_holidays_kanak/reports/public_holiday_report_template.xml b/company_public_holidays_kanak/reports/public_holiday_report_template.xml new file mode 100644 index 0000000..113f22d --- /dev/null +++ b/company_public_holidays_kanak/reports/public_holiday_report_template.xml @@ -0,0 +1,48 @@ + + + + Holiday Report + company.resource.calendar + qweb-pdf + company_public_holidays_kanak.holiday_report + company_public_holidays_kanak.holiday_report + + report + + + + \ No newline at end of file diff --git a/company_public_holidays_kanak/security/company_public_holidays_rule_security.xml b/company_public_holidays_kanak/security/company_public_holidays_rule_security.xml new file mode 100644 index 0000000..b67453f --- /dev/null +++ b/company_public_holidays_kanak/security/company_public_holidays_rule_security.xml @@ -0,0 +1,18 @@ + + + + + + Company Resouce Calendar Rules Multi-company + + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + Company Resouce Calendar Leaves Rules Line Multi-company + + + ['|', ('company_id', '=', False), ('company_id', 'in', company_ids)] + + + \ No newline at end of file diff --git a/company_public_holidays_kanak/security/ir.model.access.csv b/company_public_holidays_kanak/security/ir.model.access.csv new file mode 100644 index 0000000..af5ee19 --- /dev/null +++ b/company_public_holidays_kanak/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_company_resource_calendar,access_company_resource_calendar,model_company_resource_calendar,base.group_user,1,1,1,1 +accesscompany_resource_calendar_leaves,accesscompany_resource_calendar_leaves,model_company_resource_calendar_leaves,base.group_user,1,1,1,1 diff --git a/company_public_holidays_kanak/static/description/Atom-Payment-Gateway.png b/company_public_holidays_kanak/static/description/Atom-Payment-Gateway.png new file mode 100644 index 0000000..ef8aacf Binary files /dev/null and b/company_public_holidays_kanak/static/description/Atom-Payment-Gateway.png differ diff --git a/company_public_holidays_kanak/static/description/Authorize-Payment-gateway---CM.png b/company_public_holidays_kanak/static/description/Authorize-Payment-gateway---CM.png new file mode 100644 index 0000000..c0a326b Binary files /dev/null and b/company_public_holidays_kanak/static/description/Authorize-Payment-gateway---CM.png differ diff --git a/company_public_holidays_kanak/static/description/Email-paypal.png b/company_public_holidays_kanak/static/description/Email-paypal.png new file mode 100644 index 0000000..3c5984f Binary files /dev/null and b/company_public_holidays_kanak/static/description/Email-paypal.png differ diff --git a/company_public_holidays_kanak/static/description/Hire-Odoo-Developer.jpg b/company_public_holidays_kanak/static/description/Hire-Odoo-Developer.jpg new file mode 100644 index 0000000..420d1b4 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Hire-Odoo-Developer.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Customization.jpg b/company_public_holidays_kanak/static/description/Odoo-Customization.jpg new file mode 100644 index 0000000..9f86f6c Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Customization.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Development.jpg b/company_public_holidays_kanak/static/description/Odoo-Development.jpg new file mode 100644 index 0000000..958324c Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Development.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Installation.jpg b/company_public_holidays_kanak/static/description/Odoo-Installation.jpg new file mode 100644 index 0000000..0550b01 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Installation.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Integration.jpg b/company_public_holidays_kanak/static/description/Odoo-Integration.jpg new file mode 100644 index 0000000..25979c6 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Integration.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Resources.jpg b/company_public_holidays_kanak/static/description/Odoo-Resources.jpg new file mode 100644 index 0000000..04d3243 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Resources.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Themes.jpg b/company_public_holidays_kanak/static/description/Odoo-Themes.jpg new file mode 100644 index 0000000..6799654 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Themes.jpg differ diff --git a/company_public_holidays_kanak/static/description/Odoo-Training.jpg b/company_public_holidays_kanak/static/description/Odoo-Training.jpg new file mode 100644 index 0000000..76dc76a Binary files /dev/null and b/company_public_holidays_kanak/static/description/Odoo-Training.jpg differ diff --git a/company_public_holidays_kanak/static/description/Paypal-Adaptive-Payment.png b/company_public_holidays_kanak/static/description/Paypal-Adaptive-Payment.png new file mode 100644 index 0000000..c365339 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Paypal-Adaptive-Payment.png differ diff --git a/company_public_holidays_kanak/static/description/Paytrail-Payment-Acquirer.png b/company_public_holidays_kanak/static/description/Paytrail-Payment-Acquirer.png new file mode 100644 index 0000000..937ecfe Binary files /dev/null and b/company_public_holidays_kanak/static/description/Paytrail-Payment-Acquirer.png differ diff --git a/company_public_holidays_kanak/static/description/Payvalida-Payment.png b/company_public_holidays_kanak/static/description/Payvalida-Payment.png new file mode 100644 index 0000000..e719c96 Binary files /dev/null and b/company_public_holidays_kanak/static/description/Payvalida-Payment.png differ diff --git a/company_public_holidays_kanak/static/description/banner.jpg b/company_public_holidays_kanak/static/description/banner.jpg new file mode 100644 index 0000000..2d64c47 Binary files /dev/null and b/company_public_holidays_kanak/static/description/banner.jpg differ diff --git a/company_public_holidays_kanak/static/description/calendar.png b/company_public_holidays_kanak/static/description/calendar.png new file mode 100644 index 0000000..4cf88fe Binary files /dev/null and b/company_public_holidays_kanak/static/description/calendar.png differ diff --git a/company_public_holidays_kanak/static/description/click_email.png b/company_public_holidays_kanak/static/description/click_email.png new file mode 100644 index 0000000..15faa4e Binary files /dev/null and b/company_public_holidays_kanak/static/description/click_email.png differ diff --git a/company_public_holidays_kanak/static/description/create_holiday.png b/company_public_holidays_kanak/static/description/create_holiday.png new file mode 100644 index 0000000..57a6020 Binary files /dev/null and b/company_public_holidays_kanak/static/description/create_holiday.png differ diff --git a/company_public_holidays_kanak/static/description/get_holiday_report.png b/company_public_holidays_kanak/static/description/get_holiday_report.png new file mode 100644 index 0000000..0cb5e79 Binary files /dev/null and b/company_public_holidays_kanak/static/description/get_holiday_report.png differ diff --git a/company_public_holidays_kanak/static/description/globel_leave.png b/company_public_holidays_kanak/static/description/globel_leave.png new file mode 100644 index 0000000..e768046 Binary files /dev/null and b/company_public_holidays_kanak/static/description/globel_leave.png differ diff --git a/company_public_holidays_kanak/static/description/holiday_report.png b/company_public_holidays_kanak/static/description/holiday_report.png new file mode 100644 index 0000000..0de9ae2 Binary files /dev/null and b/company_public_holidays_kanak/static/description/holiday_report.png differ diff --git a/company_public_holidays_kanak/static/description/icon.png b/company_public_holidays_kanak/static/description/icon.png new file mode 100644 index 0000000..4045f40 Binary files /dev/null and b/company_public_holidays_kanak/static/description/icon.png differ diff --git a/company_public_holidays_kanak/static/description/index.html b/company_public_holidays_kanak/static/description/index.html new file mode 100644 index 0000000..45b1202 --- /dev/null +++ b/company_public_holidays_kanak/static/description/index.html @@ -0,0 +1,581 @@ +
+
+
+
+

+ Company Public Holiday +

+
+
+
+
+ +
+
+
+
+
+
Supported Editions
+
+
Community
+
Enterprise
+
+
+
+
+

Company Public Holiday module allows to add company holiday in odoo. +

+
+
+
+
+
+

Key Features

+
+
+
+

+ Add Company Public Holiday in Odoo. +

+
+
+

+ Company Holiday List can be Send all Employee via Email. +

+
+
+

+ Holiday List will be Automatically Update on Global Time Off. +

+
+
+

+ You can also Update Holiday list on Calendar. +

+
+
+

+ You can also print public holiday report. +

+
+
+
+
+
+ +
+

+
+
+
+
+ Multi Company +

+
    +
  • + multi company allow to use public holiday. +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ Company Public Holiday +

+
    +
  • + Navigate to Leaves and click on Company Public Holiday menu. +
  • +
  • + Create holiday list. +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ Global Time Off +

+
    +
  • + Navigate to technical menu and click on working times. +
  • +
  • + Now, open global time off tab, public holiday auto update in list. +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ Holiday list send by email +

+
    +
  • + Send holiday list to all employees, click on send by email button. +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ Holiday list +

+
+
+
+
+
+
+ +
+
+
+
+
+
+ Update calendar +

+
    +
  • + Now, update holiday list in calendar by the clicking on Update Holiday Calendar button. +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ Public Holiday Report +

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

+
+
+
+
+ +
+
+ 22nd + January, 2020 +
+
+
+

Latest Release 1.0

+

+ First version to release. +

+
+
+
+
+
+
+
+
+

+

Here See Demo Video:-

+ +
+

+
+
+
+

Frequently Asked Question:-

+
+
+
+
+
+
Is this app compatible with Odoo Enterprise? +
+ +
+
+
+
+ Yes, our app works with Odoo Enterprise as well as Community. +
+
+
+
+
+
+
+
+
+
+
Is this app compatible with Windows or Ubuntu? +
+ +
+
+
+
+ Yes, our app works with Windows or Ununtu operating system. +
+
+
+
+
+
+
+
+
+
+
Is this app required any additional configuration? +
+ +
+
+
+
+ No, install module and use this features. +
+
+
+
+
+
+
+
+
+
+
+
+
+
+

FREE 3 MONTHS SUPPORT

+
+
+
+

Kanak Infosystems will provide free 3 months support for bug fixes, any doubts or queries, installation, configuration support or any types of issues related to this module.

+

+ NOTE: This module do not required extra configuration. +

+
+
+
+
+
+ + sales@kanakinfosystems.com +
+
+ + kanakinfosystems +
+
+ + +91 9818108884 +
+
+
+
+
+ +
+
+
+
+
+
+ SUGGESTED APPS + + App Link +
+
+
+
+ + + +
+
+
+
+

OUR SERVICES

+
+
+
+
+ Developer +
+
+
Hire Odoo Developer
+
+
+
+
+
+
+ custom +
+
+
Odoo Customization
+
+
+
+
+
+
+ Develop +
+
+
Odoo Development
+
+
+
+
+
+
+ Install +
+
+
Odoo Installation
+
+
+
+
+
+
+ Integ +
+
+
Odoo Integration
+
+
+
+
+
+
+ Resource +
+
+
Odoo Resources
+
+
+
+
+
+
+ Themes +
+
+
Odoo Themes
+
+
+
+
+
+
+ Training +
+
+
Odoo Training
+
+
+
+
+
+
\ No newline at end of file diff --git a/company_public_holidays_kanak/static/description/mail.png b/company_public_holidays_kanak/static/description/mail.png new file mode 100644 index 0000000..ad91edd Binary files /dev/null and b/company_public_holidays_kanak/static/description/mail.png differ diff --git a/company_public_holidays_kanak/static/description/multi_company.png b/company_public_holidays_kanak/static/description/multi_company.png new file mode 100644 index 0000000..0808f13 Binary files /dev/null and b/company_public_holidays_kanak/static/description/multi_company.png differ diff --git a/company_public_holidays_kanak/static/description/upcal_button.png b/company_public_holidays_kanak/static/description/upcal_button.png new file mode 100644 index 0000000..3807f4b Binary files /dev/null and b/company_public_holidays_kanak/static/description/upcal_button.png differ diff --git a/company_public_holidays_kanak/views/company_resource_calendar_view.xml b/company_public_holidays_kanak/views/company_resource_calendar_view.xml new file mode 100644 index 0000000..24899f3 --- /dev/null +++ b/company_public_holidays_kanak/views/company_resource_calendar_view.xml @@ -0,0 +1,83 @@ + + + + + resource.calendar.form.cust + resource.calendar + + + + + + + + + company.resource.calendar.search + company.resource.calendar + + + + + + + + + company.resource.calendar.form + company.resource.calendar + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ + company.resource.calendar.tree + company.resource.calendar + + + + + + + + + Company Public Holiday + company.resource.calendar + tree,form + + + + + +
+
\ No newline at end of file