transfare modul
This commit is contained in:
parent
abce0d9d34
commit
c7fbc2c842
|
|
@ -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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue