X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FShowRequestor;h=3e5f41fb9c1f52b162ad2d46c3aee1a40dea3afd;hb=43a06151e47d2c59b833cbd8c26d97865ee850b6;hp=b5d7c7dcbf5469611988f2c9870a596e1c9f106b;hpb=6587f6ba7d047ddc1686c080090afe7d53365bd4;p=freeside.git diff --git a/rt/share/html/Ticket/Elements/ShowRequestor b/rt/share/html/Ticket/Elements/ShowRequestor index b5d7c7dcb..3e5f41fb9 100755 --- a/rt/share/html/Ticket/Elements/ShowRequestor +++ b/rt/share/html/Ticket/Elements/ShowRequestor @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -45,61 +45,143 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<%PERL> -# Unsure sane default -unless ( @$conditions ) { - foreach (RT::Queue->ActiveStatusArray()) { - push @$conditions, { cond => "Status = '$_'", name => loc($_) }; - } -} -my $rows = 10; -my $has_right_adminusers = $session{'CurrentUser'}->HasRight( - Object => $RT::System, Right => 'AdminUsers' -); -$has_right_adminusers &&= $session{'CurrentUser'}->HasRight( - Object => $RT::System, Right => 'ShowConfigTab' -); -my $people = $Ticket->Requestors->UserMembersObj; -while ( my $requestor = $people->Next ) { - next if $requestor->Privileged; - my $name = $m->scomp('/Elements/ShowUser', User => $requestor); + <&| /Widgets/TitleBox, - title_href => $has_right_adminusers? RT->Config->Get('WebPath')."/Admin/Users/Modify.html?id=".$requestor->id: undef, - title_raw => loc("More about [_1]", $name), + title_raw => loc("More about the requestors"), class => 'ticket-info-requestor' &> +
+ +% while ( my $requestor = $people->Next ) { +

<& /Elements/ShowUser, User => $requestor &>

+
+ %# Additional information about this user. Empty by default. % $m->callback( requestor => $requestor, %ARGS, CallbackName => 'AboutThisUser' ); +<& ShowRequestorExtraInfo, Requestor => $requestor &> -<&|/l&>Comments about this user:
-<% ($requestor->Comments || loc("No comment entered about this user")) %>
+% if ( $ShowComments ) { +
+ <&|/l&>Comments about this user: + <% ($requestor->Comments || loc("No comment entered about this user")) %> +
+% } + +% if ( $ShowTickets ) { +
+ +% $index = 1; +% for my $status (@$status_order) { +% if ( $status eq $DefaultTicketsTab ) { +
+ <& $TicketTemplate, Requestor => $requestor &> +% } else { +
+ <&|/l&>Loading... +% } +
+% } +
+% } -<&|/l, $rows &>This user's [_1] highest priority tickets: -
    -%while (my $w=$tickets->Next) { -%my $uri = RT::URI->new( $session{'CurrentUser'} ); -%$uri->FromObject($w); -
  • <& /Elements/ShowLink, URI => $uri &>
  • -%} -
+% my $grouplimit = RT->Config->Get('MoreAboutRequestorGroupsLimit'); +% if ( $ShowGroups and defined $grouplimit ) { +
+ + <&|/l&>Groups this user belongs to + +% if ( $session{CurrentUser}->HasRight( Right => 'AdminUsers', Object => $RT::System ) && +% $session{CurrentUser}->HasRight( Right => 'ShowConfigTab', Object =>$RT::System ) ) { + [Config->Get('WebPath') . '/Admin/Users/Memberships.html?id=' . $requestor->id %> ><&|/l&>Edit] +% } + + <& /Elements/ShowMemberships, UserObj => $requestor, Limit => $grouplimit &> +
+% } -<&|/l&>Groups this user belongs to:
+% if ( $has_right_adminusers ) { + Modify this user +% } -<& /Elements/ShowMemberships, UserObj => $requestor &> +%# end of individual requestor details
+
+% } +%# end of requestors loop +
+<%INIT> +my $show_privileged = RT->Config->Get('ShowMoreAboutPrivilegedUsers'); -% } +my $people = $Ticket->Requestors->UserMembersObj; +$people->LimitToUnprivileged unless $show_privileged; + +my $count = $people->Count; +return unless $count; + +my $has_right_adminusers = $session{'CurrentUser'}->HasRight( + Object => $RT::System, Right => 'AdminUsers' +); +$has_right_adminusers &&= $session{'CurrentUser'}->HasRight( + Object => $RT::System, Right => 'ShowConfigTab' +); + +# Ticket list tabs +my $selected = -1; +$DefaultTicketsTab ||= RT->Config->Get('MoreAboutRequestorTicketList', $session{CurrentUser}) || 'Active'; +my $status_link_text = {Active => loc('Active Tickets'), + Inactive => loc('Inactive Tickets'), + All => loc('All Tickets')}; +my $status_order = [qw/Active Inactive All/]; +$m->callback( CallbackName => 'AddStatus', status_link_text => \$status_link_text, status_order => \$status_order ); + +unless ( $DefaultTicketsTab eq 'None' ) { + for (0 .. (@$status_order - 1)) { + $selected = $_ && last + if $status_order->[$_] eq $DefaultTicketsTab; + } +} + +my $TicketTemplate = "ShowRequestorTickets$DefaultTicketsTab"; +$TicketTemplate = "ShowRequestorTicketsActive" unless $m->comp_exists($TicketTemplate); + <%ARGS> $Ticket=>undef -$DisplayPath => "/Ticket/Display.html" -$conditions => [] +$DefaultTicketsTab => undef +$ShowComments => 1 +$ShowTickets => 1 +$ShowGroups => 1 +$Title => 'More about [_1]'