
Rafa, one question, if I make another file, for example ACL-HIDE.pm In which folder should I save it and how do I tell the OTRS to run it? (Sorry If I'm asking too many questions, it's my first ACL). On the code you pasted, you have 3 ACLs (1-hide-states, 2-hide-states, 3-hide-states). Does each one of them hides a state? -----Original Message----- From: dev-bounces@otrs.org [mailto:dev-bounces@otrs.org] On Behalf Of Josef1 Penzkofer Sent: miércoles, 28 de agosto de 2013 10:39 a.m. To: Development community of OTRS Subject: Re: [dev] Antw: Re: How to show only one ticket state hi, here is my complete example. I think, it could be nearly the same what you need. I created it in Config.pm I did following steps 1.) State State "closed successful" is created by default State "expired" is created by me. 2. New Queue for internal messages The Feature "Creating internal messages" is a copy of AgentTicketPhone This Feature is needed to inform our 1st Level-Agents about new topics. The internal messages are created in Queue "Meldungen" When closing a Ticket or such a message, by default an Agent could select the "NextState": - closed successfull - expired. The two following ACL (pasted in Config.pm) offers the following opportunities: a) Closing a Ticket an Agent can choose only the state "closed successful" b) Closing a Message an Agent can choose only the state "expired" # ACL Ticket schliessen $Self->{TicketAcl}->{'101-Ticket-Close'} = { # match properties Properties => { # current action match properties Frontend => { Action => ['AgentTicketClose'], }, # current Ticket match properties Ticket => { QueueID => [5, 6, 7, 10, 11, 12, 14, 15, 18], } }, Possible => { # possible ticket options (white list) Ticket => { State => ['closed successful'], }, }, }; # Ende: ACL Tickets schliessen # ACL Meldung schliessen $Self->{TicketAcl}->{'103-Message-Close'} = { # match properties Properties => { # current action match properties Frontend => { Action => ['AgentTicketClose'], }, # current Ticket match properties Ticket => { Queue => ['Meldungen'], }, }, Possible => { # possible ticket options (white list) Ticket => { State => ['expired'], }, }, }; # Ende: ACL Meldung schliessen
Guillermo Alberto Rosas Pereira
28.08.2013 16:32 >>> Actually, I just need it to work on AgentTicketPhone. The objective is to force our users to select ONLY one ticket state so that latter in the process, once that more information has been gathered, they can change the status to… let’s say, Open by XXXXX or Open with incomplete information or any other of the OPEN state types.
In the previous mail, Josef suggested to show only the open successful state… which is what I need ☺ my question with this code is how do I set it to work only on AgentTicketPhone? Should I paste it on the Config.pm or should I create another file just like Rafa said?
...
Possible => {
# possible ticket options (white list)
Ticket => {
State => ['OPEN SUCCESFUL'],
},
},
};
thanks a lot everybody
From: dev-bounces@otrs.org [mailto:dev-bounces@otrs.org] On Behalf Of Rafa Quiñonero Figuerola
Sent: miércoles, 28 de agosto de 2013 03:35 a.m.
To: Development community of OTRS
Subject: Re: [dev] Antw: Re: How to show only one ticket state
In which case do you exactly need that to hapen? You need, let's say, a condition to acomplish the ACL. Just that the frontend is AgentTicketPhone, is not going to work (please someone correct me if I'm wrong, because that has never worked for me either). You need some state or some condition to make it work, for example the previous state:
$Self->{TicketAcl}->{'1-hide-states'} = {
# match properties
Properties => {
# the current ticket state is:
Ticket => {
State => ['open successful','open','open by x', 'open by y' ],
},
},
# returned state
Possible => {
Ticket => {
State => ['closed successful'],
},
},
};
Now when the ticket has one of the states: 'open successful','open','open by x', 'open by y', the only next possible state will be 'closed succesful'. If it doesn't work, maybe there's another ACL overriding it, or some state is not perfectly written. PossibleNot would return all except the 'closed succesful'
state.
This should not go into Config.pm, create a new file, name it "LikeYouWant.pm"
and paste this:
package Kernel::Config::ACLs;
use strict;
use warnings;
... YOUR ACLs HERE ...
1; # End of file
Hope it helps, anything else just ask ;)
2013/8/28 Josef1 Penzkofer
Guillermo Alberto Rosas Pereira
mailto:guillermo.rosas@softtek.com> 28.08.2013 00:13 >>> Thanks guys! Here is my code, but… it’s not working. This is my first ACL so I took the one on the manual, paste it on the Config.pm but nothing happens (Just for testing purposes, if this works then I can tell the ACL to prevent the other states from showing on the Next Ticket State List).
$Self->{TicketAcl}->{'1-hide-states'} = {
# match properties
Properties => {
# the used frontend module
Frontend => {
Action => ['AgentTicketPhone'],
},
# current ticket match properties (match always)
},
# return possible options
PossibleNot => {
# possible ticket options
Ticket => {
State => ['closed successful'],
},
},
};
I’m wondering if the Config.pm is the only file I have to modify.
From: dev-bounces@otrs.orgmailto:dev-bounces@otrs.org
[mailto:dev-bounces@otrs.orgmailto:dev-bounces@otrs.org] On Behalf Of Rafa Quiñonero Figuerola
Sent: martes, 27 de agosto de 2013 03:22 a.m.
To: Development community of OTRS
Subject: Re: [dev] How to show only one ticket state
Yes, try it with the ACL, if you don't get it working send the code here and we'll take a look. We have used many ACLs for our system.
2013/8/27 Jan Řežab