@ -0,0 +1,18 @@ |
|||
Employee Late Check-in Penalty v13 |
|||
================================== |
|||
Employee Late Check-in |
|||
|
|||
Installation |
|||
============ |
|||
- www.odoo.com/documentation/13.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
No additional configurations needed |
|||
|
|||
Credits |
|||
======= |
|||
Developer: Ijaz Ahammed v13 @ cybrosys, Contact: odoo@cybrosys.com |
|||
|
@ -0,0 +1,24 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 |
@ -0,0 +1,49 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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': 'Employee Late Check-in', |
|||
'version': '13.0.1.0.0', |
|||
'summary': """This module Allows Employee Late check-in deduction/penalty""", |
|||
'description': """This module Allows Employee Late check-in deduction/penalty""", |
|||
'author': "Cybrosys Techno Solutions", |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'website': 'https://www.cybrosys.com', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'category': 'Human Resources', |
|||
'depends': ['hr_attendance', 'hr_payroll_community', 'hr_contract'], |
|||
'data': [ |
|||
'views/res_config_settings.xml', |
|||
'views/hr_attendance_view.xml', |
|||
'views/late_check_in_view.xml', |
|||
'views/hr_employee.xml', |
|||
'security/ir.model.access.csv', |
|||
'data/cron.xml', |
|||
'data/salary_rule.xml', |
|||
], |
|||
'images': ['static/description/banner.png'], |
|||
'license': 'AGPL-3', |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': False, |
|||
} |
@ -0,0 +1,16 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
<record forcecreate="True" id="ir_cron_late_check_in" model="ir.cron"> |
|||
<field name="name">Attendance: Late Check-in</field> |
|||
<field name="model_id" ref="model_hr_attendance"/> |
|||
<field name="state">code</field> |
|||
<field name="code">model.late_check_in_records()</field> |
|||
<field name="user_id" ref="base.user_root" /> |
|||
<field name="interval_number">1</field> |
|||
<field name="interval_type">days</field> |
|||
<field name="numbercall">-1</field> |
|||
<field eval="False" name="doall" /> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,29 @@ |
|||
<odoo> |
|||
<data> |
|||
<record id="late_check_in" model="hr.salary.rule"> |
|||
<field name="name">Late Check-in</field> |
|||
<field name="sequence" eval="6"/> |
|||
<field name="code">LC</field> |
|||
<field name="category_id" ref="hr_payroll_community.DEDUCTION"/> |
|||
<field name="amount_select">code</field> |
|||
<field name="amount_select">code</field> |
|||
<field name="amount_python_compute"> |
|||
amount = 0 |
|||
try: |
|||
if inputs.LC: |
|||
amount = inputs.LC.amount |
|||
except: |
|||
amount = 0 |
|||
result = -amount</field> |
|||
</record> |
|||
|
|||
|
|||
<record id="late_check_in_salary_structure" model="hr.payroll.structure"> |
|||
<field name="code">LCS</field> |
|||
<field name="name">Base Salary Structure For Late Check-in</field> |
|||
<field eval="[(6, 0, [ref('hr_payroll_community.hr_rule_basic'),ref('hr_payroll_community.hr_rule_net') |
|||
,ref('hr_payroll_community.hr_rule_taxable'), ref('late_check_in')])]" name="rule_ids"/> |
|||
<field name="company_id" ref="base.main_company"/> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,8 @@ |
|||
## Module <employee_late_check_in> |
|||
|
|||
#### 02.05.2020 |
|||
#### Version 13.0.1.0.0 |
|||
#### ADD |
|||
|
|||
Initial Commit for employee_late_check_in |
|||
|
@ -0,0 +1,28 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 res_config_settings |
|||
from . import hr_attendance |
|||
from . import late_check_in |
|||
from . import hr_payslip |
|||
from . import hr_employee |
@ -0,0 +1,76 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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, timedelta, date |
|||
from pytz import timezone, UTC |
|||
import pytz |
|||
from odoo import models, fields, api |
|||
|
|||
|
|||
class HrAttendance(models.Model): |
|||
_inherit = 'hr.attendance' |
|||
|
|||
late_check_in = fields.Integer(string="Late Check-in(Minutes)", compute="get_late_minutes") |
|||
|
|||
def get_late_minutes(self): |
|||
for rec in self: |
|||
|
|||
rec.late_check_in = 0.0 |
|||
week_day = rec.sudo().check_in.weekday() |
|||
if rec.employee_id.contract_id: |
|||
work_schedule = rec.sudo().employee_id.contract_id.resource_calendar_id |
|||
for schedule in work_schedule.sudo().attendance_ids: |
|||
if schedule.dayofweek == str(week_day) and schedule.day_period == 'morning': |
|||
work_from = schedule.hour_from |
|||
result = '{0:02.0f}:{1:02.0f}'.format(*divmod(work_from * 60, 60)) |
|||
|
|||
user_tz = self.env.user.tz |
|||
dt = rec.check_in |
|||
|
|||
if user_tz in pytz.all_timezones: |
|||
old_tz = pytz.timezone('UTC') |
|||
new_tz = pytz.timezone(user_tz) |
|||
dt = old_tz.localize(dt).astimezone(new_tz) |
|||
str_time = dt.strftime("%H:%M") |
|||
check_in_date = datetime.strptime(str_time, "%H:%M").time() |
|||
start_date = datetime.strptime(result, "%H:%M").time() |
|||
t1 = timedelta(hours=check_in_date.hour, minutes=check_in_date.minute) |
|||
t2 = timedelta(hours=start_date.hour, minutes=start_date.minute) |
|||
if check_in_date > start_date: |
|||
final = t1 - t2 |
|||
rec.sudo().late_check_in = final.total_seconds() / 60 |
|||
|
|||
def late_check_in_records(self): |
|||
existing_records = self.env['late.check_in'].sudo().search([]).attendance_id.ids |
|||
minutes_after = int(self.env['ir.config_parameter'].sudo().get_param('late_check_in_after')) or 0 |
|||
max_limit = int(self.env['ir.config_parameter'].sudo().get_param('maximum_minutes')) or 0 |
|||
late_check_in_ids = self.sudo().search([('id', 'not in', existing_records)]) |
|||
for rec in late_check_in_ids: |
|||
late_check_in = rec.sudo().late_check_in + 210 |
|||
if rec.late_check_in > minutes_after and late_check_in > minutes_after and late_check_in < max_limit: |
|||
self.env['late.check_in'].sudo().create({ |
|||
'employee_id': rec.employee_id.id, |
|||
'late_minutes': late_check_in, |
|||
'date': rec.check_in.date(), |
|||
'attendance_id': rec.id, |
|||
}) |
@ -0,0 +1,68 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 odoo import models, fields, _ |
|||
|
|||
|
|||
class HrEmployee(models.Model): |
|||
_inherit = 'hr.employee' |
|||
|
|||
late_check_in_count = fields.Integer(string="Late Check-In", compute="get_late_check_in_count") |
|||
|
|||
def action_to_open_late_check_in_records(self): |
|||
domain = [ |
|||
('employee_id', '=', self.id), |
|||
] |
|||
return { |
|||
'name': _('Employee Late Check-in'), |
|||
'domain': domain, |
|||
'res_model': 'late.check_in', |
|||
'type': 'ir.actions.act_window', |
|||
'view_mode': 'tree,form', |
|||
'limit': 80, |
|||
} |
|||
|
|||
def get_late_check_in_count(self): |
|||
self.late_check_in_count = self.env['late.check_in'].search_count([('employee_id', '=', self.id)]) |
|||
|
|||
|
|||
class HrEmployees(models.Model): |
|||
_inherit = 'hr.employee.public' |
|||
|
|||
late_check_in_count = fields.Integer(string="Late Check-In", compute="get_late_check_in_count") |
|||
|
|||
def action_to_open_late_check_in_records(self): |
|||
domain = [ |
|||
('employee_id', '=', self.id), |
|||
] |
|||
return { |
|||
'name': _('Employee Late Check-in'), |
|||
'domain': domain, |
|||
'res_model': 'late.check_in', |
|||
'type': 'ir.actions.act_window', |
|||
'view_mode': 'tree,form', |
|||
'limit': 80, |
|||
} |
|||
|
|||
def get_late_check_in_count(self): |
|||
self.late_check_in_count = self.env['late.check_in'].search_count([('employee_id', '=', self.id)]) |
@ -0,0 +1,68 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 odoo import models, api, fields |
|||
|
|||
|
|||
class PayslipLateCheckIn(models.Model): |
|||
_inherit = 'hr.payslip' |
|||
|
|||
late_check_in_ids = fields.Many2many('late.check_in') |
|||
|
|||
@api.model |
|||
def get_inputs(self, contracts, date_from, date_to): |
|||
""" |
|||
function used for writing late check-in record in payslip |
|||
input tree. |
|||
|
|||
""" |
|||
res = super(PayslipLateCheckIn, self).get_inputs(contracts, date_to, date_from) |
|||
late_check_in_type = self.env.ref('employee_late_check_in.late_check_in') |
|||
contract = self.contract_id |
|||
late_check_in_id = self.env['late.check_in'].search([('employee_id', '=', self.employee_id.id), |
|||
('date', '<=', self.date_to), |
|||
('date', '>=', self.date_from), |
|||
('state', '=', 'approved'), |
|||
]) |
|||
amount = late_check_in_id.mapped('amount') |
|||
cash_amount = sum(amount) |
|||
if late_check_in_id: |
|||
self.late_check_in_ids = late_check_in_id |
|||
input_data = { |
|||
'name': late_check_in_type.name, |
|||
'code': late_check_in_type.code, |
|||
'amount': cash_amount, |
|||
'contract_id': contract.id, |
|||
} |
|||
res.append(input_data) |
|||
return res |
|||
|
|||
def action_payslip_done(self): |
|||
""" |
|||
function used for marking deducted Late check-in |
|||
request. |
|||
|
|||
""" |
|||
for recd in self.late_check_in_ids: |
|||
recd.state = 'deducted' |
|||
return super(PayslipLateCheckIn, self).action_payslip_done() |
@ -0,0 +1,59 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 odoo import models, fields, api |
|||
|
|||
|
|||
class LateCheckIn(models.Model): |
|||
_name = 'late.check_in' |
|||
|
|||
name = fields.Char() |
|||
employee_id = fields.Many2one('hr.employee', string="Employee") |
|||
late_minutes = fields.Integer(string="Late Minutes") |
|||
date = fields.Date(string="Date") |
|||
amount = fields.Float(string="Amount", compute="get_penalty_amount") |
|||
state = fields.Selection([('draft', 'Draft'), |
|||
('approved', 'Approved'), |
|||
('refused', 'Refused'), |
|||
('deducted', 'Deducted')], string="state", |
|||
default="draft") |
|||
attendance_id = fields.Many2one('hr.attendance', string='attendance') |
|||
|
|||
# current_user_boolean = fields.Boolean() |
|||
@api.model |
|||
def create(self, values): |
|||
seq = self.env['ir.sequence'].next_by_code('late.check_in') or '/' |
|||
values['name'] = seq |
|||
return super(LateCheckIn, self.sudo()).create(values) |
|||
|
|||
def get_penalty_amount(self): |
|||
for rec in self: |
|||
amount = float(self.env['ir.config_parameter'].sudo().get_param('deduction_amount')) |
|||
rec.amount = amount |
|||
if self.env['ir.config_parameter'].sudo().get_param('deduction_type') == 'minutes': |
|||
rec.amount = amount * rec.late_minutes |
|||
|
|||
def approve(self): |
|||
self.state = 'approved' |
|||
|
|||
def reject(self): |
|||
self.state = 'refused' |
@ -0,0 +1,48 @@ |
|||
# -*- coding: utf-8 -*- |
|||
################################################################################### |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2020-TODAY Cybrosys Technologies (<https://www.cybrosys.com>). |
|||
# Author: Ijaz Ahammed (odoo@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 odoo import models, fields |
|||
|
|||
|
|||
class LateCheckinSettings(models.TransientModel): |
|||
_inherit = 'res.config.settings' |
|||
|
|||
deduction_amount = fields.Float(string="Deduction Amount", |
|||
config_parameter='employee_late_check_in.deduction_amount') |
|||
maximum_minutes = fields.Char(string="Maximum Late Minute", |
|||
config_parameter='employee_late_check_in.maximum_minutes') |
|||
late_check_in_after = fields.Char(string="Late Check-in Starts After", |
|||
config_parameter='employee_late_check_in.late_check_in_after') |
|||
unpaid_leave = fields.Boolean(string="Unpaid Leave", |
|||
config_parameter='employee_late_check_in.unpaid_leave') |
|||
deduction_type = fields.Selection([('minutes', 'Per Minutes'), ('total', 'Per Total')], |
|||
config_parameter='employee_late_check_in.deduction_type', default="minutes") |
|||
|
|||
def set_values(self): |
|||
res = super(LateCheckinSettings, self).set_values() |
|||
self.env['ir.config_parameter'].sudo().set_param('deduction_amount', self.deduction_amount) |
|||
self.env['ir.config_parameter'].sudo().set_param('maximum_minutes', self.maximum_minutes) |
|||
self.env['ir.config_parameter'].sudo().set_param('late_check_in_after', self.late_check_in_after) |
|||
self.env['ir.config_parameter'].sudo().set_param('unpaid_leave', self.unpaid_leave) |
|||
self.env['ir.config_parameter'].sudo().set_param('deduction_type', self.deduction_type) |
|||
return res |
|
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 129 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 110 KiB |
@ -0,0 +1,568 @@ |
|||
<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.cybrosys.com/" target="_blank"><img src="images/cybrosys.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;">Employee Late Check-in Penalty</h1> |
|||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> |
|||
Employee Late Check-in deduction from payroll |
|||
</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 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"> |
|||
Late Check-in Minutes in attendance log |
|||
</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">Deduction based on configuration |
|||
</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">Manager Approval |
|||
</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">Late check-in deduction from payslip |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/late_checkin_main_image.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: #d31c22;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: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400;text-align: center; |
|||
color: #fff;">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: #d31c22;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: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">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: #d31c22;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: #000000;line-height: 33px;border: 0;border-radius: .25rem;font-weight: 400; text-align: center; |
|||
color: #fff;">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 Allows Employee Late check-in deduction/penalty |
|||
</h3> |
|||
</div> |
|||
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby=" |
|||
pills-home-tab"> |
|||
<!-- feature tab--> |
|||
<h2 style="font-weight: 600;text-align: center;width: 100%;">POS Dashboard</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">Late Check-in minutes in Attendance log |
|||
</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">Deduction based on configuration |
|||
</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">Manager Approval |
|||
</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">Late check-in deduction from payslip |
|||
</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"> |
|||
After installation, open Attendance >> Configuration</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot1.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">Late Check-in Minutes</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot2.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="mb32 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">Late check-in records(Group by employees)<br/> |
|||
Attendance >> Late Check-in</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot3.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="mb32 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">Manager approve the late Check-in entry and when confirm the payslip it will set to 'Deduct' state.</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot4.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="mb32 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">Select the Salary Structure</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot5.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="mb32 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">Payslip Input Lines</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot6.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="mb32 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">Salary Computation</h3> |
|||
<div style=""><img class="img img-responsive center-block" |
|||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;" |
|||
src="images/late_check_in_screen_shot7.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> |
|||
<!-- <div class="px-3 pt-1 tab-pane fade" id="pills-video" role="tabpanel" aria-labelledby="--> |
|||
<!-- pills-home-tab">--> |
|||
<!-- <!– Video–>--> |
|||
<!-- <h2 style="font-weight: 600;text-align: center;width: 100%;">Video</h2>--> |
|||
<!-- <hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">--> |
|||
<!-- <center>--> |
|||
<!-- <p>Project Task Timer Demo</p>--> |
|||
<!-- <!–<a href="https://www.youtube.com/watch?v=57QWXrMYe84&feature=youtu.be" target="_blank"> <img src="addon-youtube.png" style="width:80%;"></a>–>--> |
|||
<!-- <div class="s_panel_video" data-video-id="7PFB7FpMFyM?rel=0" style="cursor:pointer;">--> |
|||
<!-- <img class="img-fluid s_tooltip_tabs_tooltip_image s_figure_link pb0" src="images/task_timer_youtube.png" alt="Cybrosys Cover Video" style="max-width:100%;">--> |
|||
<!-- </div>--> |
|||
<!-- </center>--> |
|||
<!-- </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/12.0/project_report_pdf/" 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/booking_order.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/10.0/project_status_level_report/" 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/mrp_orders.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/10.0/project_lifeline/" 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/order_line_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/10.0/project_subtask/" 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/pos_coupons.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/12.0/task_deadline_reminder/" 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/pos_return.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/10.0/project_time_spend/" 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/product_creation.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> |
|||
</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> |
@ -0,0 +1,14 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<!-- Customize Attendance Report --> |
|||
<record id="inherited_view_attendance_tree_view" model="ir.ui.view"> |
|||
<field name="name">inherited_hr.attendance.tree</field> |
|||
<field name="model">hr.attendance</field> |
|||
<field name="inherit_id" ref="hr_attendance.view_attendance_tree"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="check_out" position="after"> |
|||
<field name="late_check_in"/> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
</odoo> |
@ -0,0 +1,36 @@ |
|||
<odoo> |
|||
<data> |
|||
<record model="ir.ui.view" id="view_employee_form_inherits"> |
|||
<field name="name">view.employee.form</field> |
|||
<field name="model">hr.employee.public</field> |
|||
<field name="inherit_id" ref="hr.hr_employee_public_view_form"/> |
|||
<field name="arch" type="xml"> |
|||
<div name="button_box" position="inside"> |
|||
<button name="action_to_open_late_check_in_records" |
|||
type="object" |
|||
class="oe_stat_button" |
|||
icon="fa-clock-o"> |
|||
<field name="late_check_in_count" widget="statinfo" string="Late Check-In"/> |
|||
</button> |
|||
</div> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
<record model="ir.ui.view" id="view_employee_form_inherits_late"> |
|||
<field name="name">view.employee.form</field> |
|||
<field name="model">hr.employee</field> |
|||
<field name="inherit_id" ref="hr.view_employee_form"/> |
|||
<field name="arch" type="xml"> |
|||
<div name="button_box" position="inside"> |
|||
<button name="action_to_open_late_check_in_records" |
|||
type="object" |
|||
class="oe_stat_button" |
|||
icon="fa-clock-o"> |
|||
<field name="late_check_in_count" widget="statinfo" string="Late Check-In"/> |
|||
</button> |
|||
</div> |
|||
</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,117 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="late_check_in_sequence" model="ir.sequence"> |
|||
<field name="name">late.check_in.sequence</field> |
|||
<field name="code">late.check_in</field> |
|||
<field name="prefix">LC</field> |
|||
<field eval="1" name="number_next"/> |
|||
<field eval="1" name="number_increment"/> |
|||
<field name="padding">5</field> |
|||
</record> |
|||
</data> |
|||
<data> |
|||
<!-- Views --> |
|||
<!-- Form View --> |
|||
<record id="late_check_inform_view" model="ir.ui.view"> |
|||
<field name="name">late.check_in.form</field> |
|||
<field name="model">late.check_in</field> |
|||
<field name="arch" type="xml"> |
|||
<form string="Late Check-in" create="false"> |
|||
<header> |
|||
<field name="state" widget="statusbar" |
|||
statusbar_visible="f_approve,approved,done"/> |
|||
<button name="approve" string="Approve" |
|||
type="object" class="btn-primary" |
|||
attrs="{'invisible': [('state', '!=', 'draft')]}" groups="hr.group_hr_manager"/> |
|||
<button name="reject" string="Refuse" type="object" |
|||
class="btn-primary" |
|||
attrs="{'invisible': [('state', 'not in', ['draft'])]}" groups="hr.group_hr_manager"/> |
|||
</header> |
|||
<sheet> |
|||
<div class="oe_title"> |
|||
<h1> |
|||
<field name="name" required="0" |
|||
placeholder="Reference ...."/> |
|||
</h1> |
|||
</div> |
|||
<group> |
|||
<group> |
|||
<field name='employee_id' |
|||
options="{'no_quick_create': True, 'no_create_edit' : True}" |
|||
attrs="{'readonly': [('state', '!=', 'draft')]}"/> |
|||
<field name='late_minutes'/> |
|||
</group> |
|||
<group> |
|||
<field name='date'/> |
|||
<field name="amount"/> |
|||
<field name="attendance_id"/> |
|||
</group> |
|||
</group> |
|||
</sheet> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
|
|||
<record id="late_check_in_view_search" model="ir.ui.view"> |
|||
<field name="name">late.check_in.search.view</field> |
|||
<field name="model">late.check_in</field> |
|||
<field name="arch" type="xml"> |
|||
<search string="Search Late check-in records"> |
|||
<group expand="0" string="Group By"> |
|||
<filter string="Employee" name="group_employee" domain="[]" |
|||
context="{'group_by':'employee_id'}"/> |
|||
</group> |
|||
</search> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Tree View --> |
|||
<record id="late_check_in_tree_view" model="ir.ui.view"> |
|||
<field name="name">late.check_in.tree</field> |
|||
<field name="model">late.check_in</field> |
|||
<field name="arch" type="xml"> |
|||
<tree string="Late Check-in"> |
|||
<field name="name"/> |
|||
<field name="employee_id"/> |
|||
<field name="late_minutes"/> |
|||
<field name="date"/> |
|||
<field name="amount"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- Actions --> |
|||
<!-- overtime --> |
|||
<record id="late_check_in_action" model="ir.actions.act_window"> |
|||
<field name="name">Late Check-in</field> |
|||
<field name="res_model">late.check_in</field> |
|||
<field name="view_mode">tree,form</field> |
|||
<field name="context">{ |
|||
'search_default_group_employee': 1, |
|||
} |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
<!-- MenuItems --> |
|||
<menuitem id="menu_late_check_in" name="Late Check-in" |
|||
parent="hr_attendance.menu_hr_attendance_root" |
|||
action="late_check_in_action" |
|||
sequence="21" |
|||
groups="hr.group_hr_user"/> |
|||
|
|||
<record id="hr_payslip_inherited_view_late_check_in" model="ir.ui.view"> |
|||
<field name="name">late_check_in.Inherited.View</field> |
|||
<field name="model">hr.payslip</field> |
|||
<field name="inherit_id" ref="hr_payroll_community.view_hr_payslip_form"/> |
|||
<field name="arch" type="xml"> |
|||
<field name="name" position="after"> |
|||
<field name="late_check_in_ids" invisible="1"/> |
|||
</field> |
|||
</field> |
|||
</record> |
|||
|
|||
|
|||
</data> |
|||
</odoo> |
@ -0,0 +1,75 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data> |
|||
<record id="late_check_in_setting_view" model="ir.ui.view"> |
|||
<field name="name">Late Check-in Configurations</field> |
|||
<field name="model">res.config.settings</field> |
|||
<field name="inherit_id" ref="hr_attendance.res_config_settings_view_form"/> |
|||
<field name="arch" type="xml"> |
|||
<xpath expr="//div[@data-key='hr_attendance']" position="inside"> |
|||
<!-- <div class="app_settings_block" data-string="late_check_in" string="Late Check in" data-key="employee_late_check_in" groups="hr.group_hr_manager">--> |
|||
<h2>Late Check-in</h2> |
|||
<div class="row mt16 o_settings_container"> |
|||
<div class="col-xs-12 col-md-6 o_setting_box"> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="deduction_amount"/> |
|||
<div class="text-muted"> |
|||
</div> |
|||
<div> |
|||
<div class="content-group mt16"> |
|||
<!-- <group>--> |
|||
<field name="deduction_amount" colspan="4" nolabel="1"/>/<field name="deduction_type" style="width:100px;"/> |
|||
<!-- </group>--> |
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
<label for="late_check_in_after"/> |
|||
<div class="text-muted"> |
|||
</div> |
|||
<div> |
|||
<div class="content-group mt16"> |
|||
<!-- <group>--> |
|||
<field name="late_check_in_after" colspan="4" nolabel="1"/>Minutes |
|||
<!-- </group>--> |
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-xs-12 col-md-6 o_setting_box"> |
|||
<div class="o_setting_right_pane"> |
|||
<label for="maximum_minutes"/> |
|||
<div class="text-muted"> |
|||
</div> |
|||
<div> |
|||
<div class="content-group mt16"> |
|||
<field name="maximum_minutes" colspan="4" nolabel="1"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<!-- </div>--> |
|||
</xpath> |
|||
</field> |
|||
</record> |
|||
|
|||
<!-- <record id="late_check_in_settings_action" model="ir.actions.act_window">--> |
|||
<!-- <field name="name">Late Check-in Configuration</field>--> |
|||
<!-- <field name="res_model">res.config.settings</field>--> |
|||
<!-- <field name="view_id" ref="late_check_in_setting_view"/>--> |
|||
<!-- <field name="view_mode">form</field>--> |
|||
<!-- <field name="target">inline</field>--> |
|||
<!-- <field name="context">{'module' : 'employee_late_check_in'}</field>--> |
|||
<!-- </record>--> |
|||
|
|||
<!-- <menuitem id="employee_late_check_in_settings_menu" name="Late Check-in" sequence="60"--> |
|||
<!-- parent="hr_attendance.menu_hr_attendance_root"--> |
|||
<!-- action="late_check_in_settings_action"--> |
|||
<!-- web_icon=""/>--> |
|||
</data> |
|||
</odoo> |