ACLs Restricting SLAs Possible Bug

Moderator: crythias

Locked
dayjavid
Znuny newbie
Posts: 1
Joined: 01 May 2015, 15:34
Znuny Version: 4.0.6
Real Name: David
Company: N/A

ACLs Restricting SLAs Possible Bug

Post by dayjavid »

Intent:
I have 6 SLAs defined:
(0) None
(1) Low
(2) Medium
(3) High
(4) Critical
(5) SEV - 1

I need all users to, at least, have the ability to see:
(1) Low
(2) Medium
(3) High
(4) Critical

I need people that have the Role of 'Lead' to be able to also see:
(0) None

I need people that have the Role of 'Manager' to be able to also see:
(5) SEV - 1

I have a baseline ACL in place that is first in order and when it runs it removes:
(5) SEV - 1
(0) None

for Everyone.

See definition:

Code: Select all

  ConfigChange:
    PossibleNot:
      Ticket:
        Priority:
          - '(5) SEV - 1'
        SLA:
          - (5) SEV-1
          - (0) None
        Type:
          - Unclassified
  ConfigMatch:
    Properties: {}
Please note that the ACL for baseline removal of options also removes some Priority options. I want to note that because the problem affecting SLAs is not affecting Priorities

At this point, no one can see the (0) None or (5) SEV - 1 options.

I then have 2 ACLs created that add options back for specific roles.

Add options back to 'Lead'
Definition:

Code: Select all

  ConfigChange:
    PossibleAdd:
      Ticket:
        SLA:
          - (0) None
  ConfigMatch:
    PropertiesDatabase:
      User:
        Role:
          - Lead
Add options back to 'Manager'
Definition:

Code: Select all

  ConfigChange:
    Possible:
      Ticket:
        Priority:
          - '(5) SEV - 1'
          - (1) Low
          - (2) Medium
          - (3) High
          - (4) Critical
        SLA:
          - (4) Critical
          - (3) High
          - (2) Medium
          - (1) Low
          - (5) SEV-1
          - (0) None
  ConfigMatch:
    PropertiesDatabase:
      User:
        Role:
          - Manager
I was playing with Possible vs PossibleAdd to see if that fixed my problem. I've used both and neither made any difference to the issue I'm seeing

I have 1 other ACL defined that prevents closed successful tickets from having their state changed

Code: Select all

  ConfigChange:
    Possible:
      Ticket:
        State:
          - closed successful
  ConfigMatch:
    Properties:
      Ticket:
        State:
          - closed successful
This actually is the first ACL that gets run. The other 3 run after this, and they run in the order listed in the post.

This is when I start to notice trouble.

Outcome:
Using a user with the 'Lead' role, If I go to an existing ticket to add a Note, when I select the dropdown for SLA, I see the appropriate options:
(0) None
(1) Low
(2) Medium
(3) High
(4) Critical

However, if I make a selection there, or anywhere else on the page Type/Service/Priority/etc, some AJAX runs and re-populates the fields.
When this happens, I now only see:
(1) Low
(2) Medium
(3) High
(4) Critical
As available SLAs.

As mentioned, I am doing the same work with Priorities. They have the same names as the SLAs, and they match 1 to 1. Having replicated the same definitions for disallowing/allowing certain Priorities for certain Roles as exists for SLAs, the Priorities field does not get re-populated with fewer options.

This also happens when I give myself the Manager Role.
I initially will see:
(0) None
(1) Low
(2) Medium
(3) High
(4) Critical
(5) SEV - 1

But when I make a selection, the SLA list is repopulated to only show the first 4 baseline options (1-4).

I have tried making all ACL ConfigMatch settings to Properties, and then again all set to PropertiesDatabase. That does not affect my problem either.

I've read through the documentation on ACLs and it doesn't seem to give me any new info that would explain why the SLA field keeps getting repopulated.

I have verified that this is related to ACLs on some level by disabling the ACLs. I then see all SLA options, and when I make a selection nothing changes.
All ACL work I've done has been through the ACL gui tool in the Admin panel.
For each change I made, I did try to ensure that I had properly deployed my ACLs so that my test case would actually be in effect.
Locked