1 %# BEGIN BPS TAGGED BLOCK {{{
5 %# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
6 %# <sales@bestpractical.com>
8 %# (Except where explicitly superseded by other copyright notices)
13 %# This work is made available to you under the terms of Version 2 of
14 %# the GNU General Public License. A copy of that license should have
15 %# been provided with this software, but in any event can be snarfed
18 %# This work is distributed in the hope that it will be useful, but
19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 %# General Public License for more details.
23 %# You should have received a copy of the GNU General Public License
24 %# along with this program; if not, write to the Free Software
25 %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26 %# 02110-1301 or visit their web page on the internet at
27 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
30 %# CONTRIBUTION SUBMISSION POLICY:
32 %# (The following paragraph is not intended to limit the rights granted
33 %# to you to modify and distribute this software under the terms of
34 %# the GNU General Public License and is only of importance to you if
35 %# you choose to contribute your changes and enhancements to the
36 %# community by submitting them to Best Practical Solutions, LLC.)
38 %# By intentionally submitting any modifications, corrections or
39 %# derivatives to this work, or any other work intended for use with
40 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41 %# you are the copyright holder for those contributions and you grant
42 %# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43 %# royalty-free, perpetual, license to use, copy, create derivative
44 %# works based on those contributions, and sublicense and distribute
45 %# those contributions and any derivatives thereof.
47 %# END BPS TAGGED BLOCK }}}
48 <table width="100%" class="ticket-summary">
50 <td valign="top" class="boxcontainer">
51 % $m->callback( %ARGS, CallbackName => 'LeftColumnTop' );
52 <&| /Widgets/TitleBox, title => loc('The Basics'),
53 (($can_modify || $can_modify_cf) ? (title_href => RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : ()),
54 class => 'ticket-info-basics',
55 &><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &></&>
57 <& /Elements/ShowCustomFieldCustomGroupings,
59 title_href => ($can_modify || $can_modify_cf) ? RT->Config->Get('WebPath')."/Ticket/Modify.html" : "",
62 <&| /Widgets/TitleBox, title => loc('Customers'),
63 #$can_modify_customers?
64 ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyCustomers.html?id=".$Ticket->Id) : ()),
65 class => 'ticket-info-customers',
66 &><& /Ticket/Elements/ShowCustomers, Ticket => $Ticket &></&>
68 <&| /Widgets/TitleBox, title => loc('People'),
69 (($can_modify || $can_modify_owner || $can_modify_people) ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$Ticket->Id) : ()),
70 class => 'ticket-info-people',
71 &><& /Ticket/Elements/ShowPeople, Ticket => $Ticket &></&>
72 <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments &>
73 % $m->callback( %ARGS, CallbackName => 'AfterAttachments' );
74 <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
75 % $m->callback( %ARGS, CallbackName => 'LeftColumn' );
77 <td valign="top" class="boxcontainer">
78 % $m->callback( %ARGS, CallbackName => 'RightColumnTop' );
79 % if ( RT->Config->Get('EnableReminders') ) {
80 <&|/Widgets/TitleBox, title => loc("Reminders"),
81 title_href => RT->Config->Get('WebPath')."/Ticket/Reminders.html?id=".$Ticket->Id,
82 class => 'ticket-info-reminders',
85 <form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
86 <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
91 <&| /Widgets/TitleBox, title => loc("Dates"),
92 ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyDates.html?id=".$Ticket->Id) : ()),
93 class => 'ticket-info-dates',
94 &><& /Ticket/Elements/ShowDates, Ticket => $Ticket &></&>
96 % push @extra, titleright_raw => '<a href="'. RT->Config->Get('WebPath'). '/Ticket/Graphs/index.html?id='.$Ticket->id.'">'.loc('Graph').'</a>' unless RT->Config->Get('DisableGraphViz');
97 % $m->callback( %ARGS, CallbackName => 'LinksExtra', extra => \@extra );
98 <&| /Widgets/TitleBox, title => loc('Links'),
99 ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyLinks.html?id=".$Ticket->Id) : ()),
100 class => 'ticket-info-links',
102 &><& /Elements/ShowLinks, Object => $Ticket &></&>
103 % $m->callback( %ARGS, CallbackName => 'RightColumn' );
109 $Attachments => undef
112 my $can_modify = $Ticket->CurrentUserHasRight('ModifyTicket');
113 my $can_modify_cf = $Ticket->CurrentUserHasRight('ModifyCustomField');
114 my $can_modify_owner = $Ticket->CurrentUserCanSetOwner();
115 my $can_modify_people = $Ticket->CurrentUserHasRight('Watch')
116 || $Ticket->CurrentUserHasRight('WatchAsAdminCc');