Merge pull request #3668 from expsa/helpdesk_emp_reques

transfare modul
This commit is contained in:
mohammed-alkhazrji 2025-06-26 17:38:16 +03:00 committed by GitHub
commit e6f5d14d4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 601 additions and 0 deletions

View File

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'EXP Helpdesk Employee Request',
'summary': 'adding menu for employees to request tickets in helpdesk',
'author': "Expert Co. Ltd.",
'website': "http://www.exp-sa.com",
'depends': ['odex25_helpdesk'],
'description': """
Adding menu for employees to request tickets in helpdesk
""",
'auto_install': True,
'data': [
'security/employee_request_security.xml',
'security/ir.model.access.csv',
'views/help_request_view.xml',
],
'license': '',
}

View File

@ -0,0 +1,189 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * helpdesk_employee_request
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-24 12:58+0000\n"
"PO-Revision-Date: 2022-10-24 12:58+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: helpdesk_employee_request
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_ticket_vip_view_form
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.ticket_request_view_form
msgid "Description of the ticket..."
msgstr "وصف التذكرة..."
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__display_name
msgid "Display Name"
msgstr "الاسم المعروض"
#. module: helpdesk_employee_request
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_ticket_vip_view_form
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.ticket_request_view_form
msgid "Customer"
msgstr "الموظف / العميل"
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.stage,name:helpdesk_employee_request.stage_in_employee_request
msgid "Employee Request"
msgstr "طلب موظف"
#. module: helpdesk_employee_request
#: model:ir.ui.menu,name:helpdesk_employee_request.menu_helpdesk_employee_request
msgid "Employee Request Helpdesk"
msgstr "طلبات موظفين"
#. module: helpdesk_employee_request
#: model:ir.actions.act_window,name:helpdesk_employee_request.action_helpdesk_ticket_employee_request
msgid "Employee Request Tickets"
msgstr "تذاكر طلبات الموظفين"
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.team,name:helpdesk_employee_request.helpdesk_team_employee_request
msgid "Employee Request's"
msgstr "طلبات الموظفين"
#. module: helpdesk_employee_request
#: model:res.groups,name:helpdesk_employee_request.group_helpdesk_employee
msgid "Employee request"
msgstr "طلب موظف"
#. module: helpdesk_employee_request
#: model:ir.ui.menu,name:helpdesk_employee_request.menu_helpdesk_employee
msgid "Helpdesk"
msgstr "مكتب المساعدة"
#. module: helpdesk_employee_request
#: model:ir.model,name:helpdesk_employee_request.model_odex25_helpdesk_ticket
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_ticket_vip_view_form
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.ticket_request_view_form
msgid "Helpdesk Ticket"
msgstr "التذاكر"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__id
msgid "ID"
msgstr "المُعرف"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__is_internal_team
msgid "Internal Team"
msgstr "فريق داخلي"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__is_submitted
msgid "Is Submitted"
msgstr "يقدم"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__ticket_service_type
msgid "Kanban State"
msgstr ""
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket____last_update
msgid "Last Modified on"
msgstr "آخر تعديل في"
#. module: helpdesk_employee_request
#: model_terms:ir.actions.act_window,help:helpdesk_employee_request.action_helpdesk_ticket_employee_request
#: model_terms:ir.actions.act_window,help:helpdesk_employee_request.action_helpdesk_ticket_vip_request
msgid "No tickets to display."
msgstr "لايوجد تذاكر لعرضها"
#. module: helpdesk_employee_request
#: model:ir.model.fields.selection,name:helpdesk_employee_request.selection__odex25_helpdesk_ticket__ticket_service_type__request
msgid "Request"
msgstr "طلب"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__requester_id
msgid "Requester"
msgstr "مقدم الطلب"
#. module: helpdesk_employee_request
#: model:ir.model.fields.selection,name:helpdesk_employee_request.selection__odex25_helpdesk_ticket__ticket_service_type__secretary
#: model:res.groups,name:helpdesk_employee_request.group_helpdesk_Secretary
msgid "Secretary"
msgstr "السكرتير"
#. module: helpdesk_employee_request
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_ticket_vip_view_form
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.ticket_request_view_form
msgid "Subject..."
msgstr "الموضوع"
#. module: helpdesk_employee_request
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_tickets_employee_request_view_tree
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_tickets_vip_view_tree
msgid "Ticket Name"
msgstr "إسم التذكرة"
#. module: helpdesk_employee_request
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_tickets_employee_request_view_tree
#: model_terms:ir.ui.view,arch_db:helpdesk_employee_request.odex25_helpdesk_tickets_vip_view_tree
msgid "Tickets"
msgstr "التذاكر"
#. module: helpdesk_employee_request
#: model:ir.model.fields.selection,name:helpdesk_employee_request.selection__odex25_helpdesk_ticket__ticket_service_type__vip
msgid "VIP"
msgstr ""
#. module: helpdesk_employee_request
#: model:res.groups,name:helpdesk_employee_request.group_helpdesk_vip_employee
msgid "VIP Employee"
msgstr "VIP موظف"
#. module: helpdesk_employee_request
#: model:ir.ui.menu,name:helpdesk_employee_request.menu_helpdesk_vip_employee_request
msgid "VIP Employee Helpdesk"
msgstr "VIP تذاكر موظف"
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.stage,name:helpdesk_employee_request.stage_in_vip_employee_request
msgid "VIP Employee Request"
msgstr "VIP طلب موظف"
#. module: helpdesk_employee_request
#: model:ir.actions.act_window,name:helpdesk_employee_request.action_helpdesk_ticket_vip_request
msgid "VIP Employee Request Tickets"
msgstr "VIP تذاكر طلب موظف"
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.team,name:helpdesk_employee_request.helpdesk_team_vip_employee_request
msgid "VIP Employee Request's"
msgstr "VIP طلب موظف"
#. module: helpdesk_employee_request
#: model:ir.model.fields,field_description:helpdesk_employee_request.field_odex25_helpdesk_ticket__is_vip_team
msgid "VIP Team"
msgstr "VIP فريق"
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.stage,legend_done:helpdesk_employee_request.stage_in_employee_request
#: model:odex25_helpdesk.stage,legend_done:helpdesk_employee_request.stage_in_vip_employee_request
msgid "جاهز"
msgstr ""
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.stage,legend_normal:helpdesk_employee_request.stage_in_employee_request
#: model:odex25_helpdesk.stage,legend_normal:helpdesk_employee_request.stage_in_vip_employee_request
msgid "قيد التنفيذ"
msgstr ""
#. module: helpdesk_employee_request
#: model:odex25_helpdesk.stage,legend_blocked:helpdesk_employee_request.stage_in_employee_request
#: model:odex25_helpdesk.stage,legend_blocked:helpdesk_employee_request.stage_in_vip_employee_request
msgid "محجوب"
msgstr ""

View File

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import helpdesk

View File

@ -0,0 +1,80 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models, tools, _
from lxml import etree
import json
import simplejson
import logging
_logger = logging.getLogger(__name__)
class HelpdeskTicket(models.Model):
_inherit = 'odex25_helpdesk.ticket'
def _default_team_id(self):
team_id = False
if self.user_has_groups('helpdesk_employee_request.group_helpdesk_Secretary'):
if self._context.get('default_ticket_service_type') == 'request':
team_id = self.env['odex25_helpdesk.team'].search([('is_internal_team', '=', False)], limit=1).id
elif self._context.get('default_ticket_service_type') == 'vip':
team_id = self.env['odex25_helpdesk.team'].search([('is_vip_team', '=', True)], limit=1).id
elif self.user_has_groups('helpdesk_employee_request.group_helpdesk_employee'):
team_id = self.env['odex25_helpdesk.team'].search([('is_internal_team', '=', False)], limit=1).id
elif self.user_has_groups('helpdesk_employee_request.group_helpdesk_vip_employee'):
team_id = self.env['odex25_helpdesk.team'].search([('is_vip_team', '=', True)], limit=1).id
return team_id
team_id = fields.Many2one('odex25_helpdesk.team', string='Helpdesk Team', default=_default_team_id, index=True)
requester_id = fields.Many2one('res.users')
is_submitted = fields.Boolean(default=False)
is_vip_team = fields.Boolean(related="team_id.is_vip_team", readonly=True)
is_internal_team = fields.Boolean(related="team_id.is_internal_team", readonly=True)
ticket_service_type = fields.Selection([
('vip', 'VIP'),
('request', 'Request'),
('secretary', 'Secretary')])
@api.model
def create(self, vals):
"""
prevent editing after saving the record
"""
record = super(HelpdeskTicket, self).create(vals)
record.is_submitted = True
record.active = True
return record
@api.onchange('partner_id')
def set_requester(self):
"""
get the partner of the user
"""
user = self.env['res.users'].search([('partner_id', '=', self.partner_id.id)], limit=1)
self.requester_id = user.id
def submit_to_user(self):
"""
set the flag to true so fields be readonly and go to next stage
"""
for rec in self:
rec.is_submitted = True
rec.active = True
self.fields_view_get(view_type='form')
@api.model
@api.onchange('requester_id')
def _get_customer_from_requester(self):
"""
setting customer value from requester id
"""
if self._context.get('employee_request'):
self.requester_id = self.env.uid
self.partner_id = self.requester_id.partner_id.id
self.partner_email = self.partner_id.email
res = {'domain': {'partner_id': [('id', '=', [self.requester_id.partner_id.id])]}}
return res

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="group_helpdesk_employee" model="res.groups">
<field name="name">Employee request</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="category_id" ref="base.module_category_services_helpdesk"/>
</record>
<record id="group_helpdesk_vip_employee" model="res.groups">
<field name="name">VIP Employee</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="category_id" ref="base.module_category_services_helpdesk"/>
</record>
<record id="group_helpdesk_Secretary" model="res.groups">
<field name="name">Secretary</field>
<field name="implied_ids"
eval="[(4, ref('group_helpdesk_employee')),(4,ref('group_helpdesk_vip_employee'))]"/>
<field name="category_id" ref="base.module_category_services_helpdesk"/>
</record>
<record id="helpdesk_ticket_employee_rule" model="ir.rule">
<field name="name">Helpdesk Employee</field>
<field name="model_id" ref="model_odex25_helpdesk_ticket"/>
<field name="global" eval="True"/>
<field name="domain_force">[('requester_id','=',user.id)]</field>
<field name="groups"
eval="[(4, ref('helpdesk_employee_request.group_helpdesk_employee')),(4, ref('helpdesk_employee_request.group_helpdesk_vip_employee'))]"/>
</record>
<record id="helpdesk_team_secretary_rule" model="ir.rule">
<field name="name">Helpdesk Secretary</field>
<field name="model_id" ref="odex25_helpdesk.model_odex25_helpdesk_ticket"/>
<field name="global" eval="True"/>
<field name="domain_force">[('requester_id','=',user.id)]</field>
<field name="groups" eval="[(4, ref('helpdesk_employee_request.group_helpdesk_Secretary'))]"/>
</record>
<record id="group_odex25_helpdesk_user_rule" model="ir.rule">
<field name="name">Helpdesk User</field>
<field name="model_id" ref="model_odex25_helpdesk_ticket"/>
<field name="global" eval="True"/>
<field name="domain_force">[('requester_id','=',user.id)]</field>
<field name="groups"
eval="[(4, ref('odex25_helpdesk.group_odex25_helpdesk_user'))]"/>
</record>
</data>
</odoo>

View File

@ -0,0 +1,39 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
employee_access_helpdesk_tag,helpdesk.tag,odex25_helpdesk.model_odex25_helpdesk_tag,helpdesk_employee_request.group_helpdesk_employee,1,1,1,1
employee_access_helpdesk_sla,helpdesk.sla,odex25_helpdesk.model_odex25_helpdesk_sla,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
employee_access_helpdesk_stage,helpdesk.stage,odex25_helpdesk.model_odex25_helpdesk_stage,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
employee_access_helpdesk_ticket,helpdesk.ticket,odex25_helpdesk.model_odex25_helpdesk_ticket,helpdesk_employee_request.group_helpdesk_employee,1,1,1,1
employee_access_helpdesk_team_public,helpdesk.team,odex25_helpdesk.model_odex25_helpdesk_team,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
employee_access_helpdesk_ticket_type_manager,helpdesk.ticket.type.manager,odex25_helpdesk.model_odex25_helpdesk_ticket_type,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
employee_access_analytic_account_heldpdesk_user,analytic.account.helpdesk.user,analytic.model_account_analytic_account,helpdesk_employee_request.group_helpdesk_employee,1,1,0,0
employee_access_analytic_line_heldpdesk_user,analytic.line.helpdesk.user,analytic.model_account_analytic_line,helpdesk_employee_request.group_helpdesk_employee,1,1,1,1
employee_access_sla_status_user,model_odex25_helpdesk_sla_status.user,odex25_helpdesk.model_odex25_helpdesk_sla_status,helpdesk_employee_request.group_helpdesk_employee,1,1,1,1
employee_access_employee_service_category,employee.service.category,odex25_helpdesk.model_service_category,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
employee_access_employee_helpdesk_service,employee.helpdesk.service,odex25_helpdesk.model_helpdesk_service,helpdesk_employee_request.group_helpdesk_employee,1,0,0,0
access_helpdesk_tag_vip_employee,helpdesk.tag.vip_employee,odex25_helpdesk.model_odex25_helpdesk_tag,helpdesk_employee_request.group_helpdesk_vip_employee,1,1,1,1
access_helpdesk_sla_vip_employee,helpdesk.sla.vip_employee,odex25_helpdesk.model_odex25_helpdesk_sla,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
access_helpdesk_stage_vip_employee,helpdesk.stage.vip_employee,odex25_helpdesk.model_odex25_helpdesk_stage,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
access_helpdesk_ticket_vip_employee,helpdesk.ticket.vip_employee,odex25_helpdesk.model_odex25_helpdesk_ticket,helpdesk_employee_request.group_helpdesk_vip_employee,1,1,1,1
access_helpdesk_team_public_vip_employee,helpdesk.team.vip_employee,odex25_helpdesk.model_odex25_helpdesk_team,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
access_helpdesk_ticket_type_manager_vip_employee,helpdesk.ticket.type.manager.vip_employee,odex25_helpdesk.model_odex25_helpdesk_ticket_type,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
access_analytic_account_heldpdesk_user_vip_employee,analytic.account.helpdesk.user.vip_employee,analytic.model_account_analytic_account,helpdesk_employee_request.group_helpdesk_vip_employee,1,1,0,0
access_analytic_line_heldpdesk_user_vip_employee,analytic.line.helpdesk.user.vip_employee,analytic.model_account_analytic_line,helpdesk_employee_request.group_helpdesk_vip_employee,1,1,1,1
employee_access_sla_status_vip,model_odex25_helpdesk_sla_status.vip,odex25_helpdesk.model_odex25_helpdesk_sla_status,helpdesk_employee_request.group_helpdesk_vip_employee,1,1,1,1
employee_access_vip_service_category,vip.service.category,odex25_helpdesk.model_service_category,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
employee_access_vip_helpdesk_service,vip.helpdesk.service,odex25_helpdesk.model_helpdesk_service,helpdesk_employee_request.group_helpdesk_vip_employee,1,0,0,0
access_helpdesk_tag_secretary_employee,helpdesk.tag.vip_employee,odex25_helpdesk.model_odex25_helpdesk_tag,helpdesk_employee_request.group_helpdesk_Secretary,1,1,1,1
access_helpdesk_sla_secretary_employee,helpdesk.sla.vip_employee,odex25_helpdesk.model_odex25_helpdesk_sla,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
access_helpdesk_stage_secretary_employee,helpdesk.stage.vip_employee,odex25_helpdesk.model_odex25_helpdesk_stage,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
access_helpdesk_ticket_secretary_employee,helpdesk.ticket.vip_employee,odex25_helpdesk.model_odex25_helpdesk_ticket,helpdesk_employee_request.group_helpdesk_Secretary,1,1,1,1
access_helpdesk_team_public_secretary_employee,helpdesk.team.vip_employee,odex25_helpdesk.model_odex25_helpdesk_team,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
access_helpdesk_ticket_type_manager_secretary_employee,helpdesk.ticket.type.manager.vip_employee,odex25_helpdesk.model_odex25_helpdesk_ticket_type,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
access_analytic_account_heldpdesk_user_secretary_employee,analytic.account.helpdesk.user.vip_employee,analytic.model_account_analytic_account,helpdesk_employee_request.group_helpdesk_Secretary,1,1,0,0
access_analytic_line_heldpdesk_user_secretary_employee,analytic.line.helpdesk.user.vip_employee,analytic.model_account_analytic_line,helpdesk_employee_request.group_helpdesk_Secretary,1,1,1,1
employee_access_sla_status_secretary,model_odex25_helpdesk_sla_status.secretary,odex25_helpdesk.model_odex25_helpdesk_sla_status,helpdesk_employee_request.group_helpdesk_Secretary,1,1,1,1
employee_access_secretary_service_category,secretary.service.category,odex25_helpdesk.model_service_category,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
employee_access_secretary_helpdesk_service,secretary.helpdesk.service,odex25_helpdesk.model_helpdesk_service,helpdesk_employee_request.group_helpdesk_Secretary,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 employee_access_helpdesk_tag helpdesk.tag odex25_helpdesk.model_odex25_helpdesk_tag helpdesk_employee_request.group_helpdesk_employee 1 1 1 1
3 employee_access_helpdesk_sla helpdesk.sla odex25_helpdesk.model_odex25_helpdesk_sla helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
4 employee_access_helpdesk_stage helpdesk.stage odex25_helpdesk.model_odex25_helpdesk_stage helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
5 employee_access_helpdesk_ticket helpdesk.ticket odex25_helpdesk.model_odex25_helpdesk_ticket helpdesk_employee_request.group_helpdesk_employee 1 1 1 1
6 employee_access_helpdesk_team_public helpdesk.team odex25_helpdesk.model_odex25_helpdesk_team helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
7 employee_access_helpdesk_ticket_type_manager helpdesk.ticket.type.manager odex25_helpdesk.model_odex25_helpdesk_ticket_type helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
8 employee_access_analytic_account_heldpdesk_user analytic.account.helpdesk.user analytic.model_account_analytic_account helpdesk_employee_request.group_helpdesk_employee 1 1 0 0
9 employee_access_analytic_line_heldpdesk_user analytic.line.helpdesk.user analytic.model_account_analytic_line helpdesk_employee_request.group_helpdesk_employee 1 1 1 1
10 employee_access_sla_status_user model_odex25_helpdesk_sla_status.user odex25_helpdesk.model_odex25_helpdesk_sla_status helpdesk_employee_request.group_helpdesk_employee 1 1 1 1
11 employee_access_employee_service_category employee.service.category odex25_helpdesk.model_service_category helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
12 employee_access_employee_helpdesk_service employee.helpdesk.service odex25_helpdesk.model_helpdesk_service helpdesk_employee_request.group_helpdesk_employee 1 0 0 0
13 access_helpdesk_tag_vip_employee helpdesk.tag.vip_employee odex25_helpdesk.model_odex25_helpdesk_tag helpdesk_employee_request.group_helpdesk_vip_employee 1 1 1 1
14 access_helpdesk_sla_vip_employee helpdesk.sla.vip_employee odex25_helpdesk.model_odex25_helpdesk_sla helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
15 access_helpdesk_stage_vip_employee helpdesk.stage.vip_employee odex25_helpdesk.model_odex25_helpdesk_stage helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
16 access_helpdesk_ticket_vip_employee helpdesk.ticket.vip_employee odex25_helpdesk.model_odex25_helpdesk_ticket helpdesk_employee_request.group_helpdesk_vip_employee 1 1 1 1
17 access_helpdesk_team_public_vip_employee helpdesk.team.vip_employee odex25_helpdesk.model_odex25_helpdesk_team helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
18 access_helpdesk_ticket_type_manager_vip_employee helpdesk.ticket.type.manager.vip_employee odex25_helpdesk.model_odex25_helpdesk_ticket_type helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
19 access_analytic_account_heldpdesk_user_vip_employee analytic.account.helpdesk.user.vip_employee analytic.model_account_analytic_account helpdesk_employee_request.group_helpdesk_vip_employee 1 1 0 0
20 access_analytic_line_heldpdesk_user_vip_employee analytic.line.helpdesk.user.vip_employee analytic.model_account_analytic_line helpdesk_employee_request.group_helpdesk_vip_employee 1 1 1 1
21 employee_access_sla_status_vip model_odex25_helpdesk_sla_status.vip odex25_helpdesk.model_odex25_helpdesk_sla_status helpdesk_employee_request.group_helpdesk_vip_employee 1 1 1 1
22 employee_access_vip_service_category vip.service.category odex25_helpdesk.model_service_category helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
23 employee_access_vip_helpdesk_service vip.helpdesk.service odex25_helpdesk.model_helpdesk_service helpdesk_employee_request.group_helpdesk_vip_employee 1 0 0 0
24 access_helpdesk_tag_secretary_employee helpdesk.tag.vip_employee odex25_helpdesk.model_odex25_helpdesk_tag helpdesk_employee_request.group_helpdesk_Secretary 1 1 1 1
25 access_helpdesk_sla_secretary_employee helpdesk.sla.vip_employee odex25_helpdesk.model_odex25_helpdesk_sla helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0
26 access_helpdesk_stage_secretary_employee helpdesk.stage.vip_employee odex25_helpdesk.model_odex25_helpdesk_stage helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0
27 access_helpdesk_ticket_secretary_employee helpdesk.ticket.vip_employee odex25_helpdesk.model_odex25_helpdesk_ticket helpdesk_employee_request.group_helpdesk_Secretary 1 1 1 1
28 access_helpdesk_team_public_secretary_employee helpdesk.team.vip_employee odex25_helpdesk.model_odex25_helpdesk_team helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0
29 access_helpdesk_ticket_type_manager_secretary_employee helpdesk.ticket.type.manager.vip_employee odex25_helpdesk.model_odex25_helpdesk_ticket_type helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0
30 access_analytic_account_heldpdesk_user_secretary_employee analytic.account.helpdesk.user.vip_employee analytic.model_account_analytic_account helpdesk_employee_request.group_helpdesk_Secretary 1 1 0 0
31 access_analytic_line_heldpdesk_user_secretary_employee analytic.line.helpdesk.user.vip_employee analytic.model_account_analytic_line helpdesk_employee_request.group_helpdesk_Secretary 1 1 1 1
32 employee_access_sla_status_secretary model_odex25_helpdesk_sla_status.secretary odex25_helpdesk.model_odex25_helpdesk_sla_status helpdesk_employee_request.group_helpdesk_Secretary 1 1 1 1
33 employee_access_secretary_service_category secretary.service.category odex25_helpdesk.model_service_category helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0
34 employee_access_secretary_helpdesk_service secretary.helpdesk.service odex25_helpdesk.model_helpdesk_service helpdesk_employee_request.group_helpdesk_Secretary 1 0 0 0

View File

@ -0,0 +1,212 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="odex25_helpdesk_tickets_vip_view_tree" model="ir.ui.view">
<field name="name">odex25_helpdesk.ticket.vip.tree</field>
<field name="model">odex25_helpdesk.ticket</field>
<field name="arch" type="xml">
<tree string="Tickets" multi_edit="1" sample="1">
<field name="team_id" invisible="1" readonly="1"/>
<field name="display_name" string="Ticket Name" readonly="1"/>
<field name="partner_id" optional="show"/>
<field name="priority" optional="hide"/>
<field name="on_behalf" groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf"/>
<field name="stage_id" optional="show" readonly="1"/>
<field name="company_id" groups="base.group_multi_company" optional="show" readonly="1"/>
</tree>
</field>
</record>
<record id="odex25_helpdesk_tickets_employee_request_view_tree" model="ir.ui.view">
<field name="name">odex25_helpdesk.ticket.request.tree</field>
<field name="model">odex25_helpdesk.ticket</field>
<field name="arch" type="xml">
<tree string="Tickets" multi_edit="1" sample="1">
<field name="team_id" invisible="1" readonly="1"/>
<field name="display_name" string="Ticket Name" readonly="1"/>
<field name="partner_id" optional="show" />
<field name="priority" optional="hide"/>
<field name="on_behalf" groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf"/>
<field name="stage_id" optional="show" readonly="1"/>
<field name="company_id" groups="base.group_multi_company" optional="show" readonly="1"/>
</tree>
</field>
</record>
<record id="odex25_helpdesk_ticket_vip_view_form" model="ir.ui.view">
<field name="name">odex25_helpdesk.ticket.vip.form</field>
<field name="model">odex25_helpdesk.ticket</field>
<field name="groups_id"
eval="[(4, ref('helpdesk_employee_request.group_helpdesk_vip_employee'))]"/>
<field name="arch" type="xml">
<form string="Helpdesk Ticket">
<header>
<field name="stage_id" widget="statusbar" attrs="{'clickable':[('requester_id','!=',False)]}"
options="{'fold_field': 'fold'}"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" class="field_name" placeholder="Subject..." attrs="{'readonly':[('is_submitted','=',True)]}"/>
</h1>
</div>
<group>
<group>
<field name="active" invisible="1"/>
<field name="requester_id" invisible="1"/>
<field name="is_submitted" invisible="1"/>
<field name="team_id" domain="[('is_vip_team','=',True)]" attrs="{'readonly':[('is_submitted','=',True)]}" options='{"no_open": True, "no_create": True}'/>
</group>
<group>
<field name="partner_id" string="Customer"
options='{"no_open": True, "no_create": True}'/>
<field name="partner_email" readonly="1"/>
<field name="on_behalf" attrs="{'readonly':[('is_submitted','=',True)]}" groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf"/>
</group>
</group>
<field name="description" attrs="{'readonly':[('is_submitted','=',True)]}" class="field_description" placeholder="Description of the ticket..."/>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<!-- <field name="activity_ids" />-->
<field name="message_ids" options="{'post_refresh': 'recipients'}"/>
</div>
</form>
</field>
</record>
<record id="ticket_request_view_form" model="ir.ui.view">
<field name="name">odex25_helpdesk.ticket.request.form</field>
<field name="model">odex25_helpdesk.ticket</field>
<field name="groups_id"
eval="[(4, ref('helpdesk_employee_request.group_helpdesk_employee'))]"/>
<field name="arch" type="xml">
<form string="Helpdesk Ticket">
<header>
<field name="stage_id" widget="statusbar" attrs="{'clickable':[('requester_id','!=',False)]}"
options="{'fold_field': 'fold'}"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" class="field_name" placeholder="Subject..." attrs="{'readonly':[('is_submitted','=',True)]}"/>
</h1>
</div>
<group>
<group>
<field name="requester_id" invisible="1"/>
<field name="is_submitted" invisible="1"/>
<field name="active" invisible="1"/>
<field name="team_id" options='{"no_open": True, "no_create": True}'
domain="[('is_internal_team', '=', False),('is_vip_team','=',False)]" attrs="{'readonly':[('is_submitted','=',True)]}"/>
<field name="category_id" required="1" attrs="{'readonly':[('is_submitted','=',True)]}" options='{"no_open": True, "no_create": True}'/>
<field name="service_id" domain="[('category_id','=',category_id)]" options='{"no_open": True, "no_create": True}' required="1" attrs="{'readonly':[('is_submitted','=',True)]}"/>
</group>
<group>
<field name="partner_id" string="Customer"
options='{"no_open": True, "no_create": True}'/>
<field name="partner_email" readonly="1"/>
<field name="department_id" readonly="1" options='{"no_open": True, "no_create": True}'/>
<field name="on_behalf" groups="odex25_helpdesk.group_odex25_helpdesk_on_behalf" attrs="{'readonly':[('is_submitted','=',True)]}"/>
</group>
</group>
<field name="description" class="field_description" placeholder="Description of the ticket..." attrs="{'readonly':[('is_submitted','=',True)]}"/>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="message_ids" options="{'post_refresh': 'recipients'}"/>
</div>
</form>
</field>
</record>
<record id="action_helpdesk_ticket_employee_request" model="ir.actions.act_window">
<field name="name">Employee Request Tickets</field>
<field name="res_model">odex25_helpdesk.ticket</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{
'employee_request': True,
'default_active': False,
'default_ticket_service_type': 'request',
'default_is_internal_team': False,
'active_test':False,
'active_test':False,
}"/>
<field name="domain">[('ticket_service_type','=','request'),('requester_id','=',uid)]</field>
<field name="help" type="html">
<p>
No tickets to display.
</p>
</field>
</record>
<record id="action_helpdesk_ticket_vip_request" model="ir.actions.act_window">
<field name="name">VIP Employee Request Tickets</field>
<field name="res_model">odex25_helpdesk.ticket</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{
'employee_request': True,
'default_active': False,
'default_ticket_service_type': 'vip',
'active_test':False,
'active_test':False}"/>
<field name="domain">
[('ticket_service_type','=','vip'),('requester_id','=',uid)]
</field>
<field name="help" type="html">
<p>
No tickets to display.
</p>
</field>
</record>
<record model="ir.actions.act_window.view" id="action_vip_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="odex25_helpdesk_tickets_vip_view_tree"/>
<field name="act_window_id" ref="action_helpdesk_ticket_vip_request"/>
</record>
<record model="ir.actions.act_window.view" id="action_vip_form">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="odex25_helpdesk_ticket_vip_view_form"/>
<field name="act_window_id" ref="action_helpdesk_ticket_vip_request"/>
</record>
<record model="ir.actions.act_window.view" id="emp_req_action">
<field name="sequence" eval="3"/>
<field name="view_mode">form</field>
<field name="view_id" ref="ticket_request_view_form"/>
<field name="act_window_id" ref="action_helpdesk_ticket_employee_request"/>
</record>
<record model="ir.actions.act_window.view" id="action_request_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="odex25_helpdesk_tickets_employee_request_view_tree"/>
<field name="act_window_id" ref="action_helpdesk_ticket_employee_request"/>
</record>
<menuitem id="menu_helpdesk_employee" name="Helpdesk"
web_icon="odex25_helpdesk,static/description/icon.png"
groups="helpdesk_employee_request.group_helpdesk_employee,helpdesk_employee_request.group_helpdesk_vip_employee,helpdesk_employee_request.group_helpdesk_Secretary"/>
<menuitem id="menu_helpdesk_vip_employee_request" name="VIP Employee Helpdesk"
parent="menu_helpdesk_employee"
sequence="10"
action="action_helpdesk_ticket_vip_request"
groups="helpdesk_employee_request.group_helpdesk_vip_employee,helpdesk_employee_request.group_helpdesk_Secretary"/>
<menuitem id="menu_helpdesk_employee_request" name="Employee Request Helpdesk"
parent="menu_helpdesk_employee"
sequence="12"
action="action_helpdesk_ticket_employee_request"
groups="helpdesk_employee_request.group_helpdesk_employee,helpdesk_employee_request.group_helpdesk_Secretary"/>
</odoo>