Merge pull request #3668 from expsa/helpdesk_emp_reques
transfare modul
This commit is contained in:
commit
e6f5d14d4c
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import models
|
||||
|
|
@ -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': '',
|
||||
}
|
||||
|
|
@ -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 ""
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import helpdesk
|
||||
|
|
@ -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
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
Binary file not shown.
Loading…
Reference in New Issue