Changing default format of ticket list in queue?

Hi all,
Where would I go to change the default format for the list of tickets shown
when you click a queue name? Can this be done on a queue-by-queue basis, or
only as a modification to some template in share/html? I’d like to make
some global changes, but for a few queues, have the value of a
queue-specific CF in the list. Thanks for any suggestions.

Alex Hall
Automatic Distributors, IT department
ahall@autodist.com

Hi Alex,

Hi all,
Where would I go to change the default format for the list of tickets shown
when you click a queue name?

I presume you are talking about the Queue List?

Can this be done on a queue-by-queue basis, or

only as a modification to some template in share/html?

I don’t think there is anything out of the box that will do what you
want. That being said, we use a callback to tweak the output for just
a single queue.

Note: the path may be different for the callback file location due to
us running 4.2.

cat /opt/rt4/local/plugins/RT-Site-UMN-Duluth-QueueListTweaks/html/Callbacks/RT-Site-UMN-Duluth-QueueListTweaks/Elements/QueueSummaryByLifecycle/LinkBuilders

<%INIT>
my $umd_link_all = sub {
my ($queue, $all_statuses) = @_;
my @escaped = @{$all_statuses};

# People want to see resolved tickets in the calendar view
# of their QueueList - that is, for the Computer Management (CM) queue.
# Aside from this "if" statement, this sub routine was lifted from
# upstream's version.
if ($queue->{Name} eq 'CM') {
    push @escaped, 'resolved';
}

s{(['\\])}{\\$1}g for @escaped; #'# help out the syntax highlighting

my $search = ${$build_search_link}->(
    $queue->{Name},
    "(".join(" OR ", map "Status = '$_'", @escaped).")",
);

if ($queue->{Name} eq 'CM') {
    my @fields = map
        { "'<small>__${_}__</small>'" }
        (
            'Created',
            'Due',
            'Resolved',
            'Started',
            'Starts',
            'LastUpdated',
        )
    ;

    my $format = $m->interp->apply_escapes(
        join(',', @fields),
        'u',
    );
    $search .= '&Format='.$format;
}

return $search;

};

${$link_all} = $umd_link_all;
</%INIT>
<%ARGS>
$build_search_link
$link_all
$link_status
</%ARGS>

Enjoy,

-m

Sorry I wasn’t clear. I’m talking about the results when you view all
tickets for a certain queue. For instance, open a ticket in the Customer
Service queue, and somewhere on that page is the queue name as a link.
Clicking that link takes you to a page listing all active tickets in that
queue. That list of tickets is what I want to modify.

I didn’t realize until just now that the list is simply an automatic
search. I don’t know how to modify the results page for this search without
changing the results for any search. At least I have a place to start
now. I was thinking that queues had special pages listing their active
tickets, so I was looking for that template.On Mon, Jan 30, 2017 at 12:27 PM, Matt Zagrabelny mzagrabe@d.umn.edu wrote:

Hi Alex,

On Mon, Jan 30, 2017 at 11:18 AM, Alex Hall ahall@autodist.com wrote:

Hi all,
Where would I go to change the default format for the list of tickets
shown
when you click a queue name?

I presume you are talking about the Queue List?

Can this be done on a queue-by-queue basis, or

only as a modification to some template in share/html?

I don’t think there is anything out of the box that will do what you
want. That being said, we use a callback to tweak the output for just
a single queue.

Note: the path may be different for the callback file location due to
us running 4.2.

cat /opt/rt4/local/plugins/RT-Site-UMN-Duluth-QueueListTweaks/html/

Callbacks/RT-Site-UMN-Duluth-QueueListTweaks/Elements/
QueueSummaryByLifecycle/LinkBuilders
<%INIT>
my $umd_link_all = sub {
my ($queue, $all_statuses) = @_;
my @escaped = @{$all_statuses};

# People want to see resolved tickets in the calendar view
# of their QueueList - that is, for the Computer Management (CM) queue.
# Aside from this "if" statement, this sub routine was lifted from
# upstream's version.
if ($queue->{Name} eq 'CM') {
    push @escaped, 'resolved';
}

s{(['\\])}{\\$1}g for @escaped; #'# help out the syntax highlighting

my $search = ${$build_search_link}->(
    $queue->{Name},
    "(".join(" OR ", map "Status = '$_'", @escaped).")",
);

if ($queue->{Name} eq 'CM') {
    my @fields = map
        { "'<small>__${_}__</small>'" }
        (
            'Created',
            'Due',
            'Resolved',
            'Started',
            'Starts',
            'LastUpdated',
        )
    ;

    my $format = $m->interp->apply_escapes(
        join(',', @fields),
        'u',
    );
    $search .= '&Format='.$format;
}

return $search;

};

${$link_all} = $umd_link_all;
</%INIT>
<%ARGS>
$build_search_link
$link_all
$link_status
</%ARGS>

Enjoy,

-m

Alex Hall
Automatic Distributors, IT department
ahall@autodist.com

Hi Alex,

I didn’t check it in depth, but you may be interested in customizing this
Element using the “local” folder.

Also, for the links in the QueueList portlet in the dashboards, there is a
callback to define the link:

I hope it helps!

Marcos.2017-01-30 18:51 GMT+01:00 Alex Hall ahall@autodist.com:

Sorry I wasn’t clear. I’m talking about the results when you view all
tickets for a certain queue. For instance, open a ticket in the Customer
Service queue, and somewhere on that page is the queue name as a link.
Clicking that link takes you to a page listing all active tickets in that
queue. That list of tickets is what I want to modify.

I didn’t realize until just now that the list is simply an automatic
search. I don’t know how to modify the results page for this search without
changing the results for any search. At least I have a place to start
now. I was thinking that queues had special pages listing their active
tickets, so I was looking for that template.

On Mon, Jan 30, 2017 at 12:27 PM, Matt Zagrabelny mzagrabe@d.umn.edu wrote:

Hi Alex,

On Mon, Jan 30, 2017 at 11:18 AM, Alex Hall ahall@autodist.com wrote:

Hi all,
Where would I go to change the default format for the list of tickets
shown
when you click a queue name?

I presume you are talking about the Queue List?

Can this be done on a queue-by-queue basis, or

only as a modification to some template in share/html?

I don’t think there is anything out of the box that will do what you
want. That being said, we use a callback to tweak the output for just
a single queue.

Note: the path may be different for the callback file location due to
us running 4.2.

cat /opt/rt4/local/plugins/RT-Site-UMN-Duluth-QueueListTweaks/

html/Callbacks/RT-Site-UMN-Duluth-QueueListTweaks/
Elements/QueueSummaryByLifecycle/LinkBuilders
<%INIT>
my $umd_link_all = sub {
my ($queue, $all_statuses) = @_;
my @escaped = @{$all_statuses};

# People want to see resolved tickets in the calendar view
# of their QueueList - that is, for the Computer Management (CM)

queue.
# Aside from this “if” statement, this sub routine was lifted from
# upstream’s version.
if ($queue->{Name} eq ‘CM’) {
push @escaped, ‘resolved’;
}

s{(['\\])}{\\$1}g for @escaped; #'# help out the syntax highlighting

my $search = ${$build_search_link}->(
    $queue->{Name},
    "(".join(" OR ", map "Status = '$_'", @escaped).")",
);

if ($queue->{Name} eq 'CM') {
    my @fields = map
        { "'<small>__${_}__</small>'" }
        (
            'Created',
            'Due',
            'Resolved',
            'Started',
            'Starts',
            'LastUpdated',
        )
    ;

    my $format = $m->interp->apply_escapes(
        join(',', @fields),
        'u',
    );
    $search .= '&Format='.$format;
}

return $search;

};

${$link_all} = $umd_link_all;
</%INIT>
<%ARGS>
$build_search_link
$link_all
$link_status
</%ARGS>

Enjoy,

-m


Alex Hall
Automatic Distributors, IT department
ahall@autodist.com