[Notice][Kernel::System::Ticket::TicketServiceSet] Permission denied on TicketID: 4128

English! place to talk about development, programming and coding
Post Reply
racagalro
Znuny newbie
Posts: 16
Joined: 27 May 2013, 15:58
Znuny Version: 3.3.1

[Notice][Kernel::System::Ticket::TicketServiceSet] Permission denied on TicketID: 4128

Post by racagalro »

In my OTRS 3.3.1 I have this error in system log file when I try to modified simultaneously Queue and Service in Agent Free Field modification screen. Only Queue field is actually moidifed in ticket params.
However if I modify first the Queue and validate screen, and after that I enter again the Free Field screen and I modify the Service, everithing works OK. However, this not solution for me because I don't want agents to modify all necessary fields in just one screen.


I've found that the message is generated in the following code inside Kernel::System::Ticket.pm

2207 if ( $Param{ServiceID} ne '' && !$ServiceList{ $Param{ServiceID} } ) {
2208 $Self->{LogObject}->Log(
2209 Priority => 'notice',
2210 Message => "Permission denied on TicketID: $Param{TicketID}!",
2211 );
2212 return;
2213 }

I've commented out these lines and now I can modify simultaneously both options and new values are written to ticket params. Everithing seems to work fine.

¿Is this a bug? ¿Am I doing something wrong?

Thanks and best regards
racagalro
Znuny newbie
Posts: 16
Joined: 27 May 2013, 15:58
Znuny Version: 3.3.1

Re: [Notice][Kernel::System::Ticket::TicketServiceSet] Permission denied on TicketID: 4128

Post by racagalro »

I forgot to tell here that I'm using ACLs to control the services that are displayed as function of the Queue name, following example in OTRS Admin Manual.

I've made a test taking off ACL code from Config.pm and the problem dissapears. I'va been able to change simultaneously bot Service and Queue.

When I configure ACLs, I guess that ServiceList variable is generated for the former Queue name. When I change Queue on the sreen, the drop-down list for Services is regenerated according with the ACL for the new Queue name (by the AJAX routine) but the variable ServiceList is not regenerated in Ticket.pm code. So, new service name doesn't appear on ServiceList.
If I validate the screen and recharge it, a new ServiceList is generated for the new Queue name (following the corresponding ACL) in Ticket.pm and the service is found in ServiceList variable. Thats the reason the second time it works.

Regards.
Post Reply