Changing the default login screen for a particular user

Hi. I was wondering whether someone could suggest a course of action
for me.

I have a specific login for a group of users. I basically only want them
to be able to SeeQueue. I have given this user such access for a
specific queue.

The idea of this user is just to be generic so that they can see the
status of requests and the number of requests in this queue.

Any ideas about how I can make the Search-Queue screen the default for
that particular login?

IE. I want the default screen on Login to be just the same as if they
had clicked on the particular queue on the right.

(basically a search with Queue and status New and Open)

I hope I have made myself clear? :wink:
Its incredibly late and months of 90 hour weeks aren’t good for anyone.
:frowning:

Thanks in advance
Dane

Dane Rapaport
Systems Administrator and All Round Nice Guy
Animal LOGIC, Fox Studios Australia
www.animallogic.com
p: +61 2 9383 4964
m: 0414 735 922

The idea of this user is just to be generic so that they can see the
status of requests and the number of requests in this queue.

Any ideas about how I can make the Search-Queue screen the default for
that particular login?

Caution - the following is a quick hack against my working RT
2.0.it-was-9-and-it-needs-a-fresh-install-by-now copy :wink:

There are two ways that you can do this. Both require changing the
WebRT/html/index.html file. Of course, if they’re following a direct link
into the RT system, this hack won’t fire (which is the expected
behaviour).

Firstly, you can hard-code for a particular username (eg, ‘guest’). Or,
you can hard-code for a particular type of user, in this case a user who
does not have the ‘ModifyTicket’ right. We’ll use the second method,
mainly because we also get the Queue identifier :wink:

In the above-mentioned file, add the following lines in place of the
existing include of Elements/Header .

% # Check to see whether this user only has SeeQueue enabled.
% # Actually, check whether this user can ModifyTickets, and do something
% # if they can't.
% # Get a listing of Queues that this user can 'see'.
% my $queues = new RT::Queues($session{'CurrentUser'});
% $queues->UnLimit();
% my $only_seeq = 1;
% my $first_name = undef;
    % # Iterate through the list (probably only one)
% while( my $this_queue = $queues->Next() ){
%       # Set the flag if we can modify this queue
%       $only_seeq = 0 if( $this_queue->CurrentUserHasRight('ModifyTicket') );
%       # Grab the id of the first Queue we see.
%       $first_name = $this_queue->Id unless( $this_queue->CurrentUserHasRight('ModifyTicket') || defined( $first_name ) );
% }
% if( $only_seeq > 0 && defined( $first_name ) ){
%   # We cannot modify any tickets in the Queues we can see.
%   # Refresh to the Search screen.
%   # Note that Elements/Header will not accept a '0' second refresh.
%   my $long_str = "1; Search/Listing.html?ValueOfStatus=open&ValueOfStatus=new&StatusOp=%3D&QueueOp=%3D&ValueOfQueue=" . $first_name . "&RowsPerPage=50&NewSearch=1";
    <& /Elements/Header, Title=>"Refresh", Refresh => "$long_str" &>
% }else{
        % # This is the original line.
    <& /Elements/Header, Title=>"Start page", Refresh => $session{'home_refresh_interval'} &>
% }

The effect of this is a 1 second refresh to the Listing page, when the
‘Home’ link is selected, or on entry to the RT system. If this isn’t
liked, a 0 second refresh can be obtained by editing Elements/Header.

Regards,

                         Bruce Campbell                            RIPE
               Systems/Network Engineer                             NCC
             www.ripe.net - PGP562C8B1B                      Operations