diff --git a/ohrms_service_request/README.rst b/ohrms_service_request/README.rst new file mode 100644 index 000000000..1ee069da6 --- /dev/null +++ b/ohrms_service_request/README.rst @@ -0,0 +1,48 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Open HRMS Service Request +========================= +This module is used to Manage Service Requests From Employees. + +Configuration +============= +* No additional configurations needed + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +======= +General Public License, version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +Developer : (V18) Raneesha M K, + (V17) Bhagyadev KP, +Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/ohrms_service_request/__init__.py b/ohrms_service_request/__init__.py new file mode 100644 index 000000000..da6f6700d --- /dev/null +++ b/ohrms_service_request/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Raneesha MK (odoo@cybrosys.com) +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from . import models diff --git a/ohrms_service_request/__manifest__.py b/ohrms_service_request/__manifest__.py new file mode 100644 index 000000000..2d8d910f3 --- /dev/null +++ b/ohrms_service_request/__manifest__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Raneesha M K (odoo@cybrosys.com) +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +{ + 'name': "Open HRMS Service Request", + 'version': '18.0.1.0.0', + 'category': 'Human Resources', + 'summary': """For Requesting Services""", + 'description': """It allows employees to submit service requests related to + HR, such as IT support, asset maintenance, or administrative assistance.""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['hr', 'stock', 'oh_employee_creation_from_user', 'project', + 'hr_attendance'], + 'data': [ + 'security/ir.model.access.csv', + 'security/service_request_security.xml', + 'security/ohrms_service_request_groups.xml', + 'data/service_request_sequence.xml', + 'views/service_request_views.xml', + 'views/service_execute_views.xml', + ], + 'images': ['static/description/banner.png'], + 'license': "AGPL-3", + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/ohrms_service_request/data/service_request_sequence.xml b/ohrms_service_request/data/service_request_sequence.xml new file mode 100755 index 000000000..ca2c0f49d --- /dev/null +++ b/ohrms_service_request/data/service_request_sequence.xml @@ -0,0 +1,12 @@ + + + + + + Open HRMS Services + service.request + SR + 3 + + + diff --git a/ohrms_service_request/doc/RELEASE_NOTES.md b/ohrms_service_request/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..2ed2df48e --- /dev/null +++ b/ohrms_service_request/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 09.04.2025 +#### Version 18.0.1.0.0 +##### ADD +- Initial commit for Open HRMS Service Request diff --git a/ohrms_service_request/models/__init__.py b/ohrms_service_request/models/__init__.py new file mode 100644 index 000000000..b0657a7dc --- /dev/null +++ b/ohrms_service_request/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Raneesha M K (odoo@cybrosys.com) +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from . import service_execute +from . import service_request diff --git a/ohrms_service_request/models/service_execute.py b/ohrms_service_request/models/service_execute.py new file mode 100644 index 000000000..a81befaaa --- /dev/null +++ b/ohrms_service_request/models/service_execute.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Raneesha MK (odoo@cybrosys.com) +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from odoo import fields, models + + +class ServiceExecute(models.Model): + """ Model representing a service execution""" + _name = 'service.execute' + _rec_name = 'issue' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _description = 'Service Execute' + + client_id = fields.Many2one('hr.employee', string="Client", + help="Name of the client") + executor_id = fields.Many2one('hr.employee', string='Executor', + help="Select the Executor") + issue = fields.Char(string="Issue", + help="What issue you have to request service") + execute_date = fields.Datetime(string="Date Of Reporting", + help="Issue reporting date") + state_execute = fields.Selection( + [('draft', 'Draft'), ('requested', 'Requested'), + ('assign', 'Assigned') + , ('check', 'Checked'), ('reject', 'Rejected'), + ('approved', 'Approved')], string="State", tracking=True, + help="state of the request") + test_id = fields.Many2one('service.request', string='test', + help="Test service") + notes = fields.Text(string="Internal notes", help="Any description") + executor_product = fields.Char(string='Service Item', + help="Which item is going to service") + type_service = fields.Char(string='Service Type', + help="Which type of service") + + def action_service_check(self): + """ Change the state of the associated 'service.request' object to + 'check' and update the 'state_execute' field to 'check'.""" + self.test_id.sudo().state = 'check' + self.write({ + 'state_execute': 'check' + }) + return diff --git a/ohrms_service_request/models/service_request.py b/ohrms_service_request/models/service_request.py new file mode 100644 index 000000000..7e5b25e21 --- /dev/null +++ b/ohrms_service_request/models/service_request.py @@ -0,0 +1,142 @@ +123# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Raneesha MK (odoo@cybrosys.com) +# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################ +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class ServiceRequest(models.Model): + """ Model representing a service request in the system.""" + _name = 'service.request' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _description = "Service Request" + + def _get_employee_id(self): + """Current employee""" + employee_rec = self.env['hr.employee'].search( + [('user_id', '=', self.env.uid)], limit=1) + return employee_rec.id + + service_name = fields.Char(required=True, string="Reason For Service", + help="Service name") + employee_id = fields.Many2one('hr.employee', string="Employee", + default=_get_employee_id, readonly=True, + required=True, help="Related Employee") + service_date = fields.Datetime(string="date", required=True, + help="Service date") + state = fields.Selection([('draft', 'Draft'), + ('requested', 'Requested'), + ('assign', 'Assigned'), + ('check', 'Checked'), + ('reject', 'Rejected'), + ('approved', 'Approved')], default='draft', + tracking=True, help="Stages of serice") + service_executor_id = fields.Many2one('hr.employee', + string='Service Executor', + help="Employee- executor for " + "this service") + read_only = fields.Boolean(string="Check field", + compute='_compute_read_only', + help="checking project manager privileges") + tester_ids = fields.One2many('service.execute', + 'test_id', string='Tester', + help="Related services") + internal_note = fields.Text(string="internal notes", + help="Notes for the internal purpose") + service_type = fields.Selection([('repair', 'Repair'), + ('replace', 'Replace'), + ('updating', 'Updating'), + ('checking', 'Checking'), + ('adjust', 'Adjustment'), + ('other', 'Other')], + string='Type Of Service', required=True, + help="Type for the service request") + service_product_id = fields.Many2one('product.product', + string='Item For Service', + required=True, + help="Product you want to service") + name = fields.Char(string='Reference', required=True, copy=False, + readonly=True, help="Name- reference", + default=lambda self: _('New')) + + @api.model_create_multi + def create(self, vals): + """Create a service request""" + for val in vals: + val['name'] = self.env['ir.sequence'].next_by_code('service.request') + return super(ServiceRequest, self).create(vals) + + @api.depends('read_only') + def _compute_read_only(self): + """Compute method to determine if the user has project manager + privileges.""" + res_user = self.env['res.users'].search([('id', '=', self._uid)]) + if res_user.has_group('project.group_project_manager'): + self.read_only = True + else: + self.read_only = False + + def action_submit_reg(self): + """ Change the state of the service request to 'requested'.""" + self.ensure_one() + self.sudo().write({ + 'state': 'requested' + }) + return + + def action_assign_executor(self): + """ Change the state of the service request to 'assign'.""" + self.ensure_one() + if not self.service_executor_id: + raise ValidationError( + _("Select Executer For the Requested Service")) + self.write({ + 'state': 'assign' + }) + vals = { + 'issue': self.service_name, + 'executor_id': self.service_executor_id.id, + 'client_id': self.employee_id.id, + 'executor_product': self.service_product_id.name, + 'type_service': self.service_type, + 'execute_date': self.service_date, + 'state_execute': self.state, + 'notes': self.internal_note, + 'test_id': self.id, + } + self.env['service.execute'].sudo().create(vals) + return + + def action_service_approval(self): + """Approve the service request""" + for record in self: + record.tester_ids.sudo().state_execute = 'approved' + record.write({ + 'state': 'approved' + }) + return + + def action_service_rejection(self): + """Reject the service request.""" + self.write({ + 'state': 'reject' + }) + return diff --git a/ohrms_service_request/security/ir.model.access.csv b/ohrms_service_request/security/ir.model.access.csv new file mode 100755 index 000000000..359fce5b2 --- /dev/null +++ b/ohrms_service_request/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_service_request_user,access.request.service.user,model_service_request,base.group_user,1,1,1,0 +access_service_request_project_user,access.service.request.project.user,model_service_request,project.group_project_user,1,1,1,0 +access_service_execute_user,access.service.execute.user,model_service_execute,base.group_user,1,1,1,0 +access_hr_employee_project_user,access.hr.employee.project.user,hr.model_hr_employee,project.group_project_user,1,1,1,0 diff --git a/ohrms_service_request/security/ohrms_service_request_groups.xml b/ohrms_service_request/security/ohrms_service_request_groups.xml new file mode 100644 index 000000000..ff8992570 --- /dev/null +++ b/ohrms_service_request/security/ohrms_service_request_groups.xml @@ -0,0 +1,16 @@ + + + + + Service + 5 + + + + Service Executor + + + + + \ No newline at end of file diff --git a/ohrms_service_request/security/service_request_security.xml b/ohrms_service_request/security/service_request_security.xml new file mode 100755 index 000000000..d6d5a62f8 --- /dev/null +++ b/ohrms_service_request/security/service_request_security.xml @@ -0,0 +1,20 @@ + + + + + Request Visibility + + ['|', + ('employee_id.work_contact_id.id','=',user.partner_id.id), + ('employee_id.work_contact_id','=',False)] + + + + + + Administrator Visibility + + [] + + + diff --git a/ohrms_service_request/static/description/assets/icons/arrows-repeat.svg b/ohrms_service_request/static/description/assets/icons/arrows-repeat.svg new file mode 100644 index 000000000..1d7efabc5 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/banner-bg.png b/ohrms_service_request/static/description/assets/icons/banner-bg.png new file mode 100644 index 000000000..a8238d3c0 Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/banner-bg.png differ diff --git a/ohrms_service_request/static/description/assets/icons/banner-bg.svg b/ohrms_service_request/static/description/assets/icons/banner-bg.svg new file mode 100644 index 000000000..b1378103e --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/banner-bg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/banner-call.svg b/ohrms_service_request/static/description/assets/icons/banner-call.svg new file mode 100644 index 000000000..96c687e81 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/banner-call.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/banner-logo-pattern.svg b/ohrms_service_request/static/description/assets/icons/banner-logo-pattern.svg new file mode 100644 index 000000000..2ba63930a --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/banner-logo-pattern.svg @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/banner-mail.svg b/ohrms_service_request/static/description/assets/icons/banner-mail.svg new file mode 100644 index 000000000..cbf0d158d --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/banner-mail.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/banner-promo.svg b/ohrms_service_request/static/description/assets/icons/banner-promo.svg new file mode 100644 index 000000000..d52791b11 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/banner-promo.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg b/ohrms_service_request/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg new file mode 100644 index 000000000..1df614b00 Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/blue-abstract-gradient-wave-wallpaper.jpg differ diff --git a/ohrms_service_request/static/description/assets/icons/close-icon.svg b/ohrms_service_request/static/description/assets/icons/close-icon.svg new file mode 100644 index 000000000..df8cce37a --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/close-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/collabarate-icon.svg b/ohrms_service_request/static/description/assets/icons/collabarate-icon.svg new file mode 100644 index 000000000..dd4e10518 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/collabarate-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/ohrms_service_request/static/description/assets/icons/cybro-logo.png b/ohrms_service_request/static/description/assets/icons/cybro-logo.png new file mode 100644 index 000000000..ff4b78220 Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/cybro-logo.png differ diff --git a/ohrms_service_request/static/description/assets/icons/down (1).svg b/ohrms_service_request/static/description/assets/icons/down (1).svg new file mode 100644 index 000000000..ecc984f88 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/down (1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ohrms_service_request/static/description/assets/icons/email (2).svg b/ohrms_service_request/static/description/assets/icons/email (2).svg new file mode 100644 index 000000000..ea2d8b15d --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/email (2).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ohrms_service_request/static/description/assets/icons/feature-icon.svg b/ohrms_service_request/static/description/assets/icons/feature-icon.svg new file mode 100644 index 000000000..fa0ea6850 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/feature-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/gear.svg b/ohrms_service_request/static/description/assets/icons/gear.svg new file mode 100644 index 000000000..0cc66b6ea --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/hire-odoo.svg b/ohrms_service_request/static/description/assets/icons/hire-odoo.svg new file mode 100644 index 000000000..e1ac089b0 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/key-benefits-pattern.svg b/ohrms_service_request/static/description/assets/icons/key-benefits-pattern.svg new file mode 100644 index 000000000..29cf22ed8 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/key-benefits-pattern.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/key-benefits.svg b/ohrms_service_request/static/description/assets/icons/key-benefits.svg new file mode 100644 index 000000000..5b14887dc --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/key-benefits.svg @@ -0,0 +1,3 @@ + + + diff --git a/ohrms_service_request/static/description/assets/icons/life-ring-icon.svg b/ohrms_service_request/static/description/assets/icons/life-ring-icon.svg new file mode 100644 index 000000000..3ae6e1d89 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/logo-openhrms.png b/ohrms_service_request/static/description/assets/icons/logo-openhrms.png new file mode 100644 index 000000000..e64152348 Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/logo-openhrms.png differ diff --git a/ohrms_service_request/static/description/assets/icons/mail.svg b/ohrms_service_request/static/description/assets/icons/mail.svg new file mode 100644 index 000000000..1eedde695 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/mail.svg @@ -0,0 +1,3 @@ + + + diff --git a/ohrms_service_request/static/description/assets/icons/notification icon.svg b/ohrms_service_request/static/description/assets/icons/notification icon.svg new file mode 100644 index 000000000..053189973 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/notification icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/odoo-consultancy.svg b/ohrms_service_request/static/description/assets/icons/odoo-consultancy.svg new file mode 100644 index 000000000..e05f65bde --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ohrms_service_request/static/description/assets/icons/odoo-licencing.svg b/ohrms_service_request/static/description/assets/icons/odoo-licencing.svg new file mode 100644 index 000000000..2606c88b0 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/ohrms_service_request/static/description/assets/icons/odoo-logo.png b/ohrms_service_request/static/description/assets/icons/odoo-logo.png new file mode 100644 index 000000000..0e4d0eb5a Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/odoo-logo.png differ diff --git a/ohrms_service_request/static/description/assets/icons/patter.svg b/ohrms_service_request/static/description/assets/icons/patter.svg new file mode 100644 index 000000000..25c9c0a8f --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/pattern1.png b/ohrms_service_request/static/description/assets/icons/pattern1.png new file mode 100644 index 000000000..09ab0fb2d Binary files /dev/null and b/ohrms_service_request/static/description/assets/icons/pattern1.png differ diff --git a/ohrms_service_request/static/description/assets/icons/puzzle-piece-icon.svg b/ohrms_service_request/static/description/assets/icons/puzzle-piece-icon.svg new file mode 100644 index 000000000..3e9ad9373 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/replace-icon.svg b/ohrms_service_request/static/description/assets/icons/replace-icon.svg new file mode 100644 index 000000000..d0e3a7af1 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/replace-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/skype.svg b/ohrms_service_request/static/description/assets/icons/skype.svg new file mode 100644 index 000000000..df3dad39b --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/skype.svg @@ -0,0 +1,3 @@ + + + diff --git a/ohrms_service_request/static/description/assets/icons/translate.svg b/ohrms_service_request/static/description/assets/icons/translate.svg new file mode 100644 index 000000000..af9c8a1aa --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/icons/wrench-icon.svg b/ohrms_service_request/static/description/assets/icons/wrench-icon.svg new file mode 100644 index 000000000..174b5a465 --- /dev/null +++ b/ohrms_service_request/static/description/assets/icons/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ohrms_service_request/static/description/assets/modules/1.jpg b/ohrms_service_request/static/description/assets/modules/1.jpg new file mode 100644 index 000000000..662cadcc3 Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/1.jpg differ diff --git a/ohrms_service_request/static/description/assets/modules/2-1.png b/ohrms_service_request/static/description/assets/modules/2-1.png new file mode 100644 index 000000000..48e801c6a Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/2-1.png differ diff --git a/ohrms_service_request/static/description/assets/modules/3.jpg b/ohrms_service_request/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..86379cd61 Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/3.jpg differ diff --git a/ohrms_service_request/static/description/assets/modules/4-1.png b/ohrms_service_request/static/description/assets/modules/4-1.png new file mode 100644 index 000000000..6d05615e4 Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/4-1.png differ diff --git a/ohrms_service_request/static/description/assets/modules/5.jpg b/ohrms_service_request/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..a4c99ac9a Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/5.jpg differ diff --git a/ohrms_service_request/static/description/assets/modules/6.jpg b/ohrms_service_request/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..579d106b7 Binary files /dev/null and b/ohrms_service_request/static/description/assets/modules/6.jpg differ diff --git a/ohrms_service_request/static/description/assets/screenshots/1.png b/ohrms_service_request/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..5ad75d817 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/1.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/2.png b/ohrms_service_request/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..31c38fe6c Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/2.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/3.png b/ohrms_service_request/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..8fc0fd246 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/3.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/4.png b/ohrms_service_request/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..47b683441 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/4.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/5.png b/ohrms_service_request/static/description/assets/screenshots/5.png new file mode 100644 index 000000000..459d5d322 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/5.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/6.png b/ohrms_service_request/static/description/assets/screenshots/6.png new file mode 100644 index 000000000..dd69f0a35 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/6.png differ diff --git a/ohrms_service_request/static/description/assets/screenshots/hero.gif b/ohrms_service_request/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..ba094b2a4 Binary files /dev/null and b/ohrms_service_request/static/description/assets/screenshots/hero.gif differ diff --git a/ohrms_service_request/static/description/banner.png b/ohrms_service_request/static/description/banner.png new file mode 100644 index 000000000..904a2c1de Binary files /dev/null and b/ohrms_service_request/static/description/banner.png differ diff --git a/ohrms_service_request/static/description/icon.png b/ohrms_service_request/static/description/icon.png new file mode 100644 index 000000000..d513a1e16 Binary files /dev/null and b/ohrms_service_request/static/description/icon.png differ diff --git a/ohrms_service_request/static/description/index.html b/ohrms_service_request/static/description/index.html new file mode 100644 index 000000000..4e9f4aa69 --- /dev/null +++ b/ohrms_service_request/static/description/index.html @@ -0,0 +1,1135 @@ + + + + + + app index + + + + + + + + + + +
+
+ +
+
Community +
+
+
+
+
+

OpenHRMS Service Request +

+

+ Manages the Technical requirements of Employees. +

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

Key + Highlights

+
+
+
+
+ +
+
+ + Allows employees to raise a request and view its status. +
+
+
+
+
+
+ +
+
+ Service Type and Item For Service is defined. +
+
+
+
+
+
+ +
+
+ Assigning executors and approvers at multiple levels. +
+
+
+
+
+ +
+
+
+ OpenHRMS Service Request +

+ Are you ready to make your business more + organized? +
Improve now! +

+ +
+
+ +
+
+
+ + + +
+
+ +
+
+
+
+ acc_bg +
+
+
+
+
+

+ Set User to Service Executer + + +

+
+
+

+ Select the User and set the "Service" field to 'Service Executer'. + +

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

+ +Request Service Menu + + +

+
+
+

+ Navigate to Employees → Services → Request Service to create service requests + +

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

+ + +Service Request Creation + + + +

+
+
+

+ + +Fill the mandatory fields and click "Submit" to send request. + + +

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

+ Choose the Executer + +

+
+
+

+ Choose the Executer for the request and click on 'Assign'. + +

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

+ Check The Request + +

+
+
+

+ Go to Service Execution menu under Services menu. Click on the 'Checked' + button after solving the request. + +

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

+ Approve The Request + +

+
+
+

+ Go to Request Service menu under the Services menu. Click 'Approve' if + the request is satisfied. + +

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

+ + Allows employees to raise a request and view its status. + +

+
+
+
+
+
+
+
+ +
+

+ + Employee Overtime request can be created using this module. +

+
+
+
+
+
+
+
+ +
+

+ + Assigning executors and approvers at multiple levels. + +

+
+
+
+
+
+
+
+ +
+

+ + Service Type and Item For Service is defined. + + +

+
+
+
+
+
+
+
+
+

+ FAQ + + +

+
+
+
+
+ +
+ +
+ +
+

+ The module is designed to manage and streamline service + requests for employees, helping to address their technical + requirements efficiently. +

+
+
+ +
+ +
+

+ Employees can submit a service request by navigating to the + Service Request section in the HR module and filling out the + necessary details in the request form. +

+
+
+ +
+ +
+

+ Submitted service requests can be viewed by HR personnel and + relevant service executers, depending on the permissions set + in the security configuration. +

+
+
+ +
+ +
+

+ Service requests are manually assigned to service + executers. +

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

+ Release 18.0.1.0.0 +

+ + 1st March, 2025 + +
+
+
+
+
+ Add +
+
+
+
    +
  • + Initial Commit +
  • + +
+
+
+
+
+
+
+
+
+
+ + + + + + + + + +
+
+

Our Services

+
+ + +
+
+ + +
+
+ .... +
+
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/ohrms_service_request/views/service_execute_views.xml b/ohrms_service_request/views/service_execute_views.xml new file mode 100644 index 000000000..4ef74e9d3 --- /dev/null +++ b/ohrms_service_request/views/service_execute_views.xml @@ -0,0 +1,68 @@ + + + + + service.execute.view.list + service.execute + + + + + + + + + + + + + + + service.execute.view.form + service.execute + +
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + Service Check + service.execute + list,form + [] + +

Create new record +

+
+
+ + +
diff --git a/ohrms_service_request/views/service_request_views.xml b/ohrms_service_request/views/service_request_views.xml new file mode 100644 index 000000000..19f9ad3ae --- /dev/null +++ b/ohrms_service_request/views/service_request_views.xml @@ -0,0 +1,129 @@ + + + + + service.request.view.list + service.request + + + + + + + + + + + + + + service.request.view.form + service.request + +
+
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + service.request.view.pivot + service.request + pivot + + + + + + + + + Service Request + service.request + list,form + [] + +

Create new Request +

+
+
+ + + Service Approval + service.request + list,form + [['state', '=','requested']] + +

Create new record +

+
+
+ + + + View Pivot + service.request + pivot + [] + +

Enter the target +

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