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>
|
||||
49
employee_background/README.rst
Executable file
@@ -0,0 +1,49 @@
|
||||
Employee Background Verification v13
|
||||
====================================
|
||||
This module helps you to the verification of employee background.
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
* The HR Manager can choose an employee and assign to a verification agent.
|
||||
* Assigned agent collect the details and send back to the manager.
|
||||
* The Agent can submit the expense and manager can approve the expense submitted.
|
||||
* The HR Manager can approve and reject the employee after verifying the result
|
||||
* Manager can send appropriate mails to the employee.
|
||||
|
||||
Depends
|
||||
=======
|
||||
[hr] addon Odoo
|
||||
[hr_recruitment] addon Odoo
|
||||
[portal] addon Odoo
|
||||
[website] addon Odoo
|
||||
|
||||
Tech
|
||||
====
|
||||
* [Python] - Models
|
||||
* [XML] - Odoo views
|
||||
|
||||
Installation
|
||||
============
|
||||
- www.odoo.com/documentation/13.0/setup/install.html
|
||||
- Install our custom addon
|
||||
|
||||
|
||||
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: Tintuk Tomin @ cybrosys. odoo@cybrosys.in
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
This module is maintained by Cybrosys Technologies.
|
||||
|
||||
For support and more information, please visit https://www.cybrosys.com
|
||||
3
employee_background/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import models
|
||||
from . import controllers
|
||||
45
employee_background/__manifest__.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2017-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
|
||||
# Author: Tintuk Tomin(<https://www.cybrosys.com>)
|
||||
# This program is free software: you can modify
|
||||
# it under the terms of the GNU Affero General Public License (AGPL) as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
{
|
||||
'name': 'Open HRMS Employee Background Verification',
|
||||
'version': '13.0.1.0.0',
|
||||
'summary': """Verify the background details of an Employee """,
|
||||
'category': 'Generic Modules/Human Resources',
|
||||
'description': 'Manage the employees background verification Process employee varification ',
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'website': "https://www.cybrosys.com",
|
||||
'depends': ['base', 'hr', 'hr_recruitment', 'mail', 'hr_employee_updation', 'contacts', 'portal', 'website'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/view_verification.xml',
|
||||
'views/res_partner_agent_view.xml',
|
||||
'views/agent_portal_templates.xml',
|
||||
'data/default_mail.xml'
|
||||
],
|
||||
'demo': ['data/demo_data.xml'],
|
||||
'images': ['static/description/banner.png'],
|
||||
'license': 'AGPL-3',
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
}
|
||||
3
employee_background/controllers/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import portal
|
||||
80
employee_background/controllers/portal.py
Normal file
@@ -0,0 +1,80 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import base64
|
||||
from odoo import http, _
|
||||
from odoo.exceptions import AccessError, UserError
|
||||
from odoo.http import request
|
||||
from odoo.tools import consteq
|
||||
from odoo.addons.portal.controllers.mail import _message_post_helper
|
||||
from odoo.addons.portal.controllers.portal\
|
||||
import CustomerPortal, pager as portal_pager, get_records_pager
|
||||
|
||||
|
||||
class CustomerPortal(CustomerPortal):
|
||||
|
||||
@http.route(['/my/records', '/my/quotes/page/<int:page>'], type='http', auth="user", website=True)
|
||||
def portal_my_records(self, page=1, date_begin=None, date_end=None, sortby=None, **kw):
|
||||
partner = request.env.user.partner_id
|
||||
employee_records = request.env['employee.verification'].sudo().search(['&',('state','=','assign'),('agency','=',partner.id)])
|
||||
varification_count = request.env['employee.verification'].sudo().search_count(['&',('state','=','assign'),('agency','=',partner.id)])
|
||||
pager = portal_pager(
|
||||
url="/my/quotes",
|
||||
url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby},
|
||||
total=varification_count,
|
||||
page=page,
|
||||
step=self._items_per_page
|
||||
)
|
||||
values={
|
||||
'date': date_begin,
|
||||
'records': employee_records.sudo(),
|
||||
'page_name': 'employee',
|
||||
'pager': pager,
|
||||
# 'archive_groups': archive_groups,
|
||||
'default_url': '/my/quotes',
|
||||
# 'searchbar_sortings': searchbar_sortings,
|
||||
'sortby': sortby,
|
||||
}
|
||||
return request.render("employee_background.portal_my_records", values)
|
||||
|
||||
@http.route(['/my/details/<int:order>'], type='http', auth="public", website=True)
|
||||
def portal_record_page(self, order=None, access_token=None, **kw):
|
||||
try:
|
||||
data = request.env['employee.verification'].sudo().browse(order)
|
||||
except AccessError:
|
||||
return request.redirect('/my')
|
||||
|
||||
values = {
|
||||
'page_name': 'employee_details',
|
||||
'records': data
|
||||
}
|
||||
return request.render("employee_background.portal_record_page", values)
|
||||
|
||||
@http.route('/test/path', type='http', auth="public", website=True, csrf=False)
|
||||
def portal_order_report(self, **kw):
|
||||
|
||||
employee = request.env['employee.verification'].sudo().browse(kw['employee_token'])
|
||||
if kw['description'] or kw.get('attachment', False):
|
||||
if kw['description']:
|
||||
employee.description_by_agency = kw['description']
|
||||
if kw.get('attachment', False):
|
||||
Attachments = request.env['ir.attachment']
|
||||
name = kw.get('attachment').filename
|
||||
file = kw.get('attachment')
|
||||
attachment = file.read()
|
||||
attachment_id = Attachments.sudo().create({
|
||||
'name': name,
|
||||
'datas_fname': name,
|
||||
'res_name': name,
|
||||
'type': 'binary',
|
||||
'res_model': 'employee.verification',
|
||||
'res_id': kw['employee_token'],
|
||||
'datas': base64.b64encode(attachment),
|
||||
})
|
||||
employee.agency_attachment_id = attachment_id
|
||||
employee.state = 'submit'
|
||||
values = {
|
||||
'page_name': 'employee_submit'
|
||||
}
|
||||
return request.render("employee_background.portal_record_completed",values)
|
||||
else:
|
||||
raise UserError(_("You need to Enter description or attact a file before submit."))
|
||||
22
employee_background/data/default_mail.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="assign_agency_email_template" model="mail.template">
|
||||
<field name="name">Assign verification e-mail template</field>
|
||||
<field name="subject">Verification of ${object.employee.name}</field>
|
||||
<field name="email_from">${user.email}</field>
|
||||
<field name="email_to">${object.agency.login}</field>
|
||||
<field name="report_name">${(object.resume_applicant or '').replace('/','_')}</field>
|
||||
<field name="model_id" ref="model_employee_verification"/>
|
||||
<field name="auto_delete" eval="False"/>
|
||||
<field name="body_html">
|
||||
<![CDATA[
|
||||
<p>Dear ${object.agency.name},<p>
|
||||
<p>A new request is created to varify our employee <b> ${object.employee.name} </b> .
|
||||
To complete the Employee Verification process collect the required details and submit it as soon as possible.<p>
|
||||
<p>You can reply to this email if you have any questions.</p>
|
||||
<p>Thank you,</p>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
34
employee_background/data/demo_data.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="employee_background" model="hr.employee">
|
||||
<field name="name">James Villiam</field>
|
||||
<field name="job_title">Technician</field>
|
||||
<field name="work_location">Building 4, Third Floor</field>
|
||||
<field name="work_phone">(376)-356-7885</field>
|
||||
<field name="work_email">Villiam@example.com</field>
|
||||
<field name="image_1920" type="base64" file="employee_background/static/image/employee_backgrnd.jpeg"/>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="employee_address_one" model="res.partner">
|
||||
<field name="name">James Villiam</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_address_two" model="res.partner">
|
||||
<field name="name">ascent</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_address_three" model="res.partner">
|
||||
<field name="name">Doriz</field>
|
||||
</record>
|
||||
|
||||
<record id="verification_demo_one" model="employee.verification">
|
||||
<field name="employee" ref="employee_background"/>
|
||||
<field name="address" ref="employee_address_one"/>
|
||||
<field name="expected_date">2020-03-02 11:17:56</field>
|
||||
<field name="agency" ref="employee_address_three"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
380
employee_background/i18n/ar_001.po
Normal file
@@ -0,0 +1,380 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * employee_background
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-12 05:28+0000\n"
|
||||
"PO-Revision-Date: 2020-02-12 05:28+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: employee_background
|
||||
#: model:mail.template,body_html:employee_background.assign_agency_email_template
|
||||
msgid ""
|
||||
"\n"
|
||||
" \n"
|
||||
" <p>Dear ${object.agency.name},<p>\n"
|
||||
" <p>A new request is created to varify our employee <b> ${object.employee.name} </b> .\n"
|
||||
" To complete the Employee Verification process collect the required details and submit it as soon as possible.<p>\n"
|
||||
" <p>You can reply to this email if you have any questions.</p>\n"
|
||||
" <p>Thank you,</p>\n"
|
||||
" \n"
|
||||
"\t "
|
||||
msgstr ""
|
||||
|
||||
|
||||
#. module: employee_background
|
||||
#: model:mail.template,report_name:employee_background.assign_agency_email_template
|
||||
msgid "${(object.resume_applicant or '').replace('/','_')}"
|
||||
msgstr ""
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_home_menu_employee
|
||||
msgid "<span style=\"padding-left:8px;\">Employees</span>"
|
||||
msgstr "<span style=\"padding-left:8px;\">الموظفين</span>"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__address
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_records
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Address"
|
||||
msgstr "عنوان"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__agency
|
||||
msgid "Agency"
|
||||
msgstr "وكالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: code:addons/employee_background/models/employee_verification.py:0
|
||||
#, python-format
|
||||
msgid "Agency is not assigned. Please select one of the Agency."
|
||||
msgstr ".لم يتم تعيين الوكالة. يرجى اختيار واحدة من الوكالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.actions.act_window,name:employee_background.approved_employee_verification
|
||||
msgid "Approved Verification"
|
||||
msgstr "التحقق المعتمدة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.employee_disciplinary_form
|
||||
msgid "Assign to agency"
|
||||
msgstr "التنازل عن الوكالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields.selection,name:employee_background.selection__employee_verification__state__assign
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Assigned"
|
||||
msgstr "تعيين"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__assigned_by
|
||||
msgid "Assigned By"
|
||||
msgstr "عين من"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__assigned_date
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Assigned Date"
|
||||
msgstr "تاريخ محدد"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.actions.act_window,name:employee_background.assigned_employee_verification
|
||||
msgid "Assigned Verification"
|
||||
msgstr "التحقق المعين"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__agency_attachment_id
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.employee_disciplinary_form
|
||||
msgid "Attachment"
|
||||
msgstr "المرفق"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__agency_attachment_id
|
||||
msgid "Attachment from Agency"
|
||||
msgstr "مرفق من الوكالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__field_check
|
||||
msgid "Check"
|
||||
msgstr "التحقق من"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.actions.act_window,help:employee_background.action_employee_verification
|
||||
msgid "Click to create a new Employee verification."
|
||||
msgstr ".انقر لإنشاء التحقق الموظف الجديد"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__company_id
|
||||
msgid "Company"
|
||||
msgstr "شركة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Completed"
|
||||
msgstr "منجز"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model,name:employee_background.model_res_partner
|
||||
msgid "Contact"
|
||||
msgstr "جهة الاتصال"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "انشأ من قبل"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__create_date
|
||||
msgid "Created on"
|
||||
msgstr "تم إنشاؤها على"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__description_by_agency
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Description"
|
||||
msgstr "وصف"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "اسم العرض"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Download"
|
||||
msgstr "تحميل"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields.selection,name:employee_background.selection__employee_verification__state__draft
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Draft"
|
||||
msgstr "مشروع"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__employee
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_records
|
||||
msgid "Employee"
|
||||
msgstr "موظف"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_completed
|
||||
msgid "Employee Details"
|
||||
msgstr "تفاصيل الموظف"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.actions.act_window,name:employee_background.action_employee_verification
|
||||
#: model:ir.ui.menu,name:employee_background.employee_verification_menu
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.employee_disciplinary_form
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.employee_disciplinary_tree
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_home_agent
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Employee Verification"
|
||||
msgstr "التحقق من الموظفين"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_res_partner__verification_agent
|
||||
#: model:ir.model.fields,field_description:employee_background.field_res_users__verification_agent
|
||||
msgid "Employee Verification agent"
|
||||
msgstr "موظف التحقق من الموظف"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_home_menu_employee
|
||||
msgid "Employees"
|
||||
msgstr "الموظفين"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__address
|
||||
msgid "Enter here the private address of the employee, not the one linked to your company."
|
||||
|
||||
msgstr ".أدخل هنا العنوان الخاص للموظف ، وليس العنوان المرتبط بشركتك"
|
||||
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__expected_date
|
||||
msgid "Expected Date"
|
||||
msgstr "التاريخ المتوقع"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Expected completion Date"
|
||||
msgstr "تاريخ الإنتهاء المتوقع"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__expected_date
|
||||
msgid "Expected date of completion of background varification"
|
||||
msgstr "التاريخ المتوقع لإكمال تنوع الخلفية"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Group By"
|
||||
msgstr "مجموعة من"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__id
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__verification_id
|
||||
msgid "ID"
|
||||
msgstr "هوية شخصية"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.employee_disciplinary_form
|
||||
msgid "Information from Agency"
|
||||
msgstr "معلومات من الوكالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.res_partner_agent_form
|
||||
msgid "Is Agent"
|
||||
msgstr "هو الوكيل"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "آخر تعديل في"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "آخر تحديث بواسطة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "آخر تحديث في"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_res_partner__verification_agent
|
||||
#: model:ir.model.fields,help:employee_background.field_res_users__verification_agent
|
||||
msgid "Mark it if the partner is an Employee Verification Agent"
|
||||
msgstr "حدده إذا كان الشريك هو وكيل التحقق من الموظفين"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Name"
|
||||
msgstr "اسم"
|
||||
|
||||
#. module: employee_background
|
||||
#: code:addons/employee_background/models/employee_verification.py:0
|
||||
#, python-format
|
||||
msgid "No attachments available."
|
||||
msgstr ".لا المرفقات المتاحة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_records
|
||||
msgid "Order Date"
|
||||
msgstr "تاريخ الطلب"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Personal Details"
|
||||
msgstr "تفاصيل شخصية"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Private details"
|
||||
msgstr "تفاصيل خاصة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.actions.act_window,name:employee_background.refused_employee_verification
|
||||
msgid "Refused Verification"
|
||||
msgstr "رفض التحقق"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__resume_uploaded
|
||||
msgid "Resume of Applicant"
|
||||
msgstr "استئناف مقدم الطلب"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "State"
|
||||
msgstr "حالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,field_description:employee_background.field_employee_verification__state
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.search_view_employee
|
||||
msgid "Status"
|
||||
msgstr "الحالة"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.actions.act_window,name:employee_background.submitted_employee_verification
|
||||
msgid "Submitted Verification"
|
||||
msgstr "تم التحقق"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "There are currently no orders for your account."
|
||||
msgstr ".لا يوجد حاليًا أي طلبات لحسابك"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_my_records
|
||||
msgid "There are currently no quotations for your account."
|
||||
msgstr "لا يوجد حاليًا عروض أسعار لحسابك"
|
||||
|
||||
#. module: employee_background
|
||||
#: code:addons/employee_background/models/employee_verification.py:0
|
||||
#, python-format
|
||||
msgid "There should be at least address or resume of the employee."
|
||||
msgstr "يجب أن يكون هناك عنوان أو استئناف الموظف على الأقل"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Upload"
|
||||
msgstr "رفع"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_page
|
||||
msgid "Upload file if any"
|
||||
msgstr "تحميل الملف إن وجد"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields.selection,name:employee_background.selection__employee_verification__state__submit
|
||||
msgid "Varification Completed"
|
||||
msgstr "v"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:mail.template,subject:employee_background.assign_agency_email_template
|
||||
msgid "Verification of ${object.employee.name}"
|
||||
msgstr "${object.employee.name} التحقق من"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__resume_uploaded
|
||||
msgid "You can attach the copy of your document"
|
||||
msgstr "يمكنك إرفاق نسخة من المستند"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__agency
|
||||
msgid "You can choose a Verification Agent"
|
||||
msgstr "يمكنك اختيار وكيل التحقق"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model.fields,help:employee_background.field_employee_verification__employee
|
||||
msgid "You can choose the employee for background verification"
|
||||
msgstr "يمكنك اختيار الموظف للتحقق من الخلفية"
|
||||
|
||||
#. module: employee_background
|
||||
#: code:addons/employee_background/models/employee_verification.py:0
|
||||
#, python-format
|
||||
msgid "You cannot delete the verification created."
|
||||
msgstr ".لا يمكنك حذف التحقق الذي تم إنشاؤه"
|
||||
|
||||
#. module: employee_background
|
||||
#: code:addons/employee_background/controllers/portal.py:0
|
||||
#, python-format
|
||||
msgid "You need to Enter description or attact a file before submit."
|
||||
msgstr ".تحتاج إلى إدخال وصف أو ملف ملف قبل إرسال"
|
||||
|
||||
#. module: employee_background
|
||||
#: model_terms:ir.ui.view,arch_db:employee_background.portal_record_completed
|
||||
msgid "Your report successfully submitted"
|
||||
msgstr "تم إرسال تقريرك بنجاح"
|
||||
|
||||
#. module: employee_background
|
||||
#: model:ir.model,name:employee_background.model_employee_verification
|
||||
msgid "employee.verification"
|
||||
msgstr ""
|
||||
3
employee_background/models/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import res_partner_agency
|
||||
from . import employee_verification
|
||||
68
employee_background/models/employee_verification.py
Normal file
@@ -0,0 +1,68 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import date
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import UserError
|
||||
import requests
|
||||
|
||||
|
||||
class EmployeeVerification(models.Model):
|
||||
_name = 'employee.verification'
|
||||
_rec_name = 'verification_id'
|
||||
|
||||
verification_id = fields.Char('ID', readonly=True, copy=False, help="Verification Id")
|
||||
employee = fields.Many2one('hr.employee', string='Employee', required=True, help='You can choose the employee for background verification')
|
||||
address = fields.Many2one(related='employee.address_home_id', string='Address', readonly=False)
|
||||
assigned_by = fields.Many2one('res.users', string='Assigned By', readonly=1, default=lambda self: self.env.uid, help="Assigned Login User")
|
||||
agency = fields.Many2one('res.partner', string='Agency', domain=[('verification_agent', '=', True)], help='You can choose a Verification Agent')
|
||||
resume_uploaded = fields.Many2many('ir.attachment', string="Resume of Applicant",
|
||||
help='You can attach the copy of your document', copy=False)
|
||||
description_by_agency = fields.Char(string='Description', readonly=True, help="Description")
|
||||
agency_attachment_id = fields.Many2one('ir.attachment', string='Attachment', help='Attachment from Agency')
|
||||
field_check = fields.Boolean(string='Check', invisible=True)
|
||||
assigned_date = fields.Date(string="Assigned Date", readonly=True, default=date.today(), help="Record Assigned Date")
|
||||
expected_date = fields.Date(state='Expected Date', help='Expected date of completion of background verification')
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('assign', 'Assigned'),
|
||||
('submit', 'Varification Completed'),
|
||||
], string='Status', default='draft')
|
||||
company_id = fields.Many2one('res.company', 'Company',
|
||||
default=lambda self: self.env['res.company'].browse(1))
|
||||
|
||||
|
||||
|
||||
def download_attachment(self):
|
||||
if self.agency_attachment_id:
|
||||
return {
|
||||
'type': 'ir.actions.act_url',
|
||||
'url': '/web/binary/image?model=ir.attachment&field=datas&id=%s&filename=%s' % (self.agency_attachment_id.id,self.agency_attachment_id.name),
|
||||
'target': 'new',
|
||||
}
|
||||
else:
|
||||
raise UserError(_("No attachments available."))
|
||||
|
||||
|
||||
def assign_statusbar(self):
|
||||
if self.agency:
|
||||
if self.address or self.resume_uploaded:
|
||||
self.state = 'assign'
|
||||
template = self.env.ref('employee_background.assign_agency_email_template')
|
||||
self.env['mail.template'].browse(template.id).send_mail(self.id, force_send=True)
|
||||
else:
|
||||
raise UserError(_("There should be at least address or resume of the employee."))
|
||||
else:
|
||||
raise UserError(_("Agency is not assigned. Please select one of the Agency."))
|
||||
|
||||
# sequence generation for employee verification
|
||||
@api.model
|
||||
def create(self, vals):
|
||||
seq = self.env['ir.sequence'].next_by_code('res.users') or '/'
|
||||
vals['verification_id'] = seq
|
||||
return super(EmployeeVerification, self).create(vals)
|
||||
|
||||
|
||||
def unlink(self):
|
||||
if self.state not in 'draft':
|
||||
raise UserError(_('You cannot delete the verification created.'))
|
||||
super(EmployeeVerification, self).unlink()
|
||||
10
employee_background/models/res_partner_agency.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
class ResPartnerAgency(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
verification_agent = fields.Boolean(string='Employee Verification agent',
|
||||
default=False,
|
||||
help="Mark it if the partner is an Employee Verification Agent")
|
||||
43
employee_background/models/xls_template.py
Normal file
@@ -0,0 +1,43 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import logging
|
||||
from odoo import models
|
||||
|
||||
|
||||
class DefaultTemplateXls(models.AbstractModel):
|
||||
_name = 'report.employee_background.default_verification_details'
|
||||
# _inherit = 'report.report_xlsx.abstract'
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
try:
|
||||
_inherit = 'report.report_xlsx.abstract'
|
||||
except ImportError:
|
||||
_logger.debug('Cannot find report_xlsx module for version 11')
|
||||
|
||||
def generate_xlsx_report(self, workbook, data, obj):
|
||||
sheet = workbook.add_worksheet()
|
||||
format1 = workbook.add_format({'font_size': 16, 'align': 'center', 'bg_color': '#D3D3D3', 'bold': True})
|
||||
format2 = workbook.add_format({'font_size': 10, 'bold': True})
|
||||
format3 = workbook.add_format({'font_size': 10})
|
||||
|
||||
sheet.merge_range('B1:E1', 'Required Details', format1)
|
||||
sheet.merge_range('A2:B2', 'Applicant Name:', format3)
|
||||
sheet.merge_range('A3:C3', 'Information Required', format2)
|
||||
sheet.merge_range('D3:F3', 'Details Given', format2)
|
||||
sheet.merge_range('G3:I3', 'Details(Correct/Wrong)', format2)
|
||||
sheet.merge_range('A5:C5', 'Education Details', format3)
|
||||
sheet.merge_range('B6:C6', 'Graduation', format3)
|
||||
sheet.merge_range('D6:F6', '', format3)
|
||||
sheet.merge_range('G6:I6', '', format3)
|
||||
sheet.merge_range('B7:C7', 'Plus Two', format3)
|
||||
sheet.merge_range('D7:F7', '', format3)
|
||||
sheet.merge_range('G7:I7', '', format3)
|
||||
sheet.merge_range('A9:C9', 'Work Details', format3)
|
||||
sheet.merge_range('D9:F9', '', format3)
|
||||
sheet.merge_range('G9:I9', '', format3)
|
||||
sheet.merge_range('A11:C11', 'Criminal Background', format3)
|
||||
sheet.merge_range('D11:F11', '', format3)
|
||||
sheet.merge_range('G11:I11', '', format3)
|
||||
sheet.merge_range('A13:C13', 'Disciplinary Allegation in Previous Work Locations', format3)
|
||||
sheet.merge_range('D13:F13', '', format3)
|
||||
sheet.merge_range('G13:I13', '', format3)
|
||||
2
employee_background/security/ir.model.access.csv
Normal file
@@ -0,0 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
manager_view_verification,view_verification_for_manager,model_employee_verification,hr.group_hr_manager,1,1,1,1
|
||||
|
BIN
employee_background/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
employee_background/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
employee_background/static/description/images/1verify.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
employee_background/static/description/images/2verify.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
employee_background/static/description/images/3verify.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
employee_background/static/description/images/4verify.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
employee_background/static/description/images/5verify.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
employee_background/static/description/images/6verify.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
employee_background/static/description/images/7verify.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
employee_background/static/description/images/8verify.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
employee_background/static/description/images/9verify.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 126 KiB |
BIN
employee_background/static/description/images/bio_image.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
employee_background/static/description/images/checked.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
employee_background/static/description/images/checked.psd
Normal file
BIN
employee_background/static/description/images/core_image.gif
Normal file
|
After Width: | Height: | Size: 612 KiB |
BIN
employee_background/static/description/images/dash_image.gif
Normal file
|
After Width: | Height: | Size: 408 KiB |
BIN
employee_background/static/description/images/openhrms.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
employee_background/static/description/images/salary_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
employee_background/static/description/images/shift_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
employee_background/static/description/images/verify.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
660
employee_background/static/description/index.html
Normal file
@@ -0,0 +1,660 @@
|
||||
<div class="row"
|
||||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
|
||||
<a href="https://www.openhrms.com/" target="_blank"><img src="images/openhrms.png"
|
||||
style=" width: 293px; padding: 1rem 0rem; margin: auto"
|
||||
alt="cybrosys-logo"></a>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
|
||||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
|
||||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
|
||||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;"> Open HRMS Employee Background Verification </h1>
|
||||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> Manage Employee Background Verification </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 Employee Background Verification
|
||||
</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">
|
||||
Agent can collect the details and submit to the manager.
|
||||
</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">
|
||||
Automated mail to the agent regarding the varification.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/verify.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;">
|
||||
A well functioning human resource department will have a number of process. Employee Background Verification is the tool all you need for. Employee Background Verification instantly verifies the employee's background through a verification agent to check employee credentials. It thereby quickens the decision of accepting or rejecting the employee.
|
||||
</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;">
|
||||
To get the portal access for the agent, You need to give the portal access permission manually.
|
||||
</h3>
|
||||
</div>
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-features" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- feature tab-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Open HRMS Employee Background Verification </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 Employee Background Verification
|
||||
</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">
|
||||
Agent can collect the details and submit to the manager.
|
||||
</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">
|
||||
Automated mail to the agent regarding the verification.
|
||||
</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">
|
||||
Agent Configuration -> You need to put tick in the checkbox to enable the normal partner as an agent. Also you need to enter the email id to get the email notification to the agent.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/1verify.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">
|
||||
Option to get the portal access management.
|
||||
<br>
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/2verify.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">
|
||||
Portal access form view.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/3verify.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">
|
||||
Employee background verification form view.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/4verify.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">
|
||||
Employee background verification form view
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/5verify.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">
|
||||
Agent portal form view.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/6verify.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item" style="min-height: 0px;">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16"
|
||||
style="float: left;">
|
||||
<h3 class="alert"
|
||||
style="font-weight:400;color: #091E42;background: #fff;text-align: left;border-radius: 0; font-size: 18px;">
|
||||
<img src="images/checked.png"
|
||||
style=" width: 22px; margin-right: 6px; "
|
||||
alt="check">
|
||||
Employees list of verification requests
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/7verify.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">
|
||||
Employee form view for agent. Agent can download the resume uploaded by the admin. Also the agent have the provision for entering the description and upload files to the admin.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/8verify.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">
|
||||
After the details submitted by the agent a new notebook will appear with page name 'Information by Agency'. Admin will able to view the description and the can download the file if there is any.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/9verify.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
employee_background/static/image/employee_backgrnd.jpeg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
171
employee_background/views/agent_portal_templates.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<odoo>
|
||||
|
||||
<template id="portal_my_home_agent" name="Portal My Home Agent : Varificaation entries"
|
||||
inherit_id="portal.portal_my_home"
|
||||
priority="21">
|
||||
<xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
|
||||
<li class="list-group-item">
|
||||
<span class="badge" t-esc="quotation_count"/>
|
||||
<a href="/my/records">Employee Verification</a>
|
||||
</li>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="portal_my_home_menu_employee" name="Portal layout : employe menu entries" inherit_id="portal.portal_breadcrumbs" priority="20">
|
||||
<xpath expr="//ol[hasclass('o_portal_submenu')]" position="inside">
|
||||
<li t-if="page_name == 'employee'">
|
||||
<a t-if='records' t-attf-href="/my/records?{{ keep_query() }}"><span style="padding-left:8px;">Employees</span></a>
|
||||
<t t-else="">Employees</t>
|
||||
</li>
|
||||
<li t-if="page_name == 'employee_details'">
|
||||
<a t-if='records'>
|
||||
<a t-attf-href="/my/records?{{ keep_query() }}"><span style="padding-left:8px;">Employees</span></a>
|
||||
<span style="padding-left:8px;"></span>
|
||||
<t t-esc="records.employee.name"/>
|
||||
</a>
|
||||
<t t-else="">Employees</t>
|
||||
</li>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
<template id="portal_my_records" name="Employee varification">
|
||||
<t t-call="portal.portal_layout">
|
||||
|
||||
<!-- <h3>Verifications Required-->
|
||||
<!-- <t t-call="portal.portal_searchbar"/>-->
|
||||
<!-- </h3>-->
|
||||
<t t-if="not records">
|
||||
<p>There are currently no quotations for your account.</p>
|
||||
</t>
|
||||
<div t-if="records" class="panel panel-default">
|
||||
<div class="table-responsive border rounded border-top-0 #{classes if classes else ''}">
|
||||
<table class="table rounded mb-0 bg-white o_portal_my_doc_table">
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<th>Employee </th>
|
||||
<th>Order Date</th>
|
||||
<th>Address</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<t t-foreach="records" t-as="record">
|
||||
<tr>
|
||||
<td>
|
||||
<a t-attf-href="/my/details/#{record.id}?#{keep_query()}">
|
||||
<t t-esc="record.employee.name"/>
|
||||
</a>
|
||||
</td>
|
||||
<td><span t-field="record.assigned_date"/></td>
|
||||
<td><span t-field="record.address"/></td>
|
||||
</tr>
|
||||
</t>
|
||||
</table>
|
||||
</div>
|
||||
<div t-if="pager" class="o_portal_pager text-center">
|
||||
<t t-call="portal.pager"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="portal_record_page" name="My Employee Details">
|
||||
<t t-call="portal.portal_layout">
|
||||
<!-- <h3>Employee Details-->
|
||||
|
||||
<!-- </h3>-->
|
||||
<t t-if="not records">
|
||||
<p>There are currently no orders for your account.</p>
|
||||
</t>
|
||||
<div t-if="records" class="panel panel-default">
|
||||
<div class="table-responsive">
|
||||
<table class="table rounded mb-0 bg-white o_portal_my_doc_table">
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<th>Personal Details </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<t t-foreach="records" t-as="record">
|
||||
<tr>
|
||||
<td><h3>Name</h3></td>
|
||||
<td><h4><t t-esc="records.employee.name"/></h4></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Address</td>
|
||||
<td>
|
||||
<t t-if="records.address">
|
||||
<t t-esc="record.address.street"/><br/>
|
||||
<t t-esc="record.address.street2"/><br/>
|
||||
<t t-esc="record.address.city"/><br/>
|
||||
<t t-esc="record.address.state_id.name"/><br/>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Assigned Date</td>
|
||||
<td><t t-esc="records.assigned_date"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Expected completion Date</td>
|
||||
<td><t t-esc="records.expected_date"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Private details</td>
|
||||
<td>
|
||||
<a class="btn btn-info" target="_blank" t-attf-href="/web/content/#{record.resume_uploaded.id}?download=true">
|
||||
<i class="fa fa-download btn btn-primary"></i> <h4>Download</h4>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</table>
|
||||
</div>
|
||||
<div t-if="pager" class="o_portal_pager text-center">
|
||||
<t t-call="portal.pager"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form action="/test/path" method="post" class="s_website_form form-horizontal container-fluid mt32" enctype="multipart/form-data" id="file_upload_form">
|
||||
<div class="form-group form-field o_website_form_required_custom">
|
||||
<label class="col-md-3 col-sm-4 control-label" for="contact_name">Description</label>
|
||||
<div class="col-md-7 col-sm-8">
|
||||
<input type="text" class="form-control o_website_form_input" name="description" required=""/>
|
||||
</div>
|
||||
|
||||
<label class="col-md-3 col-sm-4 control-label" for="contact_name">Upload file if any</label>
|
||||
<div class="col-md-7 col-sm-8">
|
||||
<input type="hidden" name="csrf_token" t-att-value="request.csrf_token()"/>
|
||||
<input type="hidden" name="employee_token" t-att-value="records.id"/>
|
||||
<input type="file" name="attachment" class="file" multiple="true"
|
||||
data-show-upload="true"
|
||||
data-show-caption="true"
|
||||
data-show-preview="true"
|
||||
lass="file"
|
||||
id="records.id"/>
|
||||
<!-- <button type="submit" name="redirect" class="btn btn-link btn-sm btn-block cybro-super-btn" style="margin-top:20px;">Submit</button>-->
|
||||
|
||||
</div>
|
||||
<button type="submit" name="Upload" style="margin-top:20px;" class="fa fa-upload btn btn-secondary">
|
||||
Upload
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
|
||||
<template id="portal_record_completed" name="Employee varification completed">
|
||||
<t t-call="portal.portal_layout">
|
||||
<h3>Employee Details</h3>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover o_portal_my_doc_table">
|
||||
<thead>
|
||||
<tr class="active">
|
||||
<th>Your report successfully submitted</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
</odoo>
|
||||
15
employee_background/views/res_partner_agent_view.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="res_partner_agent_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.agent</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='function']" position="before">
|
||||
<field name="verification_agent" string="Is Agent"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
143
employee_background/views/view_verification.xml
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="employee_disciplinary_tree" model="ir.ui.view">
|
||||
<field name="name">employee.verification.tree</field>
|
||||
<field name="model">employee.verification</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Employee Verification">
|
||||
<field name ="verification_id"/>
|
||||
<field name ="employee"/>
|
||||
<field name ="agency"/>
|
||||
<field name="state" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="employee_disciplinary_form" model="ir.ui.view">
|
||||
<field name="name">employee.verification.form</field>
|
||||
<field name="model">employee.verification</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Employee Verification">
|
||||
<header>
|
||||
<field name="state" widget="statusbar"/>
|
||||
<button string="Assign to agency"
|
||||
groups="hr.group_hr_manager"
|
||||
type="object" name="assign_statusbar"
|
||||
class="oe_highlight"
|
||||
attrs="{'invisible': [('state', '!=', 'draft')]}"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="verification_id" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="2">
|
||||
<group>
|
||||
<field name ="employee"/>
|
||||
<field name ="address"/>
|
||||
<field name ="assigned_date"/>
|
||||
<field name ="expected_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name ="agency"/>
|
||||
<field name="assigned_by"/>
|
||||
<field name="resume_uploaded" widget="many2many_binary" class="oe_inline"/>
|
||||
<field name ="field_check" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook attrs="{'invisible': [('state', '!=', 'submit')]}" >
|
||||
<page name="agent" string="Information from Agency" >
|
||||
<group>
|
||||
<button string="Attachment"
|
||||
groups="hr.group_hr_manager"
|
||||
type="object"
|
||||
name="download_attachment"
|
||||
class="fa fa-download"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="description_by_agency"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="search_view_employee" model="ir.ui.view">
|
||||
<field name="name">employee.background.search</field>
|
||||
<field name="model">employee.verification</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Employee Verification">
|
||||
<field name="state" string="State"/>
|
||||
<filter domain="[('state','=','draft')]" string="Draft" name="draft"/>
|
||||
<filter domain="[('state','=','assign')]" string="Assigned" name="Assigned"/>
|
||||
<filter domain="[('state','=','submit')]" string="Completed" name="Completed"/>
|
||||
<separator/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter name="status" string="Status" domain="[]" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Sequence id for employee verification-->
|
||||
<record id="seq_ver_employee" model="ir.sequence">
|
||||
<field name="name">omega_sequencer</field>
|
||||
<field name="code">res.users</field>
|
||||
<field name="prefix">EV</field>
|
||||
<field name="padding">6</field>
|
||||
</record>
|
||||
|
||||
<!--Actions for menu items-->
|
||||
<record id="action_employee_verification" model="ir.actions.act_window">
|
||||
<field name="name">Employee Verification</field>
|
||||
<field name="res_model">employee.verification</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<!-- <field name="domain">[['state','=','draft']]</field>-->
|
||||
<field name="search_view_id" ref="search_view_employee"/>
|
||||
<!-- <field name="context">{"search_default_Current":1}</field>-->
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a new Employee verification.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="assigned_employee_verification" model="ir.actions.act_window">
|
||||
<field name="name">Assigned Verification</field>
|
||||
<field name="res_model">employee.verification</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[['state','=','assign']]</field>
|
||||
</record>
|
||||
|
||||
<record id="submitted_employee_verification" model="ir.actions.act_window">
|
||||
<field name="name">Submitted Verification</field>
|
||||
<field name="res_model">employee.verification</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[['state','=','submit']]</field>
|
||||
</record>
|
||||
|
||||
<record id="approved_employee_verification" model="ir.actions.act_window">
|
||||
<field name="name">Approved Verification</field>
|
||||
<field name="res_model">employee.verification</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[['state','=','approve']]</field>
|
||||
</record>
|
||||
|
||||
<record id="refused_employee_verification" model="ir.actions.act_window">
|
||||
<field name="name">Refused Verification</field>
|
||||
<field name="res_model">employee.verification</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[['state','=','refuse']]</field>
|
||||
</record>
|
||||
|
||||
<!--Different menu item for employee verification-->
|
||||
<menuitem id="employee_verification_menu" action="action_employee_verification" name="Verification" parent="hr.menu_hr_employee_payroll"
|
||||
/>
|
||||
</data>
|
||||
</odoo>
|
||||
42
history_employee/README.rst
Normal file
@@ -0,0 +1,42 @@
|
||||
Open HRMS Employee History v13
|
||||
==============================
|
||||
|
||||
History of the employees in our company.
|
||||
|
||||
Depends
|
||||
=======
|
||||
[hr] addon Odoo
|
||||
[hr_contract] addon Odoo
|
||||
[oh_employee_creation_from_user] addon OpenHRMS
|
||||
|
||||
Tech
|
||||
====
|
||||
* [Python] - Models
|
||||
* [XML] - Odoo views
|
||||
|
||||
Installation
|
||||
============
|
||||
- www.odoo.com/documentation/13.0/setup/install.html
|
||||
- Install our custom addon
|
||||
|
||||
|
||||
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: Binu M Baiju @ cybrosys, odoo@cybrosys.com
|
||||
v13.0 Kavya Raveendran, odoo@cybrosys.com
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
This module is maintained by Cybrosys Technologies.
|
||||
|
||||
For support and more information, please visit https://www.cybrosys.com.
|
||||
2
history_employee/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import models
|
||||
44
history_employee/__manifest__.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
###################################################################################
|
||||
# A part of Open HRMS Project <https://www.openhrms.com>
|
||||
#
|
||||
# Cybrosys Technologies Pvt. Ltd.
|
||||
# Copyright (C) 2018-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
|
||||
# Author: Binu M Baiju(<https://www.cybrosys.com>)
|
||||
#
|
||||
# This program is free software: you can modify
|
||||
# it under the terms of the GNU Affero General Public License (AGPL) as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
###################################################################################
|
||||
{
|
||||
'name': 'Open HRMS Employee History',
|
||||
'version': '13.0.1.1.0',
|
||||
'summary': """History Of Employees In Your Company""",
|
||||
'description': 'Track the History of Employees in your Company',
|
||||
'category': 'Generic Modules/Human Resources',
|
||||
'author': 'Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'website': "https://www.openhrms.com",
|
||||
'depends': ['hr', 'hr_contract', 'oh_employee_creation_from_user'],
|
||||
'data': ['views/employee_history.xml',
|
||||
'views/history_views.xml',
|
||||
'security/ir.model.access.csv'
|
||||
],
|
||||
'demo': [],
|
||||
'images': ['static/description/banner.png'],
|
||||
'license': 'AGPL-3',
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
}
|
||||
11
history_employee/docs/RELEASE_NOTES.md
Normal file
@@ -0,0 +1,11 @@
|
||||
## Module <history_employee>
|
||||
|
||||
#### 20.10.2019
|
||||
#### Version 13.0.1.0.0
|
||||
##### ADD
|
||||
- Initial Commit for Open Hrms Project
|
||||
|
||||
#### 30.10.2019
|
||||
#### Version 13.0.1.1.0
|
||||
##### FIX
|
||||
- Bug Fixed
|
||||
200
history_employee/i18n/ar_001.po
Normal file
@@ -0,0 +1,200 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * history_employee
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 13.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-02-12 06:52+0000\n"
|
||||
"PO-Revision-Date: 2020-02-12 06:52+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: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__changed_field
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__changed_field
|
||||
msgid "Changed Field"
|
||||
msgstr "حقل متغير"
|
||||
|
||||
#. module: history_employee
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.hr_employee_history_form_view
|
||||
#, python-format
|
||||
msgid "Contract History"
|
||||
msgstr "تاريخ العقد"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__create_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__create_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__create_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "انشأ من قبل"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__create_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__create_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__create_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__create_date
|
||||
msgid "Created on"
|
||||
msgstr "تم إنشاؤها على"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__current_value
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__current_value
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__current_value
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__current_value
|
||||
msgid "Current Value"
|
||||
msgstr "القيمة الحالية"
|
||||
|
||||
#. module: history_employee
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#, python-format
|
||||
msgid "Department History"
|
||||
msgstr "قسم التاريخ"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__display_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__display_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__display_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "اسم العرض"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_hr_employee
|
||||
msgid "Employee"
|
||||
msgstr "الموظف"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_hr_contract
|
||||
msgid "Employee Contract"
|
||||
msgstr "عقد الموظف"
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.hr_employee_history_form_view
|
||||
msgid "Employee History"
|
||||
msgstr "تاريخ الموظف"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__employee_id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__employee_id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__employee_id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__employee_id
|
||||
msgid "Employee Id"
|
||||
msgstr "هوية الموظف"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__employee_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__employee_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__employee_name
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__employee_name
|
||||
msgid "Employee Name"
|
||||
msgstr "اسم الموظف"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__id
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__id
|
||||
msgid "ID"
|
||||
msgstr "هوية شخصية"
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.hr_employee_history_form_view
|
||||
msgid "Job History"
|
||||
msgstr "تاريخ العمل"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history____last_update
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history____last_update
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history____last_update
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "آخر تعديل في"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__write_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__write_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__write_uid
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "آخر تحديث بواسطة"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__write_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__write_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__write_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "آخر تحديث في"
|
||||
|
||||
#. module: history_employee
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.hr_employee_history_form_view
|
||||
#, python-format
|
||||
msgid "Salary History"
|
||||
msgstr "تاريخ الراتب"
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.hr_employee_history_form_view
|
||||
msgid "Timesheet Cost"
|
||||
msgstr "الجدول الزمني التكلفة"
|
||||
|
||||
#. module: history_employee
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#: code:addons/history_employee/models/history.py:0
|
||||
#, python-format
|
||||
msgid "Timesheet Cost Details"
|
||||
msgstr "تفاصيل تكلفة الجدول الزمني"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model.fields,field_description:history_employee.field_contract_history__updated_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_department_history__updated_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_salary_history__updated_date
|
||||
#: model:ir.model.fields,field_description:history_employee.field_timesheet_cost__updated_date
|
||||
msgid "Updated On"
|
||||
msgstr "تحديث في"
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.employee_contract_history
|
||||
msgid "contract"
|
||||
msgstr "عقد"
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_contract_history
|
||||
msgid "contract.history"
|
||||
msgstr ""
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_department_history
|
||||
msgid "department.history"
|
||||
msgstr ""
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_salary_history
|
||||
msgid "salary.history"
|
||||
msgstr ""
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.employee_salary_history
|
||||
msgid "salary_history"
|
||||
msgstr ""
|
||||
|
||||
#. module: history_employee
|
||||
#: model:ir.model,name:history_employee.model_timesheet_cost
|
||||
msgid "timesheet.cost"
|
||||
msgstr ""
|
||||
|
||||
#. module: history_employee
|
||||
#: model_terms:ir.ui.view,arch_db:history_employee.employee_timesheet_history
|
||||
msgid "timesheet_cost"
|
||||
msgstr ""
|
||||
2
history_employee/models/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from . import history
|
||||
226
history_employee/models/history.py
Normal file
@@ -0,0 +1,226 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from datetime import datetime
|
||||
from odoo import models, api, fields, _
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class DepartmentDetails(models.Model):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
@api.onchange('department_id')
|
||||
def _onchange_department(self):
|
||||
employee_id = self.env['hr.employee'].search([('id', '=', self._origin.id)])
|
||||
vals = {
|
||||
'employee_id': self._origin.id,
|
||||
'employee_name': employee_id.name,
|
||||
'updated_date': datetime.now(),
|
||||
'changed_field': 'Department',
|
||||
'current_value': self.department_id.name
|
||||
|
||||
}
|
||||
self.env['department.history'].sudo().create(vals)
|
||||
|
||||
@api.onchange('job_id')
|
||||
def onchange_job_id(self):
|
||||
employee_id = self.env['hr.employee'].search([('id', '=', self._origin.id)])
|
||||
vals = {
|
||||
'employee_id': self._origin.id,
|
||||
'employee_name': employee_id.name,
|
||||
'updated_date': datetime.today(),
|
||||
'changed_field': 'Job Position',
|
||||
'current_value': self.job_id.name
|
||||
|
||||
}
|
||||
self.env['department.history'].sudo().create(vals)
|
||||
|
||||
@api.onchange('timesheet_cost')
|
||||
def _onchange_timesheet_cost(self):
|
||||
employee_id = self.env['hr.employee'].search([('id', '=', self._origin.id)])
|
||||
vals = {
|
||||
'employee_id': self._origin.id,
|
||||
'employee_name': employee_id.name,
|
||||
'updated_date': datetime.now(),
|
||||
'current_value': self.timesheet_cost
|
||||
}
|
||||
self.env['timesheet.cost'].sudo().create(vals)
|
||||
|
||||
|
||||
def department_details(self):
|
||||
res_user = self.env['res.users'].search([('id', '=', self._uid)])
|
||||
if res_user.has_group('hr.group_hr_manager'):
|
||||
return {
|
||||
'name': _("Department History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'department.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'domain': [('employee_id', '=', self.id)],
|
||||
}
|
||||
elif self.id == self.env.user.employee_id.id:
|
||||
return {
|
||||
'name': _("Department History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'department.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
}
|
||||
else:
|
||||
raise UserError('You cannot access this field!!!!')
|
||||
|
||||
|
||||
def time_sheet(self):
|
||||
res_user = self.env['res.users'].search([('id', '=', self._uid)])
|
||||
if res_user.has_group('hr.group_hr_manager'):
|
||||
return {
|
||||
'name': _("Timesheet Cost Details"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'timesheet.cost',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'domain': [('employee_id', '=', self.id)]
|
||||
}
|
||||
elif self.id == self.env.user.employee_id.id:
|
||||
return {
|
||||
'name': _("Timesheet Cost Details"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'timesheet.cost',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new'
|
||||
}
|
||||
else:
|
||||
raise UserError('You cannot access this field!!!!')
|
||||
|
||||
|
||||
def salary_history(self):
|
||||
res_user = self.env['res.users'].search([('id', '=', self._uid)])
|
||||
if res_user.has_group('hr.group_hr_manager'):
|
||||
return {
|
||||
'name': _("Salary History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'salary.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'domain': [('employee_id', '=', self.id)]
|
||||
}
|
||||
elif self.id == self.env.user.employee_id.id:
|
||||
return {
|
||||
'name': _("Salary History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'salary.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new'
|
||||
}
|
||||
else:
|
||||
raise UserError('You cannot access this field!!!!')
|
||||
|
||||
|
||||
def contract_history(self):
|
||||
res_user = self.env['res.users'].search([('id', '=', self._uid)])
|
||||
if res_user.has_group('hr.group_hr_manager'):
|
||||
return {
|
||||
'name': _("Contract History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'contract.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'domain': [('employee_id', '=', self.id)]
|
||||
}
|
||||
if self.id == self.env.user.employee_id.id:
|
||||
return {
|
||||
'name': _("Contract History"),
|
||||
'view_mode': 'tree',
|
||||
'res_model': 'contract.history',
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new'
|
||||
}
|
||||
else:
|
||||
raise UserError('You cannot access this field!!!!')
|
||||
|
||||
|
||||
class WageDetails(models.Model):
|
||||
_inherit = 'hr.contract'
|
||||
|
||||
@api.onchange('wage')
|
||||
def onchange_wage(self):
|
||||
vals = {
|
||||
'employee_id': self.employee_id.id,
|
||||
'employee_name': self.employee_id,
|
||||
'updated_date': datetime.today(),
|
||||
'current_value': self.wage,
|
||||
|
||||
}
|
||||
self.env['salary.history'].sudo().create(vals)
|
||||
|
||||
@api.onchange('name')
|
||||
def onchange_name(self):
|
||||
vals = {
|
||||
'employee_id': self.employee_id.id,
|
||||
'employee_name': self.employee_id,
|
||||
'updated_date': datetime.today(),
|
||||
'changed_field': 'Contract Reference',
|
||||
'current_value': self.name,
|
||||
|
||||
}
|
||||
self.env['contract.history'].create(vals)
|
||||
|
||||
@api.onchange('date_start')
|
||||
def onchange_datestart(self):
|
||||
vals = {
|
||||
'employee_id': self.employee_id.id,
|
||||
'employee_name': self.employee_id,
|
||||
'updated_date': datetime.today(),
|
||||
'changed_field': 'Start Date',
|
||||
'current_value': self.date_start,
|
||||
|
||||
}
|
||||
self.env['contract.history'].create(vals)
|
||||
|
||||
@api.onchange('date_end')
|
||||
def onchange_dateend(self):
|
||||
vals = {
|
||||
'employee_id': self.employee_id.id,
|
||||
'employee_name': self.employee_id,
|
||||
'updated_date': datetime.today(),
|
||||
'changed_field': 'End Date',
|
||||
'current_value': self.date_end,
|
||||
|
||||
}
|
||||
self.env['contract.history'].create(vals)
|
||||
|
||||
|
||||
class DepartmentHistory(models.Model):
|
||||
_name = 'department.history'
|
||||
|
||||
employee_id = fields.Char(string='Employee Id', help="Employee")
|
||||
employee_name = fields.Char(string='Employee Name', help="Name")
|
||||
changed_field = fields.Char(string='Job position', help="Displays the changed department/job position")
|
||||
updated_date = fields.Date(string='Date', help="Display the date on which department or job position changed")
|
||||
current_value = fields.Char(string='Designation', help="Display the designation")
|
||||
|
||||
|
||||
class TimesheetCost(models.Model):
|
||||
_name = 'timesheet.cost'
|
||||
|
||||
employee_id = fields.Char(string='Employee Id', help="Employee")
|
||||
employee_name = fields.Char(string='Employee Name', help="Name")
|
||||
updated_date = fields.Date(string='Updated On', help="Updated Date of Time Sheet")
|
||||
current_value = fields.Char(string='Current Cost', help="Updated Value of Time Sheet")
|
||||
|
||||
|
||||
class SalaryHistory(models.Model):
|
||||
_name = 'salary.history'
|
||||
|
||||
employee_id = fields.Char(string='Employee Id', help="Employee")
|
||||
employee_name = fields.Char(string='Employee Name', help="Name")
|
||||
updated_date = fields.Date(string='Updated On', help="Salary Updated Date")
|
||||
current_value = fields.Char(string='Current Salary', help="Updated Salary")
|
||||
|
||||
|
||||
class ContractHistory(models.Model):
|
||||
_name = 'contract.history'
|
||||
|
||||
employee_id = fields.Char(string='Employee Id', help="Employee")
|
||||
employee_name = fields.Char(string='Employee Name', help="Name")
|
||||
updated_date = fields.Date(string='Updated On', help="Contract Updated Date")
|
||||
changed_field = fields.Char(string='Changed Field', help="Updated Field's")
|
||||
current_value = fields.Char(string='Current Contract', help="Updated Value of Contract")
|
||||
8
history_employee/security/ir.model.access.csv
Normal file
@@ -0,0 +1,8 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
view_department_history_base_user,view.department_history.user,model_department_history,base.group_user,1,0,0,0
|
||||
view_salary_history_base_user,view.salary_history.user,model_salary_history,base.group_user,1,0,0,0
|
||||
view_timesheet_cost_base_user,view.timesheet_cost.user,model_timesheet_cost,base.group_user,1,0,0,0
|
||||
view_contract_history_base_user,view.contract_history.user,model_contract_history,base.group_user,1,0,0,0
|
||||
view_department_history_manager,view.department_history.manager,model_department_history,hr.group_hr_manager,1,1,1,1
|
||||
view_salary_history_manager,view.salary_history.manager,model_salary_history,hr.group_hr_manager,1,1,1,1
|
||||
view_contract_history_manager,view.contract_history.manager,model_contract_history,hr.group_hr_manager,1,1,1,1
|
||||
|
22
history_employee/security/secure.xml
Normal file
@@ -0,0 +1,22 @@
|
||||
<odoo>
|
||||
<data>
|
||||
<!-- <record id="normal_user_rule_history1" model="ir.rule">-->
|
||||
<!-- <field name="name">Normal User can see its own records</field>-->
|
||||
<!-- <field name="model_id" ref="history_employee.model_department_history"/>-->
|
||||
<!-- <field name="domain_force">[('emp_id','=',user.employee_id.id)]</field>-->
|
||||
<!-- <field name="groups" eval="[(4, ref('base.group_user'))]"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="normal_user_contract_history" model="ir.rule">-->
|
||||
<!-- <field name="name">Normal User can see its own records</field>-->
|
||||
<!-- <field name="model_id" ref="history_employee.model_contract_history"/>-->
|
||||
<!-- <field name="domain_force">[('emp_id','=',user.employee_id.id)]</field>-->
|
||||
<!-- <field name="groups" eval="[(4, ref('base.group_user'))]"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="normal_user_wage_history" model="ir.rule">-->
|
||||
<!-- <field name="name">Normal User can see its own records</field>-->
|
||||
<!-- <field name="model_id" ref="history_employee.model_salary_history"/>-->
|
||||
<!-- <field name="domain_force">[('emp_id','=',user.employee_id.id)]</field>-->
|
||||
<!-- <field name="groups" eval="[(4, ref('base.group_user'))]"/>-->
|
||||
<!-- </record>-->
|
||||
</data>
|
||||
</odoo>
|
||||
BIN
history_employee/static/description/banner.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
history_employee/static/description/icon.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
history_employee/static/description/images/1emp history.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
history_employee/static/description/images/2emp history.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
history_employee/static/description/images/3emp history.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
BIN
history_employee/static/description/images/appraisal_image.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
history_employee/static/description/images/bio_image.png
Normal file
|
After Width: | Height: | Size: 159 KiB |
BIN
history_employee/static/description/images/checked.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
history_employee/static/description/images/checked.psd
Normal file
BIN
history_employee/static/description/images/core_image.gif
Normal file
|
After Width: | Height: | Size: 612 KiB |
BIN
history_employee/static/description/images/dash_image.gif
Normal file
|
After Width: | Height: | Size: 408 KiB |
BIN
history_employee/static/description/images/history.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
history_employee/static/description/images/openhrms.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
history_employee/static/description/images/salary_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
history_employee/static/description/images/shift_image.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
573
history_employee/static/description/index.html
Normal file
@@ -0,0 +1,573 @@
|
||||
<div class="row"
|
||||
style="margin: 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4;text-align: center; margin: auto; display: flex;justify-content: center;">
|
||||
<a href="https://www.openhrms.com/" target="_blank"><img src="images/openhrms.png"
|
||||
style=" width: 293px; padding: 1rem 0rem; margin: auto"
|
||||
alt="cybrosys-logo"></a>
|
||||
</div>
|
||||
<div class="row"
|
||||
style="margin:75px 0;position: relative;color: #000;background-position: center;background: #ffffff;border-bottom: 1px solid #e4e4e4; padding-bottom: 30px;">
|
||||
<div class="col-md-7 col-sm-12 col-xs-12" style="padding: 0px">
|
||||
<div style=" margin: 0 0 0px;padding: 20px 0 10;font-size: 23px;line-height: 35px;font-weight: 400;color: #000;border-top: 1px solid rgba(255,255,255,0.1);border-bottom: 1px solid rgba(255,255,255,0.11);text-align: left;">
|
||||
<h1 style="font-size: 39px;font-weight: 600;margin: 0px !important;">Open HRMS Employee History </h1>
|
||||
<h3 style="font-size: 21px;margin-top: 8px;position: relative;"> Open HRMS Employee History </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">
|
||||
Get The History Of Department And Job Position Held By The Employee.
|
||||
</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">
|
||||
Changes In Salary Of The Employee Can Be Traced.
|
||||
</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">
|
||||
Important Changes Done In The Contract Is Tracked.
|
||||
</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">
|
||||
Get Any Update In The Timesheet Cost For An Employee As History.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-5 col-sm-12 col-xs-12"><img src="images/history.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;">
|
||||
The module helps in getting all pertinent information about the employee in conducting the employee history verification in an organization.
|
||||
</h3>
|
||||
</div>
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-home1" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- configuration-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;">Configuration</h2>
|
||||
<hr style="margin-top: 0px;margin-bottom: 2%;border: 0;text-align: center;border-top: 3px solid #d21c22;width: 5%;">
|
||||
<h3 class="oe_slogan"
|
||||
style="text-align: center;font-size: 19px;width: 100%;margin: 0;margin-top: 14px;color: #000 !important;opacity: 1 !important;line-height: 31px;font-weight: 400;letter-spacing: .5px;margin-bottom: 21px;">
|
||||
No additional configuration is required.
|
||||
</h3>
|
||||
</div>
|
||||
<div class="px-3 pt-1 tab-pane fade " id="pills-features" role="tabpanel" aria-labelledby="
|
||||
pills-home-tab">
|
||||
<!-- feature tab-->
|
||||
<h2 style="font-weight: 600;text-align: center;width: 100%;"> Open HRMS Employee History </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">
|
||||
Get The History Of Department And Job Position Held By The Employee.
|
||||
</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">
|
||||
Changes In Salary Of The Employee Can Be Traced.
|
||||
</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">
|
||||
Important Changes Done In The Contract Is Tracked.
|
||||
</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">
|
||||
Get Any Update In The Timesheet Cost For An Employee As History.
|
||||
</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">
|
||||
Provides a new page in the employee form "Employee History".
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/1emp history.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">
|
||||
The module helps in getting all pertinent information about the employee in one single click.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/2emp history.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">
|
||||
It shows the history of department and job position along with the updated date.
|
||||
</h3>
|
||||
<div style=""><img class="img img-responsive center-block"
|
||||
style="border-top-left-radius: 10px;border-top-right-radius: 10px;"
|
||||
src="images/3emp history.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>
|
||||
25
history_employee/views/employee_history.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record model="ir.ui.view" id="hr_employee_history_form_view">
|
||||
<field name="name">hr.employeehistory.view</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='hr_settings']" position="after">
|
||||
<page name="history" string="Employee History">
|
||||
<group>
|
||||
<button type="object" name="department_details" class="oe_highlight">Job History</button>
|
||||
<button type="object" name="salary_history" class="oe_highlight">Salary History </button>
|
||||
</group>
|
||||
<group>
|
||||
<button type="object" name="contract_history" class="oe_highlight">Contract History</button>
|
||||
<button type="object" name="time_sheet" class="oe_highlight">Timesheet Cost</button>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
63
history_employee/views/history_views.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="employee_department_history">
|
||||
<field name="name">departmenthistory.tree</field>
|
||||
<field name="model">department.history</field>
|
||||
<!-- <field name="view_mode">tree</field>-->
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="employee_id" invisible="True" />
|
||||
<field name ="employee_name" invisible="True"/>
|
||||
<field name="changed_field"/>
|
||||
<field name="updated_date"/>
|
||||
<field name="current_value"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="employee_timesheet_history">
|
||||
<field name="name">timesheetcost.tree</field>
|
||||
<field name="model">timesheet.cost</field>
|
||||
<!-- <field name="view_mode">tree</field>-->
|
||||
<field name="arch" type="xml">
|
||||
<tree string="timesheet_cost">
|
||||
<field name="employee_id" invisible="True" />
|
||||
<field name ="employee_name" invisible="True"/>
|
||||
<field name="updated_date"/>
|
||||
<field name="current_value"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="employee_salary_history">
|
||||
<field name="name">salaryhistory.tree</field>
|
||||
<field name="model">salary.history</field>
|
||||
<!-- <field name="view_mode">tree</field>-->
|
||||
<field name="arch" type="xml">
|
||||
<tree string="salary_history">
|
||||
<field name="employee_id" invisible="True"/>
|
||||
<field name ="employee_name" invisible="True"/>
|
||||
<field name="updated_date"/>
|
||||
<field name="current_value"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="employee_contract_history">
|
||||
<field name="name">contracthistory.tree</field>
|
||||
<field name="model">contract.history</field>
|
||||
<!-- <field name="view_mode">tree</field>-->
|
||||
<field name="arch" type="xml">
|
||||
<tree string="contract">
|
||||
<field name="employee_id" invisible="True"/>
|
||||
<field name ="employee_name" invisible="True"/>
|
||||
<field name="updated_date"/>
|
||||
<field name="changed_field"/>
|
||||
<field name="current_value"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
3
hr_contract_types/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
26
hr_contract_types/__manifest__.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
{
|
||||
'name': 'Odoo13 Employee Contracts Types',
|
||||
'version': '13.0.1.1.0',
|
||||
'category': 'Generic Modules/Human Resources',
|
||||
'summary': """
|
||||
Contract type in contracts
|
||||
""",
|
||||
'description': """Odoo13 Employee Contracts Types,Odoo13 Employee, Employee Contracts, Odoo 13""",
|
||||
'author': 'Odoo SA,Cybrosys Techno Solutions',
|
||||
'company': 'Cybrosys Techno Solutions',
|
||||
'maintainer': 'Cybrosys Techno Solutions',
|
||||
'website': 'https://www.cybrosys.com',
|
||||
'depends': ['hr','hr_contract'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'views/contract_view.xml',
|
||||
'data/hr_contract_type_data.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'images': ['static/description/banner.png'],
|
||||
'auto_install': False,
|
||||
'application': False,
|
||||
'license': 'AGPL-3',
|
||||
}
|
||||