diff --git a/employee_orientation/README.rst b/employee_orientation/README.rst new file mode 100644 index 000000000..5e50bd9bf --- /dev/null +++ b/employee_orientation/README.rst @@ -0,0 +1,23 @@ +Employee Orientation v9 +======================= + +This module developed to manage employee orientation/training programs. + +Installation +============ +Just select it from modules list to install, there is no need to extra installations. + +Usage +===== +#.In Employee orientation form, when a Orientation Checklist selects the corresponding departments checklist lines fill automatically. +#.The system automatically create employee orientation request when employee orientation is confirmed. +#.Now when responsible person login in system, he/she will find job allocated as Orientation Checklists Requests and finish it. + +Credits +======= +Developer: Anusha @ cybrosys +Guidance: Nilmar Shereef @ cybrosys, shereef@cybrosys.in + + + + diff --git a/employee_orientation/__init__.py b/employee_orientation/__init__.py new file mode 100644 index 000000000..6ff374a2e --- /dev/null +++ b/employee_orientation/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from . import models diff --git a/employee_orientation/__openerp__.py b/employee_orientation/__openerp__.py new file mode 100644 index 000000000..0b31a3ad0 --- /dev/null +++ b/employee_orientation/__openerp__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +{ + 'name': "Employee Orientation & Training", + 'version': '9.0.1.0.0', + 'category': 'Human Resources', + 'summary': """Employee Orientation/Training Program""", + 'description': """Complete Employee Orientation/Training Program""", + 'author': "Cybrosys Techno Solutions", + 'company': "Cybrosys Techno Solutions", + 'website': "http://www.cybrosys.com", + 'depends': ['base', 'hr', 'mail', ], + 'data': [ + 'views/orientation_checklist_line.xml', + 'views/orientation_checklist.xml', + 'views/employee_orientation.xml', + 'views/orientation_checklists_request.xml', + 'views/orientation_checklist_sequence.xml', + 'views/orientation_request_mail_template.xml', + 'views/employee_training.xml', + 'security/ir.model.access.csv', + ], + 'images': ['static/description/banner.jpg'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': True, +} diff --git a/employee_orientation/models/__init__.py b/employee_orientation/models/__init__.py new file mode 100644 index 000000000..0cf2fe9d4 --- /dev/null +++ b/employee_orientation/models/__init__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from . import orientation_checklist_line +from . import orientation_checklist +from . import employee_orientation +from . import orientation_checklist_request +from . import employee_training diff --git a/employee_orientation/models/employee_orientation.py b/employee_orientation/models/employee_orientation.py new file mode 100644 index 000000000..fa9a9186d --- /dev/null +++ b/employee_orientation/models/employee_orientation.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import api, fields, models, _ + + +class Orientation(models.Model): + _name = 'employee.orientation' + _description = "Employee Orientation" + _inherit = ['mail.thread', 'ir.needaction_mixin'] + + name = fields.Char(string='Employee Orientation', readonly=True, default=lambda self: _('New')) + employee_name = fields.Many2one('hr.employee', string='Employee', size=32, required=True) + department = fields.Many2one('hr.department', string='Department', required=True) + date = fields.Date(string="Date", default=fields.Datetime.now) + responsible_user = fields.Many2one('res.users', string='Responsible User') + employee_company = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.user.company_id) + parent_id = fields.Many2one('hr.employee', string='Manager') + job_id = fields.Many2one('hr.job', string='Job Title') + orientation_id = fields.Many2one('orientation.checklist', string='Orientation Checklist', required=True) + note_id = fields.Text('Description') + orientation_line_id = fields.Many2many('orientation.check', string='Orientation Line') + + state = fields.Selection([ + ('draft', 'Draft'), + ('confirm', 'Confirmed'), + ('complete', 'Completed'), + ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='draft') + + @api.multi + def confirm_orientation(self): + self.write({'state': 'confirm'}) + data = self.env['orientation.check'].search([('relative_field.employee_name.name', '=', self.employee_name.name)]) + for values in self.orientation_line_id: + self.env['orientation.request'].create({ + 'request_name': values.checklist_line_name.line_name, + 'request_orientation': self.id, + 'partner_id': values.checklist_line_user.id, + 'request_date': self.date, + 'request_expected_date': values.expected_date, + 'employee_id': self.employee_name.id, + + }) + + @api.multi + def complete_orientation(self): + self.write({'state': 'complete'}) + + @api.model + def create(self, vals): + if vals.get('name', 'New') == 'New': + vals['name'] = self.env['ir.sequence'].next_by_code('employee.orientation') or 'New' + result = super(Orientation, self).create(vals) + return result + + @api.onchange('orientation_id') + def orientation_details(self): + data = self.env['orientation.check'].search([('checklist.checklist_name', '=', self.orientation_id.checklist_name), + ('checklist.checklist_department.name', '=', self.department.name)]) + self.orientation_line_id = [(6, 0, [x.id for x in data])] + + @api.onchange('employee_name') + def get_value(self): + self.department = self.employee_name.department_id + self.parent_id = self.employee_name.parent_id + self.job_id = self.employee_name.job_id + + + + diff --git a/employee_orientation/models/employee_training.py b/employee_orientation/models/employee_training.py new file mode 100644 index 000000000..a2f2a2d70 --- /dev/null +++ b/employee_orientation/models/employee_training.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import api, fields, models, _ + + +class Orientation(models.Model): + _name = 'employee.training' + _rec_name = 'program_name' + _description = "Employee Training" + _inherit = ['mail.thread', 'ir.needaction_mixin'] + + program_name = fields.Char(string='Training Program', required=True) + program_department = fields.Many2one('hr.department', string='Department', required=True) + program_convener = fields.Many2one('res.users', string='Responsible User', size=32, required=True) + training_id = fields.One2many('hr.employee', string='Employee Details', compute="employee_details") + note_id = fields.Text('Description') + company_id = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.user.company_id) + user_id = fields.Many2one('res.users', string='users', default=lambda self: self.env.user) + state = fields.Selection([ + ('new', 'New'), + ('confirm', 'Confirmed'), + ('complete', 'Completed'), + ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='new') + + @api.onchange('program_department') + def employee_details(self): + data = self.env['hr.employee'].search( + [('department_id', '=', self.program_department.id)]) + self.training_id = data + + @api.multi + def complete_event(self): + user_obj = self.env.user + if user_obj == self.program_convener.user_id: + self.write({'state': 'complete'}) + + @api.multi + def confirm_event(self): + self.write({'state': 'confirm'}) + + @api.multi + def confirm_send_mail(self): + self.ensure_one() + ir_model_data = self.env['ir.model.data'] + try: + template_id = ir_model_data.get_object_reference('employee_orientation', 'orientation_training_mailer')[1] + except ValueError: + template_id = False + try: + compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1] + except ValueError: + compose_form_id = False + ctx = dict(self.env.context or {}) + ctx.update({ + 'default_model': 'employee.training', + 'default_res_id': self.ids[0], + 'default_use_template': bool(template_id), + 'default_template_id': template_id, + 'default_composition_mode': 'comment', + }) + + return { + 'name': _('Compose Email'), + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + + diff --git a/employee_orientation/models/orientation_checklist.py b/employee_orientation/models/orientation_checklist.py new file mode 100644 index 000000000..2c923cad8 --- /dev/null +++ b/employee_orientation/models/orientation_checklist.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import models, fields, _ + + +class OrientationChecklist(models.Model): + _name = 'orientation.checklist' + _description = "Checklist" + _rec_name = 'checklist_name' + _inherit = ['mail.thread', 'ir.needaction_mixin'] + + checklist_name = fields.Char(string='Name', required=True) + checklist_department = fields.Many2one('hr.department', string='Department', required=True) + active = fields.Boolean(string='Active', default=True, + help="Set active to false to hide the Orientation Checklist without removing it.") + checklist_line_id = fields.One2many('orientation.check', 'checklist', String="Checklist") + + +class OrientationChecklistNew(models.Model): + _name = 'orientation.check' + + checklist_line_name = fields.Many2one('checklist.line', string='Name') + checklist_line_user = fields.Many2one('res.users', string='Responsible User', + related='checklist_line_name.responsible_user') + expected_date = fields.Date(string="Expected Date", default=fields.Datetime.now) + status = fields.Char(string='Status', readonly=True, default=lambda self: _('New')) + checklist = fields.Many2one('orientation.checklist', string="Checklist", ondelete='cascade') + relative_field = fields.Many2one('employee.orientation') + + + + diff --git a/employee_orientation/models/orientation_checklist_line.py b/employee_orientation/models/orientation_checklist_line.py new file mode 100644 index 000000000..395ac8ab1 --- /dev/null +++ b/employee_orientation/models/orientation_checklist_line.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import models, fields + + +class ChecklistLine(models.Model): + _name = 'checklist.line' + _rec_name = 'line_name' + + line_name = fields.Char(string='Name', required=True) + responsible_user = fields.Many2one('res.users', string='Responsible User', required=True) + + + diff --git a/employee_orientation/models/orientation_checklist_request.py b/employee_orientation/models/orientation_checklist_request.py new file mode 100644 index 000000000..705ac46c7 --- /dev/null +++ b/employee_orientation/models/orientation_checklist_request.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2017-TODAY Cybrosys Technologies(). +# Author: Nilmar Shereef() +# you can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# It is forbidden to publish, distribute, sublicense, or sell copies +# of the Software or modified copies of the Software. +# +# 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# GENERAL PUBLIC LICENSE (LGPL v3) along with this program. +# If not, see . +# +############################################################################## +from openerp import models, fields, api, _ +from openerp.tools.translate import _ + + +class OrientationChecklistRequest(models.Model): + _name = 'orientation.request' + _description = "Employee Orientation Request" + _rec_name = 'request_name' + _inherit = ['mail.thread', 'ir.needaction_mixin'] + + request_name = fields.Char(string='Name') + request_orientation = fields.Many2one('employee.orientation', string='Employee Orientation') + employee_company = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.user.company_id) + user_id = fields.Many2one('res.users', string='Users', default=lambda self: self.env.user) + partner_id = fields.Many2one('res.users', string='Responsible User') + request_date = fields.Date(string="Date") + employee_id = fields.Many2one('hr.employee', string='Employee') + request_expected_date = fields.Date(string="Expected Date") + attachment_id_1 = fields.Many2many('ir.attachment', 'orientation_rel_1', string="Attachment") + note_id = fields.Text('Description') + company_id = fields.Many2one('res.company', string='Company', required=True, + default=lambda self: self.env.user.company_id) + + state = fields.Selection([ + ('new', 'New'), + ('complete', 'Completed'), + ], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', default='new') + + @api.multi + def confirm_send_mail(self): + self.ensure_one() + ir_model_data = self.env['ir.model.data'] + try: + template_id = ir_model_data.get_object_reference('employee_orientation', 'orientation_request_mailer')[1] + except ValueError: + template_id = False + try: + compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1] + except ValueError: + compose_form_id = False + ctx = dict(self.env.context or {}) + ctx.update({ + 'default_model': 'orientation.request', + 'default_res_id': self.ids[0], + 'default_use_template': bool(template_id), + 'default_template_id': template_id, + 'default_composition_mode': 'comment', + }) + + return { + 'name': _('Compose Email'), + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'mail.compose.message', + 'views': [(compose_form_id, 'form')], + 'view_id': compose_form_id, + 'target': 'new', + 'context': ctx, + } + + @api.multi + def confirm_request(self): + user_obj = self.env.user + if user_obj == self.partner_id.user_id: + self.write({'state': "complete"}) + data = self.env['orientation.check'].search([('checklist_line_name.line_name', '=', self.request_name), + ('checklist_line_user.name', '=', self.partner_id.name)]) + data.status = self.state + diff --git a/employee_orientation/security/ir.model.access.csv b/employee_orientation/security/ir.model.access.csv new file mode 100644 index 000000000..05a5aca7f --- /dev/null +++ b/employee_orientation/security/ir.model.access.csv @@ -0,0 +1,15 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_orientation_request,orientation.request,model_orientation_request,base.group_user,1,1,1,1 +access_orientation.check,orientation.check,model_orientation_check,base.group_user,1,1,1,1 +access_checklist_line,checklist.line,model_checklist_line,base.group_user,1,0,0,0 +access_employee_orientation,employee.orientation,model_employee_orientation,base.group_user,0,1,1,1 +access_employee_training,employee.training,model_employee_training,base.group_user,1,1,1,1 + + + + + + + + + diff --git a/employee_orientation/static/description/banner.jpg b/employee_orientation/static/description/banner.jpg new file mode 100644 index 000000000..3b346baac Binary files /dev/null and b/employee_orientation/static/description/banner.jpg differ diff --git a/employee_orientation/static/description/checklist_form.png b/employee_orientation/static/description/checklist_form.png new file mode 100644 index 000000000..e2ab5c11d Binary files /dev/null and b/employee_orientation/static/description/checklist_form.png differ diff --git a/employee_orientation/static/description/checklist_tree.png b/employee_orientation/static/description/checklist_tree.png new file mode 100644 index 000000000..ccfd3393e Binary files /dev/null and b/employee_orientation/static/description/checklist_tree.png differ diff --git a/employee_orientation/static/description/cybro_logo.png b/employee_orientation/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/employee_orientation/static/description/cybro_logo.png differ diff --git a/employee_orientation/static/description/employee_form.png b/employee_orientation/static/description/employee_form.png new file mode 100644 index 000000000..993c7cffb Binary files /dev/null and b/employee_orientation/static/description/employee_form.png differ diff --git a/employee_orientation/static/description/employee_tree.png b/employee_orientation/static/description/employee_tree.png new file mode 100644 index 000000000..e0accb51b Binary files /dev/null and b/employee_orientation/static/description/employee_tree.png differ diff --git a/employee_orientation/static/description/icon.png b/employee_orientation/static/description/icon.png new file mode 100644 index 000000000..ce3b03d64 Binary files /dev/null and b/employee_orientation/static/description/icon.png differ diff --git a/employee_orientation/static/description/index.html b/employee_orientation/static/description/index.html new file mode 100644 index 000000000..f3be725d4 --- /dev/null +++ b/employee_orientation/static/description/index.html @@ -0,0 +1,129 @@ +
+
+

Employee Orientation/Training Program

+
+
+

Employee orientation/training is the process by which an employee acquires the necessary skills, knowledge, + behaviors, and contacts to effectively transition into a new organization.

+
+

Benefits of Employee Orientation

+
+
    +
  •   It can enhance the overall satisfaction of employees and can encourage a positive attitude about the employer.
  • +
  •   Employees view companies that offer meaningful benefits as more caring and engaged with their needs. + This may help reduce turnover and increase productivity
  • +
+
+

Major Features

+
    +
  •    Makes the Employee Orientation Program easier.
  • +
  •    Systematical Workflow.
  • +
  •    Allows to Create Employee Training Programs.
  • +
  •    Email Notification for each Responsible person.
  • +
+
+
+
+
+

Employee Orientation

+

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

Orientation Request

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

Employee Training

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

Orientation Checklist

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

Orientation Checklist Line

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

Need Any Help?

+ +
+ + diff --git a/employee_orientation/static/description/line_form.png b/employee_orientation/static/description/line_form.png new file mode 100644 index 000000000..36fd0b4d1 Binary files /dev/null and b/employee_orientation/static/description/line_form.png differ diff --git a/employee_orientation/static/description/line_tree.png b/employee_orientation/static/description/line_tree.png new file mode 100644 index 000000000..dbe342a9d Binary files /dev/null and b/employee_orientation/static/description/line_tree.png differ diff --git a/employee_orientation/static/description/request_form.png b/employee_orientation/static/description/request_form.png new file mode 100644 index 000000000..a433cf448 Binary files /dev/null and b/employee_orientation/static/description/request_form.png differ diff --git a/employee_orientation/static/description/request_mail.png b/employee_orientation/static/description/request_mail.png new file mode 100644 index 000000000..65ae05a35 Binary files /dev/null and b/employee_orientation/static/description/request_mail.png differ diff --git a/employee_orientation/static/description/request_tree.png b/employee_orientation/static/description/request_tree.png new file mode 100644 index 000000000..57598a59f Binary files /dev/null and b/employee_orientation/static/description/request_tree.png differ diff --git a/employee_orientation/static/description/training_form.png b/employee_orientation/static/description/training_form.png new file mode 100644 index 000000000..805cf2070 Binary files /dev/null and b/employee_orientation/static/description/training_form.png differ diff --git a/employee_orientation/static/description/training_mail.png b/employee_orientation/static/description/training_mail.png new file mode 100644 index 000000000..839369aaf Binary files /dev/null and b/employee_orientation/static/description/training_mail.png differ diff --git a/employee_orientation/static/description/training_tree.png b/employee_orientation/static/description/training_tree.png new file mode 100644 index 000000000..dc6a608b1 Binary files /dev/null and b/employee_orientation/static/description/training_tree.png differ diff --git a/employee_orientation/views/employee_orientation.xml b/employee_orientation/views/employee_orientation.xml new file mode 100644 index 000000000..21deea712 --- /dev/null +++ b/employee_orientation/views/employee_orientation.xml @@ -0,0 +1,98 @@ + + + + + employee.orientation.tree + employee.orientation + + + + + + + + + employee.orientation.form + employee.orientation + +
+
+
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ + employee.orientation.search + employee.orientation + + + + + + + + + + + + + Employee Orientation + ir.actions.act_window + employee.orientation + form + tree,form + + [] + {} + +

+ Create Employee Orientation. +

+
+
+ +
+
diff --git a/employee_orientation/views/employee_training.xml b/employee_orientation/views/employee_training.xml new file mode 100644 index 000000000..7fb975725 --- /dev/null +++ b/employee_orientation/views/employee_training.xml @@ -0,0 +1,82 @@ + + + + + employee.training.tree + employee.training + + + + + + + + + + + employee.training.form + employee.training + +
+
+
+ + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ + employee.training.search + employee.training + + + + + + + + + + + + Employee Training Program + ir.actions.act_window + employee.training + form + tree,form + + [] + {} + +

+ Create Employee Training Program. +

+
+
+ +
+
diff --git a/employee_orientation/views/orientation_checklist.xml b/employee_orientation/views/orientation_checklist.xml new file mode 100644 index 000000000..0720106e0 --- /dev/null +++ b/employee_orientation/views/orientation_checklist.xml @@ -0,0 +1,110 @@ + + + + + orientation.checklist.tree + orientation.checklist + + + + + + + + + + orientation.checklist.form + orientation.checklist + + +
+ + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ + orientation.checklist.search + orientation.checklist + + + + + + + + + + + + + + Orientation Checklist + ir.actions.act_window + orientation.checklist + form + tree,form + + [] + {'search_default_active': True} + +

+ Create Orientation Checklists. +

+
+
+ + + + orientation.check.tree + orientation.check + + + + + + + + + + + + orientation.check.form + orientation.check + + +
+ + + + + + + + +
+
+
+
+
diff --git a/employee_orientation/views/orientation_checklist_line.xml b/employee_orientation/views/orientation_checklist_line.xml new file mode 100644 index 000000000..6addddf2e --- /dev/null +++ b/employee_orientation/views/orientation_checklist_line.xml @@ -0,0 +1,72 @@ + + + + + checklist.line.tree + checklist.line + + + + + + + + + + checklist.line.form + checklist.line + + +
+ + + + + + + + + + +
+
+
+ + checklist.line.search + checklist.line + + + + + + + + + + + + + + Orientation Checklist Line + ir.actions.act_window + checklist.line + form + tree,form + + [] + {} + +

+ Create Orientation Checklists Lines. +

+
+
+ + + + + + +
+
diff --git a/employee_orientation/views/orientation_checklist_sequence.xml b/employee_orientation/views/orientation_checklist_sequence.xml new file mode 100644 index 000000000..ef6f4c97d --- /dev/null +++ b/employee_orientation/views/orientation_checklist_sequence.xml @@ -0,0 +1,15 @@ + + + + + + + Employee Orientation + employee.orientation + OR + 3 + + + + + \ No newline at end of file diff --git a/employee_orientation/views/orientation_checklists_request.xml b/employee_orientation/views/orientation_checklists_request.xml new file mode 100644 index 000000000..1358bf750 --- /dev/null +++ b/employee_orientation/views/orientation_checklists_request.xml @@ -0,0 +1,86 @@ + + + + + orientation.request.tree + orientation.request + + + + + + + + + + + orientation.request.form + orientation.request + +
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+ + orientation.request.search + orientation.request + + + + + + + + + + + + Orientation Request + ir.actions.act_window + orientation.request + form + tree,form + + [] + {} + +

+ Create Orientation Requests. +

+
+
+ +
+
diff --git a/employee_orientation/views/orientation_request_mail_template.xml b/employee_orientation/views/orientation_request_mail_template.xml new file mode 100644 index 000000000..dc5fcd2eb --- /dev/null +++ b/employee_orientation/views/orientation_request_mail_template.xml @@ -0,0 +1,86 @@ + + + + + Employee Orientation Request + ${(object.user_id.email)} + ${object.partner_id.email} + + Employee Orientation Request + + + +

Hello, ${object.partner_id.name}

+

Your are request to prepare below checklist.

+

Check_Line: ${object.request_name}

+

Employee: ${object.employee_id.name}

+

Expected Date: ${object.request_expected_date}

+
+

Thank you!

+
+
+

+ ${object.company_id.name}

+
+
+ + ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe} + + % if object.company_id.phone: +
+ Phone:  ${object.company_id.phone} +
+ % endif + % if object.company_id.website: + + %endif +

+
+ + ]]> +
+
+ + Employee Training program + ${(object.user_id.email)} + ${object.program_convener.work_email} + + Employee Training Request + + + +

Hello, ${object.program_convener.name}

+

Your are request to conduct ${object.program_name} Training program for ${object.program_department.name} department

+
+

Thank you!

+
+
+

+ ${object.company_id.name}

+
+
+ + ${object.company_id.partner_id.sudo().with_context(show_address=True, html_format=True).name_get()[0][1] | safe} + + % if object.company_id.phone: +
+ Phone:  ${object.company_id.phone} +
+ % endif + % if object.company_id.website: + + %endif +

+
+ + ]]> +
+
+
+
\ No newline at end of file