Tickets Assign staff to departments/categories

Often specific staff members are assigned to specific departments / categories. It would be useful if the helpdesk would have functionality to cater to this.

The basics are similar to adding a moderator to a node: /admin.php?moderators/
The admin will be able to add one or more staff members to a category and set moderator permissions.

Staff not assigned to a category will not see the tickets/replies/content in that category. Preferably not even see the category in the sidebar at all. Not any details about tickets / number of tickets in categories unassigned.

It's pertinent that if a staff member is not specifically assigned to a category, they will not have access to the category content. No matter if the user is administrator, supermoderator, etc.

Staff assigned to a category will see the tickets/replies/content/number of open tickets in that category.

Staff assigned to a category is responsible for processing the tickets in that category.
The number of open tickets in the moderator bar, relate to the number of open tickets in the categories that the staff member is assigned to.

The following members need this implemented:
@dadparvar
@chunkie
@freelancer
@fayettemat
 
Upvote 1
This mostly works now. The next build has a few more UI fixes.

To set it up, you'll need to go to ACP -> Applications -> Ticket Categories. On the categories, click the 'Permissions' link and then type in the username(s) in the top right and set appropriate permissions. When that user navigates to tickets/queue, they'll only see tickets in categories they have permissions to.

There's still one issue (navigation tab not functioning as expected) I'm trying to work around and it's mostly an XF1 limitation / design issue.
 
It’s not the ideal solution but I’ve baked a fix in that should finally implement everything needed for this.

And with that (and once I knock out the rest of the pending issues tomorrow), I think I’m ready to call this RC1. :)
 
It adds an extra query though I’m not sure if there’s much that can be done to avoid that. I’ve reached out to Chris to see if he knows of a solution that I’m missing but this very much seems like a design issue and the other devs I’ve spoke to were stumped too.
 
I spoke to Chris and he basically confirmed it was more of a design issue and his solution was basically what I'd already tried. Luckily though, I've come up with a better solution that avoids the query.

A global extra query or only for specific tickets pages?
It was global but I've since come up with a better way and now it's query-less. :)
 
Do I understand that if a user is staff and does not have explicit permissions they will see tickets in all departments?
 
It's the same as core XF. If you want explicit permissions, set the private category checkbox to on. From there, you grant permissions to users and groups as you see fit.
 
What you are describing are node permissions for normal members.
This is core xenforo functionality: /admin.php?moderators/ and more specifically the forum moderator drop down here: /admin.php?moderators/add

It would make sense to do the same for Tickets.
 
Yes, but you can achieve the same with user permissions for ticket categories.
 
Please read this ticket: Tickets - Fixed - Private Category should not appear in category navigation widget
While I do not dispute that how @Freelancer expects it to work is how it should work. But... if we need to use private categories in order to assign moderators to a category, then there is a conflict between the moderator viewing and user viewing.

When we assign a moderator to a category we want ONLY that moderator to view the category in the ticket queue.
We still want all users to see the category so they can submit tickets to the category.

But as freelancer points out, private categories should not display to all users. Only the groups that have explicit access.

So how do we assign a moderator to a category and hide the category from the queue for all other staff, while keeping the category visible for all users?

It seems to me that setting it to private does not work and we need a category permission to View category in Moderator Queue. Or have something similar to how you assign moderators to forums.
 
if we need to use private categories in order to assign moderators to a category, then there is a conflict between the moderator viewing and user viewing.

You can do this by setting this up for both the Mods and the Users:
View Category: Yes
Create Ticket: Yes
View Own Ticket: Yes
View Other Tickets: No

This would let all view the category structure at least. But then I wanted to hide the financial category structure from the mods, which I now think is absurd because if the users see it to select a category to create a ticket within, why shouldnt the Mods see it too... So the "private" category node seems a little bit redundant... hmmmm...
 
The problem is that we currently have two things working under the same permissions:
  1. Moderator queue (essentially a back end function)
  2. User front end.
Of course staff knows that the category exists. But moderator queues should not display content that the moderator cannot use. If a moderator is assigned to 1 out of 20 categories then he should not see and be able to click 19 categories with no permissions screens to find the one category he has access to.
 
If a moderator is assigned to 1 out of 20 categories then he should not see and be able to click 19 categories with no permissions screens to find the one category he has access to.
I've addressed this in the next build. Only the categories mods have mod perms in are shown on the queue.
 
Back
Top