SeeSelfServiceGroupTicket guide

Hi, I’m looking into making SelfService available to a limited set of users.

there’s a page OnCreateSetDeptHeadCc - Request Tracker Wiki … but… a bit of digging looks like this is now “Core” in RT5… for example:

/opt/rt5/share/html/SelfService/Elements/
contains MyGroupRequests:

unless ( RT->Config->Get('SelfServiceShowGroupTickets')
         and $session{'CurrentUser'}->HasRight(Right => 'SeeSelfServiceGroupTicket', Object => $RT::System) ){
    return;

and in Admin, I can set:
Global-> (Group)->SeeSelfServiceGroupTicket

and:
Global->UserRights->(userXX)->SeeSelfServiceGroupTicket

and my test user is in the group that can access the queue that I’ve setup for testing.

and I’ve also updated RT_SiteConfig.pm

SelfServiceShowGroupTickets 1

and webgui confirms that variable is set.

My Self Service portal Now has a heading: “My group’s tickets”

but: there are no tickets in there. The group that I’m part of has permission to create/reply/watch/seequeue/showticket etc… is there something else that I need here?

Thank you,

Chris

Hi, no clue bats? The doco listed above doesn’t appear correct for v5, and I can’t find anything that discusses how to get this working as expected. i.e. “if a user in the desired group logs in, they can see the groups tickets”.

I’ve tried adding members to the group that are requestors on open tickets - that hasn’t helped either.

Thanks,

Chris

Found this topic while searching the same question. It helped and I could go on.

@Chris_Herrmann2 you described

  • Enable the ViewPane in SelfService with SelfServiceShowGroupTickets
  • Give the permission SeeSelfServiceGroupTicket via Global-, Group- or User-Object to see the ViewPane in SelfService

With this topic’s help I found:
The system does not look for tickets of other users in the same group, it looks for tickets related to the group.
So you missed to assign the group the user is member of to a ticket. I inserted my group as CC: in a ticket and it shows up in the SelfService “My group’s tickets”. (Didn’t know one can insert a group as CC:)

That is to do, too:

  • Create a group for the customer with appropriate members
  • Assign group as CC: to the tickets (With a scrip OnCreate)
  • Maybe give CC: the permission ShowTicket, didn’t tried without

Now i wonder how to use a Custom Role to show the tickets in SelfService because we don’t want all members to get emails. Only the Requestor should receive email an the other ones just need to see the ticket in Self Service.

A.

I’m failing to use a CustomRole for that.
Target is to enable the tickets for SelfService - Group’s tickets but do not send email on ticket-updates.

File: share/html/SelfService/Elements/MyGroupRequests uses:

    if ( $group ){
        $Query = "(( Watcher = " . $group->Id . " )";
    }

What to do to get the CustomRole as Watcher? Other solutions?
@knation, any idea :wink: You’re my big perl-guru.

regards, Andre.

Think there’s one too many open brackets in the above

No, the sniplet is just too small. With CC:it works.

if ( $groups_obj->Count ){
    my $group = $groups_obj->Next;

    # Confirm we got a group. Count can report available groups, but
    # if the current user doesn't have SeeGroup, it won't be loaded.
    if ( $group ){
        $Query = "(( Watcher = " . $group->Id . " )";
    }

    # Handle multiple groups
    while ( $group = $groups_obj->Next ){
        $Query .= " OR ( Watcher = " . $group->Id . " )";
    }

    $Query .= ")" if $Query;
}

Interesting, I still haven’t had a chance to write up notes, but we ended up fixing the actual underlying issue that was blocking us from using a regular login in the first place. To;dr one of the upgrades didn’t correctly update data type of a handful of records, which blocked the mysql query engine from using an index with them. This in turn meant that every query that accessed the table resulted in a full table scan… which was super slow and painful.