Cerrar tickets

Locked
doriath
Znuny newbie
Posts: 15
Joined: 12 Apr 2012, 17:35
Znuny Version: 3.1.0

Cerrar tickets

Post by doriath »

Saludos de nuevo,

Estoy buscando la manera de evitar que me aparezca el enlace de cerrar en la barra de menú suando estoy viendo el detalle
de un ticket con un tipo de estado de cerrado o eliminado, estando ya cerrado creo que esta opción no debería de aparecer,
ya que permite el cambio de estado del ticket.

La opción de desactivarlo está en Ticket -> Frontend::Agent::Ticket::MenuModule, pero no va en función del tipo de estado ni del estado
o yo no he sabido verlo.

He visto que la última clave llamada Target está sin contenido, es posible que sirva para esto que pregunto?.

Gracias.

Doriath
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Cerrar tickets

Post by miguelmz »

Podrias emplear una ACL que limite esa posibilidad, las ACL se introducen en Kernel/Config.pm y te afectaria a todo el sistema. Una vez introducida cualquier agente no podria acceder a esa funcion si cumple los requisitos detallados dentro de la acl.
[Kernel/Config.pm]

# ticket acl

$Self->{TicketAcl}->{'ACL-Name-1'} = {

# match properties
Properties => {

# current ticket match properties
Ticket => {
State => ['closed'],
}
},

# return possible options (white list)
Possible => {

# possible action options
Action => {
AgentTicketLock => 1,
AgentTicketZoom => 1,
AgentTicketClose => 0,
AgentTicketPending => 1,
AgentTicketNote => 1,
AgentTicketHistory => 1,
AgentTicketPriority => 1,
AgentTicketFreeText => 1,
AgentTicketHistory => 1,
AgentTicketCompose => 1,
AgentTicketBounce => 1,
AgentTicketPrint => 1,
AgentTicketForward => 1,
AgentTicketPrint => 1,
AgentTicketPhone => 1,
AgentTicketPhoneOutbound => 1,
AgentTicketCustomer => 1,
AgentTicketMove => 1,
AgentTicketOwner => 1,
AgentTicketResponsible => 1,
AgentTicketWatcher => 1,
AgentLinkObject => 1,
},
},
};
Como ves te pongo en rojo en la primera parte la propiedad requisito y la segunda la accion del ticket que quieres desactivar, todas estas ACL funcionan en carga de pagina (no dinamica) tenlo en cuenta por si quieres jugar con ellas en otras cosas como respuestas. Pero para tu caso es suficiente, aqui tienes una lista completa:

http://faq.otrs.org/otrs/public.pl?Acti ... ;ItemID=68

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
doriath
Znuny newbie
Posts: 15
Joined: 12 Apr 2012, 17:35
Znuny Version: 3.1.0

Re: Cerrar tickets

Post by doriath »

Gracias Miguel,

He probado el código que mandas pero no me funciona,

el botón cerrar sigue apareciendo. La idea es desactivarlo para algunos tickets que tengo marcados con tipo de estado eliminado,
en estos aparece el botón de cerrar, la idea es bloquear este botón y evitar que se pueda reabrir el ticket.

# current ticket match properties
Ticket => {
State => ['closed'],
}
},

Tal y como está no blouea el botón, ni tampoco por StateType ni por StatesIds => [...]

No se alguna otra sugerencia?

Doriath
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Cerrar tickets

Post by miguelmz »

Acabo de comprobarlo y funciona. A ver, creo que estas confundido en algunos aspectos:
  • - lo primero de todo el usuario root@localhost se salta la gran mayoria de las ACL, si estabas usando este para las pruebas es normal que no te funcionara porque eres el administrador.
    - si has añadido el ITSM o algun modulo extra el valor de tu estado cerrado puede haber variado, revisa el nombre del estado cerrado en la BBDD e inserta de nuevo la acl.
    - los tickets son creados con un propietario por defecto definido en la cola (por defecto el root), hasta que el agente no toma propiedad del ticket o realiza alguna accion, este no vera opciones adicionales (entre las que seencuentra cerrar).
Mete de nuevo esto, te lo he dado ya mas formateado.

Code: Select all

$Self->{TicketAcl}->{'ACL-Name-1'} = {

 # match properties
 Properties => {

  Frontend => {
 Action => ['AgentTicketZoom'],
 },
 # current ticket match properties
 Ticket => {
  State => ['Cerrado'],
 }

 },


 # return possible options (white list)
 Possible => {

 # possible action options
 Action => {
  AgentTicketClose => 0,
 },
 },
 };
Entra con un usuario agente nuevo con todos sus permisos, prueba y nos cuentas.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
doriath
Znuny newbie
Posts: 15
Joined: 12 Apr 2012, 17:35
Znuny Version: 3.1.0

Re: Cerrar tickets

Post by doriath »

OK, ya ha funcionado, he conseguido ocultar el botón para los tickets eliminados.

Era problema de usuario.


Doriath
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: Cerrar tickets

Post by miguelmz »

Me alegro :)

Si tienes tiempo, pon un solucionado al tema para aquellas personas que les pase lo mismo.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
doriath
Znuny newbie
Posts: 15
Joined: 12 Apr 2012, 17:35
Znuny Version: 3.1.0

Re: Cerrar tickets

Post by doriath »

miguelmz wrote:Me alegro :)

Si tienes tiempo, pon un solucionado al tema para aquellas personas que les pase lo mismo.

Un saludo.
En cuanto tenga un rato explico la experiencia

Saludos

Doriath
doriath
Znuny newbie
Posts: 15
Joined: 12 Apr 2012, 17:35
Znuny Version: 3.1.0

Re: Cerrar tickets

Post by doriath »

Saludos. lo prometido es deuda.

El problema de que no funcionara era por usar en un principio el usuario root@localhost, con un usuario admin o agente funciona sin problemas.

Otro fallo era que qería bloquear el botón para los tickets eliminados, al listarlos por estados nuevo, cerrado y eliminado confundí el removed por deleted....

El código quedó tal que así:

Code: Select all


# ticket acl
$Self->{TicketAcl}->{'ACL-Name-1'} = {
  # match properties
  Properties => {
    # current ticket match properties
    Ticket => {
       State => ['removed'],
    }
    },
      # return possible options (white list)
      Possible => {
        # possible action options
        Action => {
          AgentTicketLock => 1,
          AgentTicketZoom => 1,
          AgentTicketClose => 0,
          AgentTicketPending => 1,
          AgentTicketNote => 1,
          AgentTicketHistory => 1,
          AgentTicketPriority => 1,
          AgentTicketFreeText => 1,
          AgentTicketHistory => 1,
          AgentTicketCompose => 1,
          AgentTicketBounce => 1,
          AgentTicketPrint => 1,
          AgentTicketForward => 1,
          AgentTicketPrint => 1,
          AgentTicketPhone => 1,
          AgentTicketPhoneOutbound => 1,
          AgentTicketCustomer => 1,
          AgentTicketMove => 1,
          AgentTicketOwner => 1,
          AgentTicketResponsible => 1,
          AgentTicketWatcher => 1,
          AgentLinkObject => 1,
        },
     },
  };

Por lo demás funciona sin problemas.

Doriath
Locked