add new module
36
attendance_regularization/README.md
Executable file
@@ -0,0 +1,36 @@
|
||||
Open HRMS Attendance Regularization
|
||||
=========================
|
||||
|
||||
Manage Attendances for Onsight Jobs.
|
||||
|
||||
|
||||
Installation
|
||||
============
|
||||
- www.odoo.com/documentation/13.0/setup/install.html
|
||||
- Install our custom addon
|
||||
|
||||
License
|
||||
=======
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3 (AGPLv3)
|
||||
(http://www.gnu.org/licenses/agpl.html)
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
|
||||
|
||||
Credits
|
||||
=======
|
||||
* Cybrosys Techno Solutions <https://www.cybrosys.com>
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
Developer: Sayooj A O @ Cybrosys
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
This module is maintained by Cybrosys Technologies.
|
||||
|
||||
For support and more information, please visit https://www.cybrosys.com.
|
||||
|
||||
1
attendance_regularization/__init__.py
Executable file
@@ -0,0 +1 @@
|
||||
from . import models
|
||||
23
attendance_regularization/__manifest__.py
Executable file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
'name': "Open HRMS Attendance Regularization",
|
||||
'version': '13.0.1.0.0',
|
||||
'summary': """Assigning Attendance for the Employees with Onsight Jobs""",
|
||||
'description': """Assigning Attendance for the Employees with Onsight Jobs through the requests by Employees """,
|
||||
'category': 'Human Resource',
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'website': "https://www.openhrms.com",
|
||||
'depends': ['base', 'hr', 'hr_attendance', 'project', 'contacts', 'oh_employee_creation_from_user'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/security.xml',
|
||||
'views/category.xml',
|
||||
'views/regularization_views.xml',
|
||||
],
|
||||
'demo': ['data/regularization_data.xml',],
|
||||
'images': ['static/description/banner.png'],
|
||||
'license': "AGPL-3",
|
||||
'installable': True,
|
||||
'application': True,
|
||||
}
|
||||
36
attendance_regularization/data/regularization_data.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="employee_one" model="hr.employee">
|
||||
<field name="name">Ronnie </field>
|
||||
<field name="job_title">Chief Medical Officer</field>
|
||||
<field name="work_location">Building 1, Third Floor</field>
|
||||
<field name="work_phone">(376)-3852-7863</field>
|
||||
<field name="work_email">ronnie@example.com</field>
|
||||
<field name="image_1920" type="base64" file="attendance_regularization/static/image/employee_al-image.jpg"/>
|
||||
</record>
|
||||
|
||||
<record id="regularization_category_one" model="reg.categories">
|
||||
<field name="type">Onsight</field>
|
||||
</record>
|
||||
|
||||
<record id="regularization_category_two" model="reg.categories">
|
||||
<field name="type">Business Trip</field>
|
||||
</record>
|
||||
|
||||
<record id="regularization_category_three" model="reg.categories">
|
||||
<field name="type">Client Meeting</field>
|
||||
</record>
|
||||
|
||||
<!--EMPLOYEE DEMO DATA -->
|
||||
<record id="regularization_demo_one" model="attendance.regular">
|
||||
<field name="reg_category" ref="regularization_category_one"/>
|
||||
<field name="reg_reason">Going for onsight</field>
|
||||
<field name="employee_id" ref="employee_one"/>
|
||||
<field name="from_date">2020-02-12 10:17:56</field>
|
||||
<field name="to_date">2020-02-26 10:17:56</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
6
attendance_regularization/doc/RELEASE_NOTES.md
Executable file
@@ -0,0 +1,6 @@
|
||||
## Module <attendance_regularization>
|
||||
|
||||
#### 18.09.2018
|
||||
#### Version 13.0.1.0.0
|
||||
##### ADD
|
||||
- Initial commit for Open HRMS Project
|
||||
369
attendance_regularization/i18n/ar_001.po
Normal file
@@ -0,0 +1,369 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * attendance_regularization
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-12 04:09+0000\n"
|
||||
"PO-Revision-Date: 2020-02-12 04:09+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "الإجراءات اللازمة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_ids
|
||||
msgid "Activities"
|
||||
msgstr "أنشطة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_exception_decoration
|
||||
msgid "Activity Exception Decoration"
|
||||
msgstr "نشاط استثناء الديكور"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_state
|
||||
msgid "Activity State"
|
||||
msgstr "حالة النشاط"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model,name:attendance_regularization.model_attendance_regular
|
||||
msgid "Approval Request"
|
||||
msgstr "طلب مقبول"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.attendance_regular11
|
||||
msgid "Approve"
|
||||
msgstr "يوافق"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.view_regular_approve_tree
|
||||
msgid "Approve Regularization"
|
||||
msgstr "الموافقة على التنظيم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields.selection,name:attendance_regularization.selection__attendance_regular__state_select__approved
|
||||
msgid "Approved"
|
||||
msgstr "وافق"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_attachment_count
|
||||
msgid "Attachment Count"
|
||||
msgstr "عدد المرفقات"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model,name:attendance_regularization.model_hr_attendance
|
||||
msgid "Attendance"
|
||||
msgstr "الحضور"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.ui.menu,name:attendance_regularization.regular_onsight
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.view_regular_tree1
|
||||
msgid "Attendance Regularization"
|
||||
msgstr "تنظيم الحضور"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.actions.act_window,name:attendance_regularization.action_view_request_regularization
|
||||
msgid "Attendance Regularization Approval"
|
||||
msgstr "الموافقة على تنظيم الحضور"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__type
|
||||
msgid "Category"
|
||||
msgstr "الفئة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.actions.act_window,help:attendance_regularization.action_view_request_regularization
|
||||
msgid "Create new Record"
|
||||
msgstr "إنشاء سجل جديد"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.actions.act_window,help:attendance_regularization.action_view_regularization1
|
||||
msgid "Create new Request"
|
||||
msgstr "إنشاء طلب جديد"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.actions.act_window,help:attendance_regularization.action_view_job_cats
|
||||
msgid "Create new record"
|
||||
msgstr "إنشاء سجل جديد"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__create_uid
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "انشأ من قبل"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__create_date
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__create_date
|
||||
msgid "Created on"
|
||||
msgstr "تم إنشاؤها على"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__display_name
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "اسم العرض"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields.selection,name:attendance_regularization.selection__attendance_regular__state_select__draft
|
||||
msgid "Draft"
|
||||
msgstr "مشروع"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__employee_id
|
||||
msgid "Employee"
|
||||
msgstr "موظف"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "متابعون"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_channel_ids
|
||||
msgid "Followers (Channels)"
|
||||
msgstr "(المتابعون (القنوات"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "(المتابعون (الشركاء"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__from_date
|
||||
msgid "From Date"
|
||||
msgstr "من التاريخ"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__id
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__id
|
||||
msgid "ID"
|
||||
msgstr "هوية شخصية"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_exception_icon
|
||||
msgid "Icon"
|
||||
msgstr "أيقونة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__activity_exception_icon
|
||||
msgid "Icon to indicate an exception activity."
|
||||
msgstr "أيقونة للإشارة إلى نشاط استثناء."
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_needaction
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_unread
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr ".إذا تم تحديد ذلك ، فإن الرسائل الجديدة تتطلب اهتمامك"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_has_error
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_has_sms_error
|
||||
msgid "If checked, some messages have a delivery error."
|
||||
msgstr ".إذا تم التحقق ، فبعض الرسائل بها خطأ في التسليم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "هو تابع"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular____last_update
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "آخر تعديل في"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__write_uid
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "آخر تحديث بواسطة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__write_date
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_reg_categories__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "آخر تحديث في"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_main_attachment_id
|
||||
msgid "Main Attachment"
|
||||
msgstr "المرفق الرئيسي"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_has_error
|
||||
msgid "Message Delivery error"
|
||||
msgstr "خطأ في تسليم الرسالة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "رسائل"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_date_deadline
|
||||
msgid "Next Activity Deadline"
|
||||
msgstr "آخر نشاط الموعد النهائي"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_summary
|
||||
msgid "Next Activity Summary"
|
||||
msgstr "ملخص النشاط التالي"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_type_id
|
||||
msgid "Next Activity Type"
|
||||
msgstr "نوع النشاط التالي"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "عدد الإجراءات"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_has_error_counter
|
||||
msgid "Number of errors"
|
||||
msgstr "عدد الاخطاء"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_needaction_counter
|
||||
msgid "Number of messages which requires an action"
|
||||
msgstr "عدد الرسائل التي تتطلب إجراء"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_has_error_counter
|
||||
msgid "Number of messages with delivery error"
|
||||
msgstr "عدد الرسائل مع خطأ التسليم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__message_unread_counter
|
||||
msgid "Number of unread messages"
|
||||
msgstr "عدد الرسائل غير المقروءة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__reg_reason
|
||||
msgid "Reason"
|
||||
msgstr "السبب"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_hr_attendance__regularization
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.attendance_regular11
|
||||
msgid "Regularization"
|
||||
msgstr "تسوية"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.ui.menu,name:attendance_regularization.approving_regular
|
||||
msgid "Regularization Approval"
|
||||
msgstr "الموافقة على التنظيم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.actions.act_window,name:attendance_regularization.action_view_job_cats
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__reg_category
|
||||
#: model:ir.ui.menu,name:attendance_regularization.jobs_catagories
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.job_cate
|
||||
msgid "Regularization Category"
|
||||
msgstr "فئة التنظيم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.actions.act_window,name:attendance_regularization.action_view_regularization1
|
||||
msgid "Regularization Request"
|
||||
msgstr "طلب تسوية"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.attendance_regular11
|
||||
msgid "Reject"
|
||||
msgstr "رفض"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields.selection,name:attendance_regularization.selection__attendance_regular__state_select__reject
|
||||
msgid "Rejected"
|
||||
msgstr ""
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.ui.menu,name:attendance_regularization.applying_regular1
|
||||
msgid "Request Regularization"
|
||||
msgstr "طلب تنظيم"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields.selection,name:attendance_regularization.selection__attendance_regular__state_select__requested
|
||||
msgid "Requested"
|
||||
msgstr "طلب"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__activity_user_id
|
||||
msgid "Responsible User"
|
||||
msgstr "المستخدم المسؤول"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_has_sms_error
|
||||
msgid "SMS Delivery error"
|
||||
msgstr "خطأ في تسليم الرسائل القصيرة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__state_select
|
||||
msgid "State"
|
||||
msgstr "حالة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__activity_state
|
||||
msgid ""
|
||||
"Status based on activities\n"
|
||||
"Overdue: Due date is already passed\n"
|
||||
"Today: Activity date is today\n"
|
||||
"Planned: Future activities."
|
||||
msgstr ""
|
||||
"الحالة على أساس الأنشطة\n"
|
||||
"المتأخرة: تاريخ الاستحقاق مر\n"
|
||||
"اليوم: تاريخ النشاط هو اليوم\n"
|
||||
"المخطط: الأنشطة المستقبلية."
|
||||
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model_terms:ir.ui.view,arch_db:attendance_regularization.attendance_regular11
|
||||
msgid "Submit"
|
||||
msgstr "إرسال"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__to_date
|
||||
msgid "To Date"
|
||||
msgstr "حتى تاريخه"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__activity_exception_decoration
|
||||
msgid "Type of the exception activity on record."
|
||||
msgstr ".نوع نشاط الاستثناء في السجل"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_unread
|
||||
msgid "Unread Messages"
|
||||
msgstr "رسائل غير مقروءة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__message_unread_counter
|
||||
msgid "Unread Messages Counter"
|
||||
msgstr "عداد الرسائل غير المقروءة"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,field_description:attendance_regularization.field_attendance_regular__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "رسائل الموقع"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model.fields,help:attendance_regularization.field_attendance_regular__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "سجل اتصالات الموقع"
|
||||
|
||||
#. module: attendance_regularization
|
||||
#: model:ir.model,name:attendance_regularization.model_reg_categories
|
||||
msgid "reg.categories"
|
||||
msgstr ""
|
||||
2
attendance_regularization/models/__init__.py
Executable file
@@ -0,0 +1,2 @@
|
||||
from . import regularization
|
||||
from . import hr_attendance
|
||||
8
attendance_regularization/models/hr_attendance.py
Executable file
@@ -0,0 +1,8 @@
|
||||
from odoo import fields, api, models
|
||||
|
||||
|
||||
class Regular(models.Model):
|
||||
_inherit = 'hr.attendance'
|
||||
|
||||
regularization = fields.Boolean(string="Regularization")
|
||||
|
||||
60
attendance_regularization/models/regularization.py
Executable file
@@ -0,0 +1,60 @@
|
||||
from odoo import fields, api, models
|
||||
|
||||
|
||||
class Regular(models.Model):
|
||||
_name = 'attendance.regular'
|
||||
_rec_name = 'employee_id'
|
||||
_description = 'Approval Request'
|
||||
_inherit = ['mail.thread', 'mail.activity.mixin']
|
||||
|
||||
def _get_employee_id(self):
|
||||
employee_rec = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
|
||||
return employee_rec.id
|
||||
|
||||
reg_category = fields.Many2one('reg.categories', string='Regularization Category', required=True,
|
||||
help='Choose the category of attendance regularization')
|
||||
from_date = fields.Datetime(string='From Date', required=True, help='Start Date')
|
||||
to_date = fields.Datetime(string='To Date', required=True, help='End Date')
|
||||
reg_reason = fields.Text(string='Reason', required=True, help='Reason for the attendance regularization')
|
||||
employee_id = fields.Many2one('hr.employee', string="Employee", default=_get_employee_id, readonly=True,
|
||||
required=True, help='Employee')
|
||||
state_select = fields.Selection([('draft', 'Draft'), ('requested', 'Requested'), ('reject', 'Rejected'),
|
||||
('approved', 'Approved')
|
||||
], default='draft', track_visibility='onchange', string='State',
|
||||
help='State')
|
||||
|
||||
|
||||
def submit_reg(self):
|
||||
self.ensure_one()
|
||||
self.sudo().write({
|
||||
'state_select': 'requested'
|
||||
})
|
||||
return
|
||||
|
||||
|
||||
def regular_approval(self):
|
||||
self.write({
|
||||
'state_select': 'approved'
|
||||
})
|
||||
vals = {
|
||||
'check_in': self.from_date,
|
||||
'check_out': self.to_date,
|
||||
'employee_id': self.employee_id.id,
|
||||
'regularization': True
|
||||
}
|
||||
approve = self.env['hr.attendance'].sudo().create(vals)
|
||||
return
|
||||
|
||||
|
||||
def regular_rejection(self):
|
||||
self.write({
|
||||
'state_select': 'reject'
|
||||
})
|
||||
return
|
||||
|
||||
|
||||
class Category(models.Model):
|
||||
_name = 'reg.categories'
|
||||
_rec_name = 'type'
|
||||
|
||||
type = fields.Char(string='Category', help='Type of regularization')
|
||||
4
attendance_regularization/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_attendance_regular,request_regular,model_attendance_regular,base.group_user,1,1,1,0
|
||||
access_attendance_regular_categories,request_regular_categories,model_reg_categories,base.group_user,1,0,0,0
|
||||
access_attendance_categories_admin,request_categories_admin,model_reg_categories,hr_attendance.group_hr_attendance_manager,1,1,1,1
|
||||
|
15
attendance_regularization/security/security.xml
Executable file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<record id="employee_visibility" model="ir.rule">
|
||||
<field name="name">Attendance Visibility</field>
|
||||
<field ref="model_attendance_regular" name="model_id"/>
|
||||
<field name="domain_force">[('employee_id.user_id','=',user.id)]</field>
|
||||
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
|
||||
</record>
|
||||
<record id="admin_visibility" model="ir.rule">
|
||||
<field name="name">Admin Visibility</field>
|
||||
<field ref="model_attendance_regular" name="model_id"/>
|
||||
<field name="domain_force">[]</field>
|
||||
<field name="groups" eval="[(4, ref('hr_attendance.group_hr_attendance_manager'))]"/>
|
||||
</record>
|
||||
</odoo>
|
||||
BIN
attendance_regularization/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
attendance_regularization/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 68 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 159 KiB |
BIN
attendance_regularization/static/description/images/checked.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
attendance_regularization/static/description/images/checked.psd
Normal file
|
After Width: | Height: | Size: 612 KiB |
|
After Width: | Height: | Size: 408 KiB |
BIN
attendance_regularization/static/description/images/openhrms.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 115 KiB |
586
attendance_regularization/static/description/index.html
Normal file
@@ -0,0 +1,586 @@
|
||||
<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;"> OHRMS Attendance Regularization </h1>
|
||||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> Manages Attendance For Onsight Jobs </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">
|
||||
Managing Requests From Onsight Employees.
|
||||
</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">
|
||||
Automatic Addition Of Attendance Through Approval.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/attendance.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 is an application for handling the Attendances for the employees who gone for Onsight jobs or any company purposes, the employee can send the request and the responsible person will receive the request he can either approve or reject the request.If he approve the request the attendance to the corresponding date will add to the registry.
|
||||
</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%;">OHRMS Attendance Regularization</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">
|
||||
Managing Requests From Onsight Employees.
|
||||
</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">
|
||||
Automatic Addition Of Attendance Through Approval.
|
||||
</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">
|
||||
Select the User and set the "Attendance" field to 'Manual Attendance'
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/1attendance reg.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">
|
||||
Fill the mandatory fields and click "Submit" to send request
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/2attendance reg.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div id="demo" class="row carousel slide mb32" data-ride="carousel">-->
|
||||
<!-- <div class="carousel-inner">-->
|
||||
<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">
|
||||
Now the Attendance Request is generated the manager can either 'Approve' or 'Reject' the request.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/3attendance reg.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">
|
||||
Click on 'Approve' to add the attendance.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/4attendance reg.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">
|
||||
Now we can see the attendance is added in the attendance registry
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/5attendance reg.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>
|
||||
BIN
attendance_regularization/static/image/employee_al-image.jpg
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
28
attendance_regularization/views/category.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="job_cate" model="ir.ui.view">
|
||||
<field name="name">job.cate</field>
|
||||
<field name="model">reg.categories</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Regularization Category" editable="bottom">
|
||||
<field name="type" required="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_view_job_cats">
|
||||
<field name="name">Regularization Category</field>
|
||||
<field name="res_model">reg.categories</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_no_content_create">Create new record
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="jobs_catagories" name="Regularization Category" parent="hr_attendance.menu_hr_attendance_settings"
|
||||
action="action_view_job_cats"/>
|
||||
</data>
|
||||
</odoo>
|
||||
95
attendance_regularization/views/regularization_views.xml
Executable file
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="view_regular_tree1" model="ir.ui.view">
|
||||
<field name="name">attendance.regular_tree</field>
|
||||
<field name="model">attendance.regular</field>
|
||||
<field name="priority" eval="8" />
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Attendance Regularization">
|
||||
<field name="employee_id"/>
|
||||
<field name="reg_category"/>
|
||||
<field name="from_date"/>
|
||||
<field name="reg_reason"/>
|
||||
<field name="to_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_view_regularization1">
|
||||
<field name="name">Regularization Request</field>
|
||||
<field name="res_model">attendance.regular</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_no_content_create">Create new Request
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="regular_onsight" name="Attendance Regularization" parent="hr_attendance.menu_hr_attendance_root"
|
||||
sequence="15" groups="base.group_user" action="action_view_regularization1"/>
|
||||
<record id="view_regular_approve_tree" model="ir.ui.view">
|
||||
<field name="name">attendance.regular_request_tree</field>
|
||||
<field name="model">attendance.regular</field>
|
||||
<field name="priority" eval="8" />
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Approve Regularization">
|
||||
<field name="employee_id"/>
|
||||
<field name="reg_category"/>
|
||||
<field name="from_date"/>
|
||||
<field name="reg_reason"/>
|
||||
<field name="to_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="attendance_regular11" model="ir.ui.view">
|
||||
<field name="name">attend.regular</field>
|
||||
<field name="model">attendance.regular</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Regularization">
|
||||
<header>
|
||||
<button name="submit_reg" string="Submit" type="object" class="btn-primary"
|
||||
attrs="{'invisible': [('state_select','not in','draft')]}"/>
|
||||
<button name="regular_approval" type="object" string="Approve" class="oe_highlight"
|
||||
groups="hr_attendance.group_hr_attendance_manager"
|
||||
attrs="{'invisible': [('state_select','not in','requested')]}"/>
|
||||
<button name="regular_rejection" type="object" string="Reject" class="oe_highlight"
|
||||
groups="hr_attendance.group_hr_attendance_manager"
|
||||
attrs="{'invisible': [('state_select','not in','requested')]}"/>
|
||||
<field name="state_select" widget="statusbar" statusbar_visible="draft,requested,approved"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group col="4" colspan="4">
|
||||
<field name="reg_category" attrs="{'readonly':[('state_select','=','approved')]}"/>
|
||||
<field name="from_date" attrs="{'readonly':[('state_select','=','approved')]}"/>
|
||||
<field name="reg_reason" attrs="{'readonly':[('state_select','=','approved')]}"/>
|
||||
<field name="to_date" attrs="{'readonly':[('state_select','=','approved')]}"/>
|
||||
<field name="employee_id" attrs="{'readonly':[('state_select','=','approved')]}"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
|
||||
<field name="activity_ids" widget="mail_activity"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="action_view_request_regularization">
|
||||
<field name="name">Attendance Regularization Approval</field>
|
||||
<field name="res_model">attendance.regular</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('state_select','!=','approved'),('state_select','!=','reject')]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_no_content_create">Create new Record
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem id="approving_regular"
|
||||
name="Regularization Approval"
|
||||
parent="hr_attendance.menu_hr_attendance_manage_attendances"
|
||||
sequence="25"
|
||||
action="action_view_request_regularization"
|
||||
groups="hr_attendance.group_hr_attendance_manager"/>
|
||||
</data>
|
||||
</odoo>
|
||||