add new module
17
hr_reward_warning/README.md
Executable file
@@ -0,0 +1,17 @@
|
||||
OH Reward/Warning
|
||||
---------------------
|
||||
Supporting Addon for Open HRMS, Managing Official Announcements
|
||||
|
||||
Connect with experts
|
||||
--------------------
|
||||
|
||||
If you have any question/queries/additional works on OpenHRMS or this module, You can drop an email directly to Cybrosys.
|
||||
|
||||
Contacts
|
||||
--------
|
||||
info - info@cybrosys.com
|
||||
Jesni Banu - odoo@cybrosys.com
|
||||
|
||||
Website:
|
||||
https://www.openhrms.com
|
||||
https://www.cybrosys.com
|
||||
23
hr_reward_warning/__init__.py
Executable file
@@ -0,0 +1,23 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of OpenHRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
|
||||
# Author: Jesni Banu (<https://www.cybrosys.com>)
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
from . import models
|
||||
44
hr_reward_warning/__manifest__.py
Executable file
@@ -0,0 +1,44 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of OpenHRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
|
||||
# Author: Jesni Banu (<https://www.cybrosys.com>)
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
{
|
||||
'name': 'Open HRMS Official Announcements',
|
||||
'version': '13.0.2.0.2',
|
||||
'summary': """Managing Official Announcements""",
|
||||
'description': 'This module helps you to manage hr official announcements',
|
||||
'category': 'Generic Modules/Human Resources',
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'website': "https://www.openhrms.com",
|
||||
'depends': ['base', 'hr','mail'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/reward_security.xml',
|
||||
'views/hr_announcement_view.xml',
|
||||
],
|
||||
'demo': ['data/demo_data.xml'],
|
||||
'images': ['static/description/banner.png'],
|
||||
'license': 'AGPL-3',
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
}
|
||||
27
hr_reward_warning/data/demo_data.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="announcement_one" model="hr.announcement">
|
||||
<field name="announcement_reason">Internal Meeting</field>
|
||||
<field name="is_announcement">True</field>
|
||||
<field name="date_start">2015-03-02</field>
|
||||
<field name="date_end">2020-03-22</field>
|
||||
</record>
|
||||
|
||||
<record id="announcement_two" model="hr.announcement">
|
||||
<field name="announcement_reason">Birthday</field>
|
||||
<field name="is_announcement">True</field>
|
||||
<field name="date_start">2015-03-02</field>
|
||||
<field name="date_end">2016-04-25</field>
|
||||
</record>
|
||||
|
||||
<record id="announcement_three" model="hr.announcement">
|
||||
<field name="announcement_reason">Christmas celebration</field>
|
||||
<field name="is_announcement">True</field>
|
||||
<field name="date_start">2014-03-02</field>
|
||||
<field name="date_end">2020-03-02</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
14
hr_reward_warning/doc/RELEASE_NOTES.md
Executable file
@@ -0,0 +1,14 @@
|
||||
## Module <hr_reward_warning>
|
||||
|
||||
#### 21.04.2018
|
||||
#### Version 13.0.1.0.0
|
||||
##### ADD
|
||||
- Initial commit for Open HRMS Project
|
||||
|
||||
#### 13.03.2019
|
||||
#### Version 13.0.2.0.0
|
||||
##### UPDT
|
||||
- Separate sequences for general and other announcements
|
||||
- Employee/ Department/ Job position wise announcements
|
||||
- Extra fields in announcement
|
||||
- Removed the done state from announcement
|
||||
4928
hr_reward_warning/i18n/ar_001.po
Normal file
24
hr_reward_warning/models/__init__.py
Executable file
@@ -0,0 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of OpenHRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
|
||||
# Author: Jesni Banu (<https://www.cybrosys.com>)
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
from . import hr_warning
|
||||
from . import hr_employee
|
||||
107
hr_reward_warning/models/hr_employee.py
Executable file
@@ -0,0 +1,107 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of OpenHRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
|
||||
# Author: Jesni Banu (<https://www.cybrosys.com>)
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
from datetime import datetime
|
||||
from odoo import models, fields, api, _
|
||||
|
||||
|
||||
class HrAnnouncements(models.Model):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
def _announcement_count(self):
|
||||
now = datetime.now()
|
||||
now_date = now.date()
|
||||
for rec in self:
|
||||
ann_ids_general = self.env['hr.announcement'].sudo().search([('is_announcement', '=', True),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_emp = self.env['hr.announcement'].search([('employee_ids', 'in', [rec.id]),
|
||||
('announcement_type', '=', 'employee'),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_dep = self.env['hr.announcement'].sudo().search([('department_ids', 'in', [rec.department_id.id]),
|
||||
('announcement_type', '=', 'department'),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_job = self.env['hr.announcement'].sudo().search([('position_ids', 'in', [rec.job_id.id]),
|
||||
('announcement_type', '=', 'job_position'),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
rec.announcement_count = len(ann_ids_general) + len(ann_ids_emp) + len(ann_ids_dep) + len(ann_ids_job)
|
||||
|
||||
def announcement_view(self):
|
||||
now = datetime.now()
|
||||
now_date = now.date()
|
||||
for rec in self:
|
||||
ann_ids_general = self.env['hr.announcement'].sudo().search([('is_announcement', '=', True),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_emp = self.env['hr.announcement'].sudo().search([('announcement_type', '=', 'employee'),
|
||||
('employee_ids', 'in', [rec.id]),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_dep = self.env['hr.announcement'].sudo().search([('announcement_type', '=', 'department'),
|
||||
('department_ids', 'in', [rec.department_id.id]),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
ann_ids_job = self.env['hr.announcement'].sudo().search([('announcement_type', '=', 'job_position'),
|
||||
('position_ids', 'in', [rec.job_id.id]),
|
||||
('state', 'in', ('approved', 'done')),
|
||||
('date_start', '<=', now_date),
|
||||
('date_end', '>=', now_date)])
|
||||
|
||||
ann_obj = ann_ids_general.ids + ann_ids_emp.ids + ann_ids_job.ids + ann_ids_dep.ids
|
||||
ann_ids = []
|
||||
for each in ann_obj:
|
||||
ann_ids.append(each)
|
||||
view_id = self.env.ref('hr_reward_warning.view_hr_announcement_form').id
|
||||
if ann_ids:
|
||||
if len(ann_ids) > 1:
|
||||
value = {
|
||||
'domain': str([('id', 'in', ann_ids)]),
|
||||
'view_mode': 'tree,form',
|
||||
'res_model': 'hr.announcement',
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Announcements'),
|
||||
'res_id': ann_ids
|
||||
}
|
||||
else:
|
||||
value = {
|
||||
'view_mode': 'form',
|
||||
'res_model': 'hr.announcement',
|
||||
'view_id': view_id,
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Announcements'),
|
||||
'res_id': ann_ids and ann_ids[0]
|
||||
}
|
||||
return value
|
||||
|
||||
announcement_count = fields.Integer(compute='_announcement_count', string='# Announcements',
|
||||
help="Count of Announcement's")
|
||||
98
hr_reward_warning/models/hr_warning.py
Executable file
@@ -0,0 +1,98 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of OpenHRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies (<https://www.cybrosys.com>).
|
||||
# Author: Jesni Banu (<https://www.cybrosys.com>)
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class HrAnnouncementTable(models.Model):
|
||||
_name = 'hr.announcement'
|
||||
_description = 'HR Announcement'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
|
||||
name = fields.Char(string='Code No:', help="Sequence Number of the Announcement")
|
||||
announcement_reason = fields.Text(string='Title', states={'draft': [('readonly', False)]}, required=True,
|
||||
readonly=True, help="Announcement Subject")
|
||||
state = fields.Selection([('draft', 'Draft'), ('to_approve', 'Waiting For Approval'),
|
||||
('approved', 'Approved'), ('rejected', 'Refused'), ('expired', 'Expired')],
|
||||
string='Status', default='draft',
|
||||
track_visibility='always')
|
||||
requested_date = fields.Date(string='Requested Date', default=datetime.now().strftime('%Y-%m-%d'),
|
||||
help="Create Date of Record")
|
||||
attachment_id = fields.Many2many('ir.attachment', 'doc_warning_rel', 'doc_id', 'attach_id4',
|
||||
string="Attachment", help='You can attach the copy of your Letter')
|
||||
company_id = fields.Many2one('res.company', string='Company',
|
||||
default=lambda self: self.env.user.company_id, readonly=True, help="Login user Company")
|
||||
is_announcement = fields.Boolean(string='Is general Announcement?', help="To set Announcement as general announcement")
|
||||
announcement_type = fields.Selection([('employee', 'By Employee'), ('department', 'By Department'), ('job_position', 'By Job Position')])
|
||||
employee_ids = fields.Many2many('hr.employee', 'hr_employee_announcements', 'announcement', 'employee',
|
||||
string='Employees', help="Employee's which want to see this announcement")
|
||||
department_ids = fields.Many2many('hr.department', 'hr_department_announcements', 'announcement', 'department',
|
||||
string='Departments', help="Department's which want to see this announcement")
|
||||
position_ids = fields.Many2many('hr.job', 'hr_job_position_announcements', 'announcement', 'job_position',
|
||||
string='Job Positions',help="Job Position's which want to see this announcement")
|
||||
announcement = fields.Html(string='Letter', states={'draft': [('readonly', False)]}, readonly=True, help="Announcement Content")
|
||||
date_start = fields.Date(string='Start Date', default=fields.Date.today(), required=True, help="Start date of "
|
||||
"announcement want"
|
||||
" to see")
|
||||
date_end = fields.Date(string='End Date', default=fields.Date.today(), required=True, help="End date of "
|
||||
"announcement want too"
|
||||
" see")
|
||||
|
||||
def reject(self):
|
||||
self.state = 'rejected'
|
||||
|
||||
def approve(self):
|
||||
self.state = 'approved'
|
||||
|
||||
def sent(self):
|
||||
self.state = 'to_approve'
|
||||
|
||||
@api.constrains('date_start', 'date_end')
|
||||
def validation(self):
|
||||
if self.date_start > self.date_end:
|
||||
raise ValidationError("Start date must be less than End Date")
|
||||
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
if vals.get('is_announcement'):
|
||||
vals['name'] = self.env['ir.sequence'].next_by_code('hr.announcement.general')
|
||||
else:
|
||||
vals['name'] = self.env['ir.sequence'].next_by_code('hr.announcement')
|
||||
return super(HrAnnouncementTable, self).create(vals)
|
||||
|
||||
def get_expiry_state(self):
|
||||
"""
|
||||
Function is used for Expiring Announcement based on expiry date
|
||||
it activate from the crone job.
|
||||
|
||||
"""
|
||||
now = datetime.now()
|
||||
now_date = now.date()
|
||||
ann_obj = self.search([('state', '!=', 'rejected')])
|
||||
for recd in ann_obj:
|
||||
if recd.date_end < now_date:
|
||||
recd.write({
|
||||
'state': 'expired'
|
||||
})
|
||||
4
hr_reward_warning/security/ir.model.access.csv
Executable file
@@ -0,0 +1,4 @@
|
||||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_employee_reward_admin","hr.employee.reward","model_hr_announcement","hr.group_hr_manager",1,1,1,1
|
||||
"access_hr_employee_reward_user","hr.employee.reward.user","model_hr_announcement","hr.group_hr_user",1,1,1,1
|
||||
"access_hr_employee_reward_employee","hr.employee.reward.employee","model_hr_announcement","base.group_user",1,0,0,0
|
||||
|
9
hr_reward_warning/security/reward_security.xml
Executable file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" ?>
|
||||
<odoo>
|
||||
<record id="property_rule_announcement" model="ir.rule">
|
||||
<field name="name">Announcement Multi Company</field>
|
||||
<field name="model_id" ref="model_hr_announcement"/>
|
||||
<field eval="True" name="global"/>
|
||||
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
|
||||
</record>
|
||||
</odoo>
|
||||
BIN
hr_reward_warning/static/description/announcement_icon.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
hr_reward_warning/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
hr_reward_warning/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
hr_reward_warning/static/description/images/1announce.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
hr_reward_warning/static/description/images/2announce.png
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
hr_reward_warning/static/description/images/announce.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
hr_reward_warning/static/description/images/appraisal_image.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
hr_reward_warning/static/description/images/bio_image.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
hr_reward_warning/static/description/images/checked.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
hr_reward_warning/static/description/images/checked.psd
Normal file
BIN
hr_reward_warning/static/description/images/core_image.gif
Normal file
|
After Width: | Height: | Size: 612 KiB |
BIN
hr_reward_warning/static/description/images/dash_image.gif
Normal file
|
After Width: | Height: | Size: 408 KiB |
BIN
hr_reward_warning/static/description/images/openhrms.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
hr_reward_warning/static/description/images/salary_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
hr_reward_warning/static/description/images/shift_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
536
hr_reward_warning/static/description/index.html
Normal file
@@ -0,0 +1,536 @@
|
||||
<div class="row"
|
||||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
|
||||
<a href="https://www.openhrms.com/" target="_blank"><img src="images/openhrms.png"
|
||||
style=" width: 293px; padding: 1rem 0rem; margin: auto"
|
||||
alt="cybrosys-logo"></a>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
|
||||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
|
||||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
|
||||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;"> Open HRMS Official Announcements </h1>
|
||||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> Manages Official Announcements </h3>
|
||||
</div>
|
||||
<h2 style="font-weight: 600;font-size: 1.8rem;margin-top: 15px;">Key Highlights</h2>
|
||||
<ul style=" padding: 0 1px; list-style: none; ">
|
||||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Manages Official Announcements.
|
||||
</li>
|
||||
<li style="display: flex;align-items: center;padding: 8px 0;font-size: 18px;"><img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Add Attachments to the announcement
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/announce.png" class="img-responsive" alt=""></div>
|
||||
</div>
|
||||
<div>
|
||||
<section class="oe_container" style="padding: 1rem 0rem 1rem; background-color: #ffffff !important;">
|
||||
<div class="row py-4 px-3">
|
||||
<div class="w-100" style="padding-top:30px;padding-bottom:45px;border-radius: 10px;">
|
||||
<ul role="tablist" class="nav nav-pills justify-content-center" data-tabs="tabs" id="pills-tab"
|
||||
style="border: none;background: unset;">
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab"
|
||||
aria-controls="pills-home" aria-selected="true" class="nav-link active show"
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Overview </a>
|
||||
</li>
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a id="pills-home-tab" data-toggle="pill" href="#pills-home1" role="tab"
|
||||
aria-controls="pills-home" aria-selected="true" class="nav-link"
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Configuration </a>
|
||||
</li>
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #d31c22;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a id="pills-home-tab" data-toggle="pill" href="#pills-features" role="tab"
|
||||
aria-controls="pills-home" aria-selected="true" class="nav-link "
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Features </a>
|
||||
</li>
|
||||
<li class="nav-item mr-1 mb-3"
|
||||
style="font-size: 1.05rem;font-weight: 400;transition: all .15s ease;color: #ffffff;background-color: #00438b;box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);border: 0;font-family: 'Open Sans',sans-serif;width: 140px;border-radius: 0.30rem;">
|
||||
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab"
|
||||
aria-controls="pills-profile" aria-selected="false"
|
||||
style="color: #fff;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center;">Screenshots </a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content" id="pills-tabContent"
|
||||
style="padding-top: 30px; padding-bottom: 30px; padding: 30px;">
|
||||
<div class="px-3 pt-1 tab-pane fade active show" id="pills-home" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- Overview-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Overview</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h3 class="oe_slogan"
|
||||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
|
||||
This module helps you to manage official announcements.
|
||||
</h3>
|
||||
</div>
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- Configuration-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Configuration</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h3 class="oe_slogan"
|
||||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
|
||||
No additional configuration is required.
|
||||
</h3>
|
||||
</div>
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-features" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- feature tab-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Open HRMS Official Announcements</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<ul>
|
||||
<li class="mb8"
|
||||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
|
||||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Manages Official Announcements.
|
||||
</li>
|
||||
<li class="mb8"
|
||||
style="font-family: Roboto;color: #000;list-style-type: square;font-size: 19px;line-height: 50px; background-color: #3a34380d;padding-left: 20px;border-radius: 7px;list-style: none;">
|
||||
<img src="images/checked.png" style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Add Attachments to the announcement
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- Screenshot tab-->
|
||||
<div class="px-3 tab-pane fade" id="pills-profile" role="tabpanel"
|
||||
aria-labelledby="pills-profile-tab">
|
||||
<div class="tab-pane">
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Screenshots</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div>
|
||||
<section class="oe_container">
|
||||
<div id="demo" class="row carousel slide mb32" data-ride="carousel">
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
|
||||
style="float: left;">
|
||||
<h3 class="alert"
|
||||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
|
||||
<img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Create new announcement and send for approval
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/1announce.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
|
||||
style="float: left;">
|
||||
<h3 class="alert"
|
||||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
|
||||
<img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; " alt="check">
|
||||
Employees can view the approved announcement
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/2announce.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a class="carousel-control-prev" href="#demo" data-slide="prev" style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a class="carousel-control-next" href="#demo" data-slide="next" style="right:-25px;width: 35px;color: #000;"> <span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span> </a>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- faq tab-->
|
||||
<div class="px-2 px-lg-4 pt-3 tab-pane fade" id="pills-contact"
|
||||
role="tabpanel"
|
||||
aria-labelledby="pills-contact-tab">
|
||||
<ul class="list-unstyled">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
|
||||
<h2 style="font-weight: 600;text-align: center;margin-bottom: 25px;width: 100%;">Suggested Products</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div id="demo1" class="row carousel slide" data-ride="carousel">
|
||||
<!-- The slideshow -->
|
||||
<div class="carousel-inner">
|
||||
<div class="carousel-item active" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/ohrms_core/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/core_image.gif">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/hrms_dashboard/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/dash_image.gif">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/oh_hr_zk_attendance/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/bio_image.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/oh_appraisal/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/appraisal_image.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/hr_employee_shift/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/shift_image.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float: left;">
|
||||
<a
|
||||
href="https://apps.odoo.com/apps/modules/13.0/ohrms_salary_advance/" target="_blank">
|
||||
<div style="box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);border-radius: 10px;">
|
||||
<img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/salary_image.png">
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Left and right controls -->
|
||||
<a class="carousel-control-prev" href="#demo1" data-slide="prev"
|
||||
style="left:-25px;width: 35px;color: #000;"> <span class="carousel-control-prev-icon"><i
|
||||
class="fa fa-chevron-left" style="font-size:24px"></i></span> </a> <a class="carousel-control-next"
|
||||
href="#demo1"
|
||||
data-slide="next"
|
||||
style="right:-25px;width: 35px;color: #000;">
|
||||
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" style="font-size:24px"></i></span>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
|
||||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Service</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<div class="row" style=" display: flex; justify-content: center; flex-wrap: wrap;width: 100%; ">
|
||||
<!-- <div style="display:flex;padding-top: 20px;justify-content: space-between;"> -->
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-customization.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-customization-and-installation/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Customization </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-implementation.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-implementation/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Implementation </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-integration.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-integration/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Integration </a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-erp-support.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/odoo-erp-support/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Odoo Support</a>
|
||||
</h3>
|
||||
</div>
|
||||
<div class="col-md-2 col-sm-6 col-xs-12">
|
||||
<div style="width:75px;height:75px;background:#fff; border-radius:100%;margin: auto;"><a
|
||||
href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/hire-odoo-developer.png"
|
||||
style="width: 100%;border-radius: 100%;"/> </a></div>
|
||||
<h3 class="oe_slogan"
|
||||
style="font-weight: 800;text-align: center;font-size: 14px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;">
|
||||
<a href="https://www.cybrosys.com/hire-odoo-developer/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Hire Odoo Developers</a>
|
||||
</h3>
|
||||
</a>
|
||||
</div>
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</section>
|
||||
<section class="row" style="padding: 2rem 3rem 1rem;margin:0px">
|
||||
<div class="row" style="margin: 0">
|
||||
<h2 style="font-weight: 600;margin-bottom: 20px;text-align: center;width: 100%;">Our Industries</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<!-- <div style="display:flex;justify-content: space-between;flex-wrap:wrap;"> -->
|
||||
<div class="row" style="width: 100%">
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-1.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Trading </a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Easily procure and sell your products.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/"
|
||||
target="_blank"> <img src="https://www.cybrosys.com/images/odoo-index-industry-2.png"
|
||||
alt="Odoo Industry" style=" border-radius: 100%;width:100%;"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;" style=" margin-bottom: 10px; ">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/"
|
||||
target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Manufacturing</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Plan, track and schedule your operations.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-3.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
Restaurant</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Run your bar or restaurant methodical.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-4.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none;font-family: 'Montserrat',sans-serif;">
|
||||
POS</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px;font-family: 'Montserrat',sans-serif;">
|
||||
Easy configuring and convivial selling.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-5.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 0px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
E-commerce & Website</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Mobile friendly, awe-inspiring product pages.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-6.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Hotel Management</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
An all-inclusive hotel management application.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank">
|
||||
<img src="https://www.cybrosys.com/images/odoo-index-industry-7.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Education</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
A Collaborative platform for educational management.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 col-xs-12" style=" margin-bottom: 10px; ">
|
||||
<div>
|
||||
<div style="width:75px;height:75px;background:#CE2D48; border-radius:100%;float: left;text-align: left;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"> <img
|
||||
src="https://www.cybrosys.com/images/odoo-index-industry-8.png" alt="Odoo Industry"
|
||||
style=" border-radius: 100%;width:100%;"/> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width:70%;float:left;">
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 14px;font-weight:800;width: auto;margin: 0;margin-top: 14px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 4px;margin-left: 16px;">
|
||||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank"
|
||||
style="list-style: none; color:#000; text-decoration: none; font-family: 'Montserrat',sans-serif;">
|
||||
Service Management</a>
|
||||
</h3>
|
||||
<h3 class="oe_slogan"
|
||||
style=" text-align: left;font-size: 12px;width: auto;margin: 0;margin-top:5px;color: #000 !important;margin-top: 5px;opacity: 1 !important;line-height: 17px;float: left;margin-top: 5px;margin-left: 16px; font-family: 'Montserrat',sans-serif;">
|
||||
Keep track of services and invoice accordingly.
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
|
||||
<center>
|
||||
<div class="col-md-12" style="margin: auto !important;
|
||||
width: 70%;
|
||||
padding: 30px;">
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Need Any Help?</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h4 style="font-size:16px;"> If you have anything to share with us based on your use of this module, please
|
||||
let us know. We are ready to offer our support.
|
||||
</h4>
|
||||
<div class="col-md-6" style="float:left; padding:20px;">
|
||||
<h4><i class="fa fa-envelope"></i>Email us </h4>
|
||||
<p>odoo@cybrosys.com / info@cybrosys.com</p>
|
||||
</div>
|
||||
<div class="col-md-6" style="float:left; padding:20px;">
|
||||
<h4><i class="fa fa-phone"></i> Contact Us </h4>
|
||||
<a href="https://www.cybrosys.com/contact/" target="_blank"> www.cybrosys.com</a>
|
||||
</div>
|
||||
</div>
|
||||
Suggested Products
|
||||
</center>
|
||||
</section>
|
||||
<section class="oe_container" style="padding: 0% 0% 6% 0%;">
|
||||
<div class="oe_slogan" style="margin-bottom: 0px;">
|
||||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; ">
|
||||
</div>
|
||||
<br>
|
||||
<img src="https://www.cybrosys.com/images/logo.png" style="width: 190px; margin-bottom: 25px;margin-top: 30px;"
|
||||
class="center-block">
|
||||
<div style=" display: flex; justify-content: center; flex-wrap: wrap; "><a href="https://twitter.com/cybrosys"
|
||||
target="_blank"><i
|
||||
class="fa fa-2x fa-twitter"
|
||||
style="color:white;background: #00a0d1;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://www.linkedin.com/company/cybrosys-technologies-pvt-ltd" target="_blank"><i
|
||||
class="fa fa-2x fa-linkedin"
|
||||
style="color:white;background: #31a3d6;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://www.facebook.com/cybrosystechnologies" target="_blank"><i class="fa fa-2x fa-facebook"
|
||||
style="color:white;background: #3b5998;width:35px; height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
<a href="https://in.pinterest.com/cybrosys" target="_blank"><i class="fa fa-2x fa-pinterest"
|
||||
style="color:white;background: #ac0f18;width:35px;height: 35px;padding-top: 7px;font-size: 21px;margin-right: 6px;border-radius: 100%;"></i></a>
|
||||
</td>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
168
hr_reward_warning/views/hr_announcement_view.xml
Executable file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="general_announcement_seq" model="ir.sequence">
|
||||
<field name="name">Announcement</field>
|
||||
<field name="code">hr.announcement.general</field>
|
||||
<field name="prefix">GA</field>
|
||||
<field eval="4" name="padding" />
|
||||
</record>
|
||||
|
||||
<record id="announcement_seq" model="ir.sequence">
|
||||
<field name="name">Announcement</field>
|
||||
<field name="code">hr.announcement</field>
|
||||
<field name="prefix">AN</field>
|
||||
<field eval="4" name="padding" />
|
||||
</record>
|
||||
|
||||
<record id="view_hr_announcement_form" model="ir.ui.view">
|
||||
<field name="name">hr.announcement.form</field>
|
||||
<field name="model">hr.announcement</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Announcements">
|
||||
<header>
|
||||
<button string="Send For Approval" class="btn-primary" type="object" name="sent"
|
||||
groups="hr.group_hr_user"
|
||||
attrs="{'invisible': [('state','not in',('draft'))]}"/>
|
||||
<button string="Approve" class="btn-primary" groups="hr.group_hr_manager" type="object" name="approve"
|
||||
attrs="{'invisible': [('state','not in',('to_approve'))]}"/>
|
||||
<button string="Refuse" groups="hr.group_hr_manager" type="object"
|
||||
name="reject" states="to_approve"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,to_approve,approved"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" class="oe_inline" readonly="1"/>
|
||||
</h1>
|
||||
<div name="options_active">
|
||||
<div>
|
||||
<label for="is_announcement" class="oe_inline" string="General Announcement "/>
|
||||
<field name="is_announcement" class="oe_inline oe_input_align"
|
||||
attrs="{'readonly': [('name', '!=', False)]}"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<group>
|
||||
<label for="announcement_reason"/>
|
||||
<div>
|
||||
<field name="announcement_reason"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="date_start"/>
|
||||
<field name="announcement_type" attrs="{'invisible': [('is_announcement', '!=', False)]}"/>
|
||||
<field name="attachment_id" widget="many2many_binary" class="oe_inline"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_end"/>
|
||||
<field name="employee_ids" widget="many2many_tags"
|
||||
attrs="{'invisible': ['|',('is_announcement', '!=', False), ('announcement_type', '!=', 'employee')]}"/>
|
||||
<field name="department_ids" widget="many2many_tags"
|
||||
attrs="{'invisible': ['|',('is_announcement', '!=', False), ('announcement_type', '!=', 'department')]}"/>
|
||||
<field name="position_ids" widget="many2many_tags"
|
||||
attrs="{'invisible': ['|',('is_announcement', '!=', False), ('announcement_type', '!=', 'job_position')]}"/>
|
||||
|
||||
<field name="requested_date" readonly="1"/>
|
||||
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="announcement" string="Letter">
|
||||
<field name="announcement"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_announcement_tree" model="ir.ui.view">
|
||||
<field name="name">hr.announcement.tree</field>
|
||||
<field name="model">hr.announcement</field>
|
||||
<field name="arch" type="xml">
|
||||
<!-- <tree decoration-info="state == 'draft'" colors="grey:state == 'rejected';green:state == 'approved';red:state == 'to_approve';">-->
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="announcement_reason"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_hr_announcement_search" model="ir.ui.view">
|
||||
<field name="name">hr.announcement.search</field>
|
||||
<field name="model">hr.announcement</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Announcements">
|
||||
<field name="name" string="Name"/>
|
||||
<field name="is_announcement" string="Is a General Announcement"/>
|
||||
<field name="announcement_reason" string="Announcement Reason"/>
|
||||
<field name="state" string="State"/>
|
||||
<separator/>
|
||||
<filter name="approved_rewards" string="Approved Letters" domain="[('state', '=', 'approved')]"/>
|
||||
<filter name="general_announcements" string="General Announcements" domain="[('is_announcement', '=',True)]"/>
|
||||
<filter string="Status" name="Status" domain="[]" context="{'group_by':'state'}"/>
|
||||
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_hr_announcement" model="ir.actions.act_window">
|
||||
<field name="name">Announcements</field>
|
||||
<field name="res_model">hr.announcement</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_hr_announcement_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to Create a New Record.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="hr_announcement"
|
||||
name="Announcements"
|
||||
groups="hr.group_hr_user,hr.group_hr_manager"
|
||||
web_icon="hr_reward_warning,static/description/announcement_icon.png"
|
||||
sequence="-6"/>
|
||||
|
||||
<menuitem id="hr_announcement_sub_menu"
|
||||
name="Announcements"
|
||||
action="action_hr_announcement"
|
||||
parent="hr_announcement"
|
||||
groups="hr.group_hr_user,hr.group_hr_manager"
|
||||
sequence="1"/>
|
||||
|
||||
<record model="ir.ui.view" id="announcement_inherit_form_view">
|
||||
<field name="name">hr.employee.form.inherit.view</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<div class="oe_button_box" position="inside">
|
||||
<button class="oe_stat_button" name="announcement_view" type="object" icon="fa-bullhorn">
|
||||
<field string="Announcements" name="announcement_count" widget="statinfo"/>
|
||||
</button>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.cron" id="hr_announcement_expiry_date">
|
||||
<field name="name">HR Announcement Expiry Date</field>
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall" eval="False"/>
|
||||
<field name="model_id" ref="model_hr_announcement"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model.get_expiry_state()</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||