diff options
Diffstat (limited to 'rt/html')
42 files changed, 553 insertions, 1371 deletions
diff --git a/rt/html/Admin/Elements/ModifyQueue b/rt/html/Admin/Elements/ModifyQueue deleted file mode 100644 index 36f9ce17f..000000000 --- a/rt/html/Admin/Elements/ModifyQueue +++ /dev/null @@ -1,78 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/TitleBoxStart, title => loc('Editing Configuration for queue [_1]', $QueueObj->Id) &> - -<FORM ACTION="<%$RT::WebPath%>/Admin/Queues/Modify.html" METHOD=POST> -<INPUT TYPE=HIDDEN NAME=id VALUE="<%$QueueObj->Id%>"> -<TABLE> -<TR><TD ALIGN=RIGHT> -<&|/l&>Queue Name</&>: -</TD> -<TD><INPUT name="Name" value="<%$QueueObj->Name%>"></TD> -</TR><TR> -<TD ALIGN=RIGHT> -<&|/l&>Description</&>:</TD><TD COLSPAN=3><INPUT name="Description" value="<%$QueueObj->Description%>" size=60></TD></TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Correspondence Address</&>: -</TD><TD> -<INPUT name="CorrespondAddress" value="<%$QueueObj->CorrespondAddress%>"> -</TD> -<TD ALIGN=RIGHT> - -<&|/l&>Comment Address</&>: </TD><TD> -<INPUT NAME="CommentAddress" value="<%$QueueObj->CommentAddress%>"> -</TD> -</TR><TR> - -<TD ALIGN=RIGHT> -<&|/l&>Priority starts at</&>: -</TD><TD><INPUT NAME="InitialPriority" value="<%$QueueObj->InitialPriority %>"> -</TD> -<TD ALIGN=RIGHT> -<&|/l&>Over time, priority moves toward</&>: -</TD><TD><INPUT NAME="FinalPriority" value="<%$QueueObj->FinalPriority %>"> -</TD> -</TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Requests should be due in</&>: -</TD><TD> -<INPUT NAME="DefaultDueIn" VALUE="<%$QueueObj->DefaultDueIn%>"> <&|/l&>days</&>. -</TD> -</TR> -</TABLE> -<& /Elements/Submit, Label => loc('Save Changes') &> -</form> -<& /Elements/TitleBoxEnd &> - -<%INIT> - -</%INIT> - -<%ARGS> - - -$QueueObj => undef -</%ARGS> diff --git a/rt/html/Admin/Elements/ModifyUser b/rt/html/Admin/Elements/ModifyUser deleted file mode 100644 index 2faefefaa..000000000 --- a/rt/html/Admin/Elements/ModifyUser +++ /dev/null @@ -1,99 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/TitleBoxStart, title => loc('Editing Configuration for user [_1]', $UserObj->Name) &> - -<FORM ACTION="<%$RT::WebPath%>/Admin/Users/Modify.html" METHOD=POST> -<INPUT TYPE=HIDDEN NAME=id VALUE="<%$UserObj->Id%>"> - -<&|/l&>Name</&>: <input name="Name" value="<%$UserObj->Name%>"> -<BR> -<&|/l&>New Password</&>: <input type=password name="Pass1"><BR> -<&|/l&>Retype Password</&>: <input type=password name="Pass2"><BR> - -<&|/l&>Comments</&>: <TEXTAREA name="Comments" COLS=80 ROWS=5 WRAP=VIRTUAL> -<%$UserObj->Comments%></TEXTAREA> - -<BR> -<&|/l&>Signature</&>: <TEXTAREA COLS=80 ROWS=5 name="Signature" WRAP=HARD> -<%$UserObj->Signature%></TEXTAREA> -<BR> -<&|/l&>EmailAddress</&>: <input name="EmailAddress" value="<%$UserObj->EmailAddress%>"> -<BR> -<&|/l&>FreeformContactInfo</&>: <input name="FreeformContactInfo" value="<%$UserObj->FreeformContactInfo%>"> -<BR> -<&|/l&>Organization</&>: <input name="Organization" value="<%$UserObj->Organization%>"> -<BR> -<&|/l&>RealName</&>: <input name="RealName" value="<%$UserObj->RealName%>"> -<BR> -<&|/l&>NickName</&>: <input name="NickName" value="<%$UserObj->NickName%>"> -<BR> -<&|/l&>Lang</&>: <input name="Lang" value="<%$UserObj->Lang%>"> -<BR> -<&|/l&>EmailEncoding</&>: <input name="EmailEncoding" value="<%$UserObj->EmailEncoding%>"> -<BR> -<&|/l&>WebEncoding</&>: <input name="WebEncoding" value="<%$UserObj->WebEncoding%>"> -<BR> -<&|/l&>ExternalContactInfoId</&>: <input name="ExternalContactInfoId" value="<%$UserObj->ExternalContactInfoId%>"> -<BR> -<&|/l&>ContactInfoSystem</&>: <input name="ContactInfoSystem" value="<%$UserObj->ContactInfoSystem%>"> -<BR> -<&|/l&>UnixUsername</&>: <input name="Gecos" value="<%$UserObj->Gecos%>"> -<BR> -<&|/l&>ExternalAuthId</&>: <input name="ExternalAuthId" value="<%$UserObj->ExternalAuthId%>"> -<BR> -<&|/l&>AuthSystem</&>: <input name="AuthSystem" value="<%$UserObj->AuthSystem%>"> -<BR> -<&|/l&>HomePhone</&>: <input name="HomePhone" value="<%$UserObj->HomePhone%>"> -<BR> -<&|/l&>WorkPhone</&>: <input name="WorkPhone" value="<%$UserObj->WorkPhone%>"> -<BR> -<&|/l&>MobilePhone</&>: <input name="MobilePhone" value="<%$UserObj->MobilePhone%>"> -<BR> -<&|/l&>PagerPhone</&>: <input name="PagerPhone" value="<%$UserObj->PagerPhone%>"> -<BR> -<&|/l&>Address1</&>: <input name="Address1" value="<%$UserObj->Address1%>"> -<BR> -<&|/l&>Address2</&>: <input name="Address2" value="<%$UserObj->Address2%>"> -<BR> -<&|/l&>City</&>: <input name="City" value="<%$UserObj->City%>"> -<BR> -<&|/l&>State</&>: <input name="State" value="<%$UserObj->State%>"> -<BR> -<&|/l&>Zip</&>: <input name="Zip" value="<%$UserObj->Zip%>"> -<BR> -<&|/l&>Country</&>: <input name="Country" value="<%$UserObj->Country%>"> -<BR> -<& /Elements/Submit, Label => loc('Save Changes') &> -</form> -<& /Elements/TitleBoxEnd &> - -<%INIT> - -</%INIT> - -<%ARGS> - - -$UserObj => undef -</%ARGS> diff --git a/rt/html/Admin/Global/CustomField.html b/rt/html/Admin/Global/CustomField.html deleted file mode 100644 index 3871d8998..000000000 --- a/rt/html/Admin/Global/CustomField.html +++ /dev/null @@ -1,86 +0,0 @@ -%# {{{ BEGIN BPS TAGGED BLOCK -%# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC -%# <jesse@bestpractical.com> -%# -%# (Except where explicitly superseded by other copyright notices) -%# -%# -%# LICENSE: -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# You should have received a copy of the GNU General Public License -%# along with this program; if not, write to the Free Software -%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -%# -%# -%# CONTRIBUTION SUBMISSION POLICY: -%# -%# (The following paragraph is not intended to limit the rights granted -%# to you to modify and distribute this software under the terms of -%# the GNU General Public License and is only of importance to you if -%# you choose to contribute your changes and enhancements to the -%# community by submitting them to Best Practical Solutions, LLC.) -%# -%# By intentionally submitting any modifications, corrections or -%# derivatives to this work, or any other work intended for use with -%# Request Tracker, to Best Practical Solutions, LLC, you confirm that -%# you are the copyright holder for those contributions and you grant -%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -%# royalty-free, perpetual, license to use, copy, create derivative -%# works based on those contributions, and sublicense and distribute -%# those contributions and any derivatives thereof. -%# -%# }}} END BPS TAGGED BLOCK -<& /Admin/Elements/Header, Title => $title &> -<& /Admin/Elements/SystemTabs, - current_tab => 'Admin/Global/CustomFields.html', - current_subtab => $current_subtab, - subtabs => $subtabs, - Title => $title &> - -<& /Admin/Elements/EditCustomField, title => $title, %ARGS &> - -<%INIT> -my ($title, $current_subtab); - -my $subtabs = { - A => { title => loc('Select custom field'), - path => "Admin/Global/CustomFields.html" - }, - B => { title => loc('New custom field'), - path => "Admin/Global/CustomField.html?create=1&Queue=0", - separator => 1, - } - }; -if ( $ARGS{'create'} ) { - $current_subtab = "Admin/Global/CustomField.html?create=1&Queue=0"; - $title = loc('Create a CustomField which applies to all queues'); -} -else { - $current_subtab = - "Admin/Global/CustomField.html?CustomField=" . $CustomField . "&Queue=0"; - $title = loc('Modify a CustomField which applies to all queues'); - $subtabs->{"C"} = { - title => loc( 'Custom Field #[_1]', $CustomField ), - path => "Admin/Global/CustomField.html?CustomField=" . $CustomField . "&Queue=0" - }; -} -</%INIT> -<%ARGS> -$CustomField => undef -</%ARGS> -<%ATTR> -AutoFlush => 0 -</%ATTR> diff --git a/rt/html/Admin/Global/CustomFields.html b/rt/html/Admin/Global/CustomFields.html deleted file mode 100644 index 593040218..000000000 --- a/rt/html/Admin/Global/CustomFields.html +++ /dev/null @@ -1,69 +0,0 @@ -%# {{{ BEGIN BPS TAGGED BLOCK -%# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC -%# <jesse@bestpractical.com> -%# -%# (Except where explicitly superseded by other copyright notices) -%# -%# -%# LICENSE: -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# You should have received a copy of the GNU General Public License -%# along with this program; if not, write to the Free Software -%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -%# -%# -%# CONTRIBUTION SUBMISSION POLICY: -%# -%# (The following paragraph is not intended to limit the rights granted -%# to you to modify and distribute this software under the terms of -%# the GNU General Public License and is only of importance to you if -%# you choose to contribute your changes and enhancements to the -%# community by submitting them to Best Practical Solutions, LLC.) -%# -%# By intentionally submitting any modifications, corrections or -%# derivatives to this work, or any other work intended for use with -%# Request Tracker, to Best Practical Solutions, LLC, you confirm that -%# you are the copyright holder for those contributions and you grant -%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -%# royalty-free, perpetual, license to use, copy, create derivative -%# works based on those contributions, and sublicense and distribute -%# those contributions and any derivatives thereof. -%# -%# }}} END BPS TAGGED BLOCK -<& /Admin/Elements/Header, Title => $title &> -<& /Admin/Elements/SystemTabs, - current_tab => 'Admin/Global/CustomFields.html', - current_subtab => 'Admin/Global/CustomFields.html', - subtabs => $subtabs, - Title => $title &> - -<& /Admin/Elements/EditCustomFields, title => $title, %ARGS &> - -<%INIT> -my $subtabs = { - A => { title => loc('Select custom field'), - path => "Admin/Global/CustomFields.html" - }, - B => { title => loc('New custom field'), - path => "Admin/Global/CustomField.html?create=1&Queue=0", - separator => 1, - } - }; -my $title = loc("Modify Custom Fields which apply to all queues"); -</%INIT> -<%ARGS> -$id => undef -</%ARGS> diff --git a/rt/html/Admin/Users/Prefs.html b/rt/html/Admin/Users/Prefs.html deleted file mode 100644 index 0bba9fadd..000000000 --- a/rt/html/Admin/Users/Prefs.html +++ /dev/null @@ -1,122 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => loc("User view") &> - -<& /Elements/ViewUser, User=>$u &> - -<h2 class="title"><%loc("User view")%></h2> - -%if ($session{CurrentUser} && ($session{CurrentUser}->Id == $id)) { - <& /Elements/TitleBoxStart, title => loc('Signature') &> -<form method=post> -<input type="hidden" name="id" value=<%$id%>> -<TEXTAREA COLS=72 ROWS=4 WRAP=HARD NAME="Signature"><% $u->Signature %></TEXTAREA><br><br> -<input type="submit" value="<&|/l&>Update signature</&>"> -</form> - <& /Elements/TitleBoxEnd &> - <form method=post> - <&|/l&>Open tickets (from listing) in another window</&>: <input type="checkbox" name="NewWindowOption" <%exists $session{NewWindowOption} && "CHECKED"%>><br> - <&|/l&>Open tickets (from listing) in a new window</&>: <input type="checkbox" name="AlwaysNewWindowOption" <%exists $session{AlwaysNewWindowOption} && "CHECKED"%>><br> - <input type="submit" name="NewWindowSetting" value="<&|/l&>New window setting</&>"> - </form> -%} - - <& /Elements/TitleBoxStart, title => loc('Email') &> -<form method=post> -<input type="hidden" name="id" value="<%$id%>"> -<input name="Email" value="<% $u->EmailAddress %>"><input type="submit" value="<&|/l&>Update email</&>"> -</form> - <& /Elements/TitleBoxEnd &> - <& /Elements/TitleBoxStart, title => loc('Real Name') &> -<form method=post> -<input type="hidden" name="id" value="<%$id%>"> -<input name="RealName" value="<% $u->RealName %>"><input type="submit" value="<&|/l&>Update name</&>"> -</form> - <& /Elements/TitleBoxEnd &> - - <& /Elements/TitleBoxStart, title => loc('User ID') &> -<form method=post> -<input type="hidden" name="id" value="<%$id%>"> -<input name="Name" value="<% $u->Name %>"><input type="submit" value="<&|/l&>Update ID</&>"> -</form> - <& /Elements/TitleBoxEnd &> - -%# TODO: alternative email addresses + merging users - -<%ARGS> -$id => $session{CurrentUser} ? $session{CurrentUser}->Id : 0 -$Signature => undef -$Email => undef -$RealName => undef -$Name => undef -</%ARGS> - -<%INIT> -require RT::User; -my $u=RT::User->new($session{CurrentUser}); -$u->Load($id) || die loc("Couldn't load that user ([_1])", $id); -if ($Signature) { -my ($val, $msg)=$u->SetSignature($Signature); -$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg); -} - -if ($Email) { -my ($val, $msg)=$u->SetEmailAddress($Email); -$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg); -} - -if ($RealName) { -my ($val, $msg)=$u->SetRealName($RealName); -$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg); -} - -if ($Name) { -my ($val, $msg)=$u->SetName($Name); -$RT::Logger->log(level=>($val ? 'info' : 'error'), message=>$msg); -} - -if ($ARGS{NewWindowSetting}) { -if ($ARGS{NewWindowOption}) { -$session{NewWindowOption}=1; -} else { -delete $session{NewWindowOption}; -} -if ($ARGS{AlwaysNewWindowOption}) { -$session{NewWindowOption}=1; -$session{AlwaysNewWindowOption}=1; -} else { -delete $session{AlwaysNewWindowOption}; -} -} - -</%INIT> - - - - - - - - - diff --git a/rt/html/Elements/CollectionAsTable/Row b/rt/html/Elements/CollectionAsTable/Row index 0de362ea8..3316bc027 100644 --- a/rt/html/Elements/CollectionAsTable/Row +++ b/rt/html/Elements/CollectionAsTable/Row @@ -71,7 +71,6 @@ foreach my $column (@Format) { $item++; $m->out('<td class="collection-as-table" '); $m->out( 'align="' . $column->{align} . '"' ) if ( $column->{align} ); - $m->out( 'style="' . $column->{style} . '"' ) if ( $column->{style} ); $m->out('>'); foreach my $subcol ( @{ $column->{output} } ) { if ( $subcol =~ /^__(.*?)__$/o ) { diff --git a/rt/html/Elements/Footer b/rt/html/Elements/Footer index 4c90acfa3..78a116f38 100644 --- a/rt/html/Elements/Footer +++ b/rt/html/Elements/Footer @@ -50,6 +50,7 @@ <td> % } <& /Elements/Callback, %ARGS &> +<!-- <div class="bpscredits"> <&|/l, '»|«', $RT::VERSION, '2005', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>', &>[_1] RT [_2] Copyright 1996-[_3] [_4].</&><br> % if (!$Menu) { @@ -57,6 +58,7 @@ <&|/l, '<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>' &>To inquire about support, training, custom development or licensing, please contact [_1].</&><br> % } </div> +--> % if ($Debug >= 2 ) { % require Data::Dumper; % my $d = Data::Dumper->new([\%ARGS], [qw(%ARGS)]); diff --git a/rt/html/Elements/FreesideInvoiceSearch b/rt/html/Elements/FreesideInvoiceSearch new file mode 100644 index 000000000..3842b2ff9 --- /dev/null +++ b/rt/html/Elements/FreesideInvoiceSearch @@ -0,0 +1,20 @@ +% if ( $FS::CurrentUser::CurrentUser->access_right('View invoices') ) { + + <form action="<% $RT::URI::freeside::URL %>/search/cust_bill.html" STYLE="margin:0"> + <SCRIPT TYPE="text/javascript"> + function clearhint_search_invoice (what) { + if ( what.value == '(inv #)' ) + what.value = ''; + } + </SCRIPT> + <input name="invnum" accesskey="0" VALUE="(inv #)" SIZE="4" onFocus="clearhint_search_invoice(this);" onClick="clearhint_search_invoice(this);" STYLE="text-align:right; margin-bottom:1px; font-family: Arial, Verdana, Helvetica, sans-serif;"> + +% if ( $FS::CurrentUser::CurrentUser->access_right('List invoices') ) { + <A HREF="<% $RT::URI::freeside::URL %>search/report_cust_bill.html" STYLE="color: #ffffff; font-size: 70%; font-weight:normal">Advanced</A> +% } + <BR> + + <input type="submit" value="<&|/l&>Search invoices</&>" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:70%"> + </form> + +% } diff --git a/rt/html/Elements/FreesideNewCust b/rt/html/Elements/FreesideNewCust new file mode 100644 index 000000000..c752437da --- /dev/null +++ b/rt/html/Elements/FreesideNewCust @@ -0,0 +1,3 @@ +<form action="<% $RT::URI::freeside::URL %>/edit/cust_main.cgi" STYLE="margin:0"> +<INPUT TYPE="submit" VALUE="<&|/l&>New customer</&>" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;"> +</FORM> diff --git a/rt/html/Elements/FreesideSearch b/rt/html/Elements/FreesideSearch new file mode 100644 index 000000000..99b8da072 --- /dev/null +++ b/rt/html/Elements/FreesideSearch @@ -0,0 +1,11 @@ +<form action="<% $RT::URI::freeside::URL %>/search/cust_main.cgi" STYLE="margin:0"> + <SCRIPT TYPE="text/javascript"> + function clearhint_search_cust (what) { + if ( what.value == '(cust #, name, company or phone)' ) + what.value = ''; + } + </SCRIPT> +<input name="search_cust" accesskey="0" VALUE="(cust #, name, company or phone)" SIZE="28" onFocus="clearhint_search_cust(this);" onClick="clearhint_search_cust(this);" STYLE="text-align:right; font-family: Arial, Verdana, Helvetica, sans-serif;"><BR> +<A HREF="<% $RT::URI::freeside::URL %>/search/cust_main.html" STYLE="color: #000000; font-size: 70%; font-weight:normal">Advanced</A> +<input type="submit" value="<&|/l&>Search customers</&>" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:70%"> +</form> diff --git a/rt/html/Elements/FreesideSvcSearch b/rt/html/Elements/FreesideSvcSearch new file mode 100644 index 000000000..e9ad56426 --- /dev/null +++ b/rt/html/Elements/FreesideSvcSearch @@ -0,0 +1,11 @@ +<form action="<% $RT::URI::freeside::URL %>/search/svc_Smart.html" STYLE="margin:0"> + <SCRIPT TYPE="text/javascript"> + function clearhint_search_svc (what) { + if ( what.value == '(user, user@domain or domain)' ) + what.value = ''; + } + </SCRIPT> +<input name="search_svc" accesskey="0" VALUE="(user, user@domain or domain)" SIZE="26" onFocus="clearhint_search_svc(this);" onClick="clearhint_search_svc(this);" STYLE="text-align:right; font-family: Arial, Verdana, Helvetica, sans-serif;"><BR> + <A HREF="<% $RT::URI::freeside::URL %>search/svc_Smarter.html" STYLE="color: #000000; font-size: 70%; font-weight:normal">Advanced</A> +<input type="submit" value="<&|/l&>Search services</&>" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:70%"> +</form> diff --git a/rt/html/Elements/Header b/rt/html/Elements/Header index f5a616ece..c1bc92afd 100644 --- a/rt/html/Elements/Header +++ b/rt/html/Elements/Header @@ -47,14 +47,12 @@ <HTML> <HEAD> <TITLE><%$Title%></TITLE> -% if ($Refresh && $Refresh > 0) { +% if ($Refresh > 0) { <META HTTP-EQUIV="REFRESH" CONTENT="<%$Refresh%>"> % } -<link rel="shortcut icon" href="<%$RT::WebImagesURL%>/favicon.png" type="image/png" /> -<link media="all" rel="stylesheet" href="<%$RT::WebPath%>/NoAuth/webrt.css" type="text/css" /> -<link media="print" rel="stylesheet" href="<%$RT::WebPath%>/NoAuth/printrt.css" type="text/css" /> - +<link rel="shortcut icon" href="<%$RT::WebImagesURL%>/favicon.png" type="image/png"> +<link rel="stylesheet" href="<%$RT::WebPath%>/NoAuth/webrt.css" type="text/css"> <script> function hideshow(num) { idstring = "element-" + num; @@ -69,7 +67,7 @@ function hideshow(num) { </script> <& /Elements/Callback, _CallbackName => 'Head', %ARGS &> </HEAD> -<BODY BGCOLOR="<%$BgColor%>" +<BODY BACKGROUND="<% $RT::URI::freeside::URL %>/images/background-cheat.png" STYLE="margin-top:0; margin-bottom:0; margin-left:0; margin-right:0" % if ($Focus) { ONLOAD=" var tmp = (document.getElementsByName('<% $Focus %>')); @@ -77,14 +75,15 @@ ONLOAD=" " % } > -<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> +<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF" STYLE="padding-left:0; padding-right:4"> <tr> - <td colspan=2><a href="http://bestpractical.com"><img src="<%$RT::WebImagesURL%>/bplogo.gif" alt="<%loc("Best Practical Solutions, LLC corporate logo")%>" width="230" height="50"></a></td> - <td> </td> - <td> </td> - <td width="50%" align="right"> + <td colspan=2 rowspan=2><img border=0 alt="freeside" src="<%$RT::WebImagesURL%>/small-logo.png" width="92" height="62"></td> + <td align="left" rowspan=2><font size=6><% &RT::URI::freeside::FreesideGetConfig('company_name') || 'ExampleCo' %></font></td> + <td align="right" valign="top"> % if ($session{'CurrentUser'} && $session{'CurrentUser'}->Id && $LoggedIn) { <SPAN STYLE="display: none"><A HREF="#skipnav"><&|/l&>Skip Menu</&></A> |</SPAN> +<&|/l, "<b>".$session{'CurrentUser'}->Name."</b>" &>Logged in as [_1]</&> +<BR> %if ($session{'CurrentUser'}->HasRight( Right => 'ModifySelf', Object => $RT::System )) { <A HREF="<%$RT::WebPath%><% $Prefs %>" ><&|/l&>Preferences</&></A> % } @@ -92,18 +91,42 @@ ONLOAD=" % unless ($RT::WebExternalAuth and !$RT::WebFallbackToInternalAuth) { | <A HREF="<%$RT::WebPath%>/NoAuth/Logout.html<%$URL ? "?URL=".$URL : ''%>"><&|/l&>Logout</&></a> % } -<BR> -<&|/l, "<b>".$session{'CurrentUser'}->Name."</b>" &>Logged in as [_1]</&> % } else { <&|/l&>Not logged in.</&> % } </td> + + </tr> + <tr> + + <td align=right valign=bottom> + <table> + <tr> + <td align=right> + <FONT SIZE="-3"> + <A HREF="http://www.sisd.com/freeside">Freeside</A> v<% &RT::URI::freeside::FreesideVersion() %><BR> + <A HREF="../docs/">Documentation</A><BR> + </FONT> + </td> + <td bgcolor=#000000></td> + <td align=left> + <FONT SIZE="-3"> + <A HREF="http://www.bestpractical.com/rt">RT</A> v<% $RT::VERSION %><BR> + <A HREF="http://wiki.bestpractical.com/">Documentation</A><BR> + </FONT> + </td> + + </tr> + </table> + </td> + </tr> </table> <%INIT> $r->headers_out->{'Pragma'} = 'no-cache'; $r->headers_out->{'Cache-control'} = 'no-cache'; +require RT::URI::freeside; </%INIT> <%ARGS> diff --git a/rt/html/Elements/PageLayout b/rt/html/Elements/PageLayout index 3d7241dad..f13ee0dda 100644 --- a/rt/html/Elements/PageLayout +++ b/rt/html/Elements/PageLayout @@ -43,32 +43,43 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<table class="darkblue" border=0 cellspacing=0 cellpadding=0 width="100%"> - <th class="titlebox" align="left"><span class="rtname"><%$AppName%></span> - </th> +<table class="black" border=0 cellspacing=0 cellpadding=0 width="100%"> +<tr> + <TD colspan=5 WIDTH="100%" STYLE="padding:0"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gradient.png" HEIGHT="13" WIDTH="100%"></TD> +</tr> +<tr> +%# <th class="black" align="left" width=15%><span class="rtname"><%$AppName%></span> +%# </th> <span class="topactions"> -% foreach my $action (sort keys %{$topactions}) { - <td class="darkblueright"> +% my $notfirst = 0; foreach my $action (sort keys %{$topactions}) { + <td class="blackright" ALIGN="right" VALIGN="center"> <%$topactions->{"$action"}->{'html'} |n %> </td> % } </span> +</tr> </table> <table border=0 cellspacing=0 cellpadding=0 width="100%" height="100%"> +<TR> + <TD BGCOLOR="#000000" STYLE="padding:0" WIDTH="154"></TD> + <TD STYLE="padding:0" WIDTH="13"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-corner.png"></TD> + <TD STYLE="padding:0"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-top.png" HEIGHT="13" WIDTH="100%"></TD> +</TR> %# Vertical menu <TR height="100%"> -<TD valign="top" width="140" class="blue"> +<TD valign="top" width="140" class="black"> <& /Elements/Menu, toptabs => $toptabs, current_toptab => $current_toptab &> </TD> +<TD STYLE="padding:0" HEIGHT="100%" WIDTH=13 VALIGN="top"><IMG WIDTH="13" HEIGHT="100%" BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-side.png"></TD> <td valign="top"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> - <td class="blue" valign="top"> + <td class="<% $actions ? 'darkmediumgray' : 'bggray' %>" valign="top"> <span class="title"><%$title%></span> </td> </tr> <tr> -<td class="blueright" valign="top"> +<td class="<% $actions ? 'darkmediumgrayright' : 'bggrayright' %>" valign="top"> <span class="nav"> % if ($actions) { % my @actions; @@ -79,7 +90,8 @@ % push @actions, qq|<a class="nav" href="|.$RT::WebPath."/".$actions->{$action}->{'path'}.qq|">|.$actions->{$action}->{'title'}."</a>"; % } % } -<% join(" | ", @actions) | n %> +%#<% join(" | ", @actions) | n %> +<% '['. join("] [", @actions). '] ' | n %> % if ($subactions) { % my @actions; % foreach my $action (sort keys %{$subactions}) { @@ -118,5 +130,5 @@ $tabs => undef $actions => undef $subactions => undef $title => $m->callers(-1)->path -$AppName => undef +$AppName => '' </%ARGS> diff --git a/rt/html/Elements/ShadedBox b/rt/html/Elements/ShadedBox deleted file mode 100644 index 36b9cae7c..000000000 --- a/rt/html/Elements/ShadedBox +++ /dev/null @@ -1,33 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<table> - <tr> - <td class="label"><%$title |n %>:</td> - <td class="value"><%$content |n %></td> - </tr> -</table> -<%ARGS> -$title => undef -$content => " " -</%ARGS> diff --git a/rt/html/Elements/ShadedInputRow b/rt/html/Elements/ShadedInputRow deleted file mode 100644 index e9fb69e5f..000000000 --- a/rt/html/Elements/ShadedInputRow +++ /dev/null @@ -1,35 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<tr> - <td class="label"><%$title |n %>:</td> - <td class="value"> - <input name=<%$name%> value="<%$content|h%>" SIZE=<%$size%>> - </td> -</tr> -<%ARGS> -$title => undef -$content => " " -$name => undef -$size => undef -</%ARGS> diff --git a/rt/html/Elements/ShadedRow b/rt/html/Elements/ShadedRow deleted file mode 100644 index 8947fcd82..000000000 --- a/rt/html/Elements/ShadedRow +++ /dev/null @@ -1,31 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<tr> - <td class="label"><%$title |n %>:</td> - <td class="value"><%$content |n %></td> -</tr> -<%ARGS> -$title => undef -$content => " " -</%ARGS> diff --git a/rt/html/Elements/SimpleSearch b/rt/html/Elements/SimpleSearch index 2b34d3a24..e9fc5c6ed 100644 --- a/rt/html/Elements/SimpleSearch +++ b/rt/html/Elements/SimpleSearch @@ -43,7 +43,14 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<form action="<% $RT::WebPath %>/index.html"> -<input size="12" name="q" autocomplete="off" accesskey="0"> -<input type="submit" value="<&|/l&>Search</&>"> +<form action="<% $RT::WebPath %>/index.html" STYLE="margin:0"> +<SCRIPT TYPE="text/javascript"> + function clearhint_search_ticket (what) { + if ( what.value == '(ticket # or subject string)' ) + what.value = ''; + } +</SCRIPT> +<input name="q" accesskey="0" VALUE="(ticket # or subject string)" onFocus="clearhint_search_ticket(this);" onClick="clearhint_search_ticket(this);" STYLE="text-align:right; font-family: Arial, Verdana, Helvetica, sans-serif;"><BR> +<A HREF="<% $RT::WebPath %>/Search/Build.html" STYLE="color: #ffffff; font-size: 70%; font-weight:normal">Advanced</A> +<input type="submit" value="<&|/l&>Search tickets</&>" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:70%;padding-left:2px;padding-right:2px"> </form> diff --git a/rt/html/Elements/Tabs b/rt/html/Elements/Tabs index b2081edca..721f920d5 100644 --- a/rt/html/Elements/Tabs +++ b/rt/html/Elements/Tabs @@ -57,12 +57,25 @@ <%INIT> my $action; my $basetopactions = { - A => { html => $m->scomp('/Elements/CreateTicket') +# A => { html => $m->scomp('/Elements/CreateTicket') +# }, + A => { html => $m->scomp('/Elements/FreesideNewCust') }, - B => { html => $m->scomp('/Elements/SimpleSearch') + B => { html => $m->scomp('/Elements/FreesideSearch') + }, + C => { html => $m->scomp('/Elements/FreesideInvoiceSearch') + }, + D => { html => $m->scomp('/Elements/FreesideSvcSearch') + }, + E => { html => $m->scomp('/Elements/SimpleSearch') } }; -my $basetabs = { A => { title => loc('Homepage'), +my $basetabs = { + ' A'=> { title => 'Billing Main', + path => &RT::URI::freeside::FreesideURL(), + }, + A => { #title => loc('Homepage'), + title => 'Ticketing Main', path => '', }, B => { title => loc('Tickets'), @@ -96,6 +109,8 @@ if (!defined $toptabs) { if (!defined $topactions) { $topactions = $basetopactions; } + + require RT::URI::freeside; # Now let callbacks add their extra tabs $m->comp('/Elements/Callback', diff --git a/rt/html/Elements/TitleBoxStart b/rt/html/Elements/TitleBoxStart index 804e5cfaa..d98fe2744 100644 --- a/rt/html/Elements/TitleBoxStart +++ b/rt/html/Elements/TitleBoxStart @@ -78,7 +78,7 @@ $title_class => '' $titleright_href => undef $titleright => undef -$contentbg => "#dddddd" +$contentbg => "#d4d4d4" $color => "#336699" </%ARGS> <%init> diff --git a/rt/html/Elements/ViewUser b/rt/html/Elements/ViewUser deleted file mode 100644 index 657272496..000000000 --- a/rt/html/Elements/ViewUser +++ /dev/null @@ -1,51 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/TitleBoxStart, - title => "<a class='inverse' href=\"$RT::WebPath/Search/Listing.html?LimitRequestorById=1&IdOfRequestor=".$User->id."\">".loc("Tickets from [_1]", $name)."</a>", - titleright=> "<a class='inverse' href=\"$RT::WebPath/EditUserComments.html?id=".$User->id."\">".loc("Comments about [_1]", $name)."</a>" &> -<TABLE WIDTH="100%"> -<tr> -<td halign=left valign=top> -%while (my $w=$tickets->Next) { -<%$w->Id%>: <a href="<%$RT::WebPath%>/Ticket/Display.html?id=<%$w->id%>"><%$w->Subject%></a> (<%$w->Status%>)<BR> -%} -</td> -<td align=right valign=top> - <% ($User->Comments || loc("No comment entered about this user")) %> -</tr> -</table> -<& /Elements/TitleBoxEnd &> - -<%ARGS> -$User=>undef -</%ARGS> - -<%INIT> -my $name=$User->RealName || $User->EmailAddress; - -my $tickets = new RT::Tickets($session{'CurrentUser'}); -$tickets->LimitWatcher(TYPE => 'Requestor', VALUE => $User->EmailAddress); - - -</%INIT> diff --git a/rt/html/NoAuth/images/back_home.gif b/rt/html/NoAuth/images/back_home.gif Binary files differdeleted file mode 100644 index 40b19c153..000000000 --- a/rt/html/NoAuth/images/back_home.gif +++ /dev/null diff --git a/rt/html/NoAuth/images/head_requestracker.gif b/rt/html/NoAuth/images/head_requestracker.gif Binary files differdeleted file mode 100644 index 73315e918..000000000 --- a/rt/html/NoAuth/images/head_requestracker.gif +++ /dev/null diff --git a/rt/html/NoAuth/images/rt.jpg b/rt/html/NoAuth/images/rt.jpg Binary files differdeleted file mode 100644 index a137a932b..000000000 --- a/rt/html/NoAuth/images/rt.jpg +++ /dev/null diff --git a/rt/html/NoAuth/images/small-logo.png b/rt/html/NoAuth/images/small-logo.png Binary files differnew file mode 100644 index 000000000..1e415e6d8 --- /dev/null +++ b/rt/html/NoAuth/images/small-logo.png diff --git a/rt/html/NoAuth/images/spacer.gif b/rt/html/NoAuth/images/spacer.gif Binary files differdeleted file mode 100644 index 5bfd67a2d..000000000 --- a/rt/html/NoAuth/images/spacer.gif +++ /dev/null diff --git a/rt/html/NoAuth/images/squares_blue.gif b/rt/html/NoAuth/images/squares_blue.gif Binary files differdeleted file mode 100644 index a28da5ce1..000000000 --- a/rt/html/NoAuth/images/squares_blue.gif +++ /dev/null diff --git a/rt/html/NoAuth/webrt.css b/rt/html/NoAuth/webrt.css index 7fa2f83f8..5c241f93f 100644 --- a/rt/html/NoAuth/webrt.css +++ b/rt/html/NoAuth/webrt.css @@ -1,3 +1,4 @@ +/* %# BEGIN BPS TAGGED BLOCK {{{ %# %# COPYRIGHT: @@ -43,180 +44,191 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -SPAN.nav { font-family: Verdana, Arial, Helvetica, sans-serif; +*/ + +/* * { + font-family: Arial, Verdana, Helvetica, sans-serif; + font-size: 1.2em; +} */ + +SPAN.nav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; text-decoration: none; white-space: nowrap} .nav2 { font-size: 10px; white-space: nowrap} -.nav { font-family: Verdana, Arial, Helvetica, sans-serif; +.nav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 13px; - font-weight: normal; + font-weight: bold; color: #FFFFFF; text-decoration: none; white-space: nowrap} -.currentnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.currentnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #FFFF66; text-decoration: none; white-space: nowrap} -.topnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.topnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 16px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} +/* %# .topnav is the original RT class for the sidebar navigation tabs. %# Font-sizing by level depth was originally hard-coded into Elements/Menu. %# This modification sets a different class name for each level, allowing %# style sheet control over the formats. +*/ -a.topnav-0 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-0 { font-family: Verdana, sans-serif; font-size: 16px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -a.topnav-1 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-1 { font-family: Verdana, sans-serif; font-size: 14px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -a.topnav-2 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-2 { font-family: Verdana, sans-serif; font-size: 12px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -a.topnav-3 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-3 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -a.topnav-4 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-4 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -a.topnav-5 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.topnav-5 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} li.topnav-0-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-1-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-2-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-3-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-4-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-5-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.topnav-0-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.topnav-1-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.topnav-2-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.topnav-3-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.topnav-4-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.topnav-5-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } -.currenttopnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.currenttopnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 16px; font-weight: bold; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} +/* %# .currenttopnav is the original RT class for the sidebar navigation tabs. %# Font-sizing by level depth was originally hard-coded into Elements/Menu. %# This modification sets a different class name for each level, allowing %# style sheet control over the formats +*/ -a.currenttopnav-0 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-0 { font-family: Verdana, sans-serif; font-size: 16px; font-weight: bold; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} -a.currenttopnav-1 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-1 { font-family: Verdana, sans-serif; font-size: 14px; font-weight: bold; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} -a.currenttopnav-2 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-2 { font-family: Verdana, sans-serif; font-size: 12px; font-weight: normal; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} -a.currenttopnav-3 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-3 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} -a.currenttopnav-4 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-4 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} -a.currenttopnav-5 { font-family: Verdana, Arial, Helvetica, sans-serif; +a.currenttopnav-5 { font-family: Verdana, sans-serif; font-size: 11px; font-weight: normal; - color: #FFFF66; + color: #ffffff; background-color: #7e0079; text-decoration: none; white-space: nowrap} li.currenttopnav-0-minor { @@ -225,73 +237,73 @@ li.currenttopnav-0-minor { margin-top: .5em; } li.currenttopnav-1-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.currenttopnav-2-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.currenttopnav-3-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.currenttopnav-4-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.currenttopnav-5-minor { - border-top: solid #999999 1px; + border-top: solid #777777 1px; padding-top: .1em; margin-top: .5em; } li.currenttopnav-0-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.currenttopnav-1-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.currenttopnav-2-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.currenttopnav-3-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.currenttopnav-4-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } li.currenttopnav-5-major { - border-bottom: solid white 1px; + border-bottom: solid black 1px; padding-top: .25em; padding-bottom: .5em; } -.topactions { font-family: Verdana, Arial, Helvetica, sans-serif; +.topactions { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 10px; color: #FFFFFF; text-decoration: none; white-space: nowrap} -.subnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.subnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 11px; font-weight: normal; color: #FFFFFF; text-decoration: none; white-space: nowrap} -.currentsubnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.currentsubnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #FFFF66; @@ -307,12 +319,14 @@ li.currenttopnav-5-major { vertical-align: top; text-align: left; } -.blue { background-color: #4682B4; +.blue { + background-color: #4682B4; +/* %# background-color: #eeeeee; */ background-position: left top; vertical-align: top; text-align: left; } -%# Actually the "topactions" section +/* %# Actually the "topactions" section */ .blueright { background-color: #4682B4; background-position: left top; vertical-align: top; @@ -324,12 +338,123 @@ li.currenttopnav-5-major { vertical-align: top; text-align: left; } -.darkblue { background-color: #000080; +.darkblue { + background-color: #000080; + background-position: left top; + vertical-align: top; + text-align: left; + } +.darkblueright { + background-color: #000080; + background-position: left top; + vertical-align: top; + text-align: right; + } +.lightgray { + background-color: #eeeeee; + background-position: left top; + vertical-align: top; + text-align: left; + } +.lightgrayright { + background-color: #eeeeee; + background-position: left top; + vertical-align: top; + text-align: right; + } +.black { + background-color: #000000; + color: #ffffff; + background-position: left top; + vertical-align: top; + text-align: left; + } +.blackright { + background-color: #000000; + color: #ffffff; + background-position: left top; + vertical-align: center; + text-align: right; + font-size:16px; + padding-right:4px + } + +input.fsblackbutton { + background-color:#333333; + color: #ffffff; + border:1px solid; + border-top-color:#cccccc; + border-left-color:#cccccc; + border-right-color:#aaaaaa; + border-bottom-color:#aaaaaa; + font-family: Arial, Verdana, Helvetica, sans-serif; + font-weight:bold; + padding-left:12px; + padding-right:12px; + overflow:visible; + filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff333333',EndColorStr='#ff666666') +} + +input.fsblackbuttonselected { + background-color:#7e0079; + color: #ffffff; + border:1px solid; + border-top-color:#cccccc; + border-left-color:#cccccc; + border-right-color:#aaaaaa; + border-bottom-color:#aaaaaa; + font-family: Arial, Verdana, Helvetica, sans-serif; + font-weight:bold; + padding-left:12px; + padding-right:12px; + overflow:visible; + filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff330033',EndColorStr='#ff7e0079') +} + +.mediumgray { + background-color: #cccccc; background-position: left top; vertical-align: top; text-align: left; } -.darkblueright { background-color: #000080; +.mediumgrayright { + background-color: #cccccc; + background-position: left top; + vertical-align: top; + text-align: right; + } +.darkmediumgray { + background-color: #aaaaaa; + background-position: left top; + vertical-align: top; + text-align: left; + } +.darkmediumgrayright { + background-color: #aaaaaa; + background-position: left top; + vertical-align: top; + text-align: right; + } +.bggray { + background-color: #e8e8e8; + background-position: left top; + vertical-align: top; + text-align: left; + } +.bggrayright { + background-color: #e8e8e8; + background-position: left top; + vertical-align: top; + text-align: right; + } +.white { + background-color: #ffffff; + background-position: left top; + vertical-align: top; + text-align: left; + } +.whiteright { + background-color: #ffffff; background-position: left top; vertical-align: top; text-align: right; @@ -351,26 +476,26 @@ div.downloadattachment { } -td { font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; +td { font-family: Arial, Verdana, Helvetica, sans-serif; + font-size: 12px; background-position: left top; } .black { background-color: #000000; background-position: left top; } -span.rtname { font-family: Verdana, Arial, Helvetica, sans-serif; +span.rtname { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 18px; font-weight: normal; color: #ffffff} -span.title { font-family: Verdana, Arial, Helvetica, sans-serif; +span.title { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 20px; font-weight: bold; color: #ffffff} -.header { font-family: Verdana, Arial, Helvetica, sans-serif; +.header { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #0066CC} -.subheader { font-family: Verdana, Arial, Helvetica, sans-serif; +.subheader { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #0066CC } @@ -381,9 +506,9 @@ span.title { font-family: Verdana, Arial, Helvetica, sans-serif; .labeltop { font-weight: normal; text-align: right; vertical-align: top } -.productnav { font-family: Verdana, Arial, Helvetica, sans-serif; +.productnav { font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 11px; - color: #000000; + color: #FFFFFF; text-align: center; vertical-align: middle; text-decoration: none} @@ -405,6 +530,7 @@ TD.mainbody { padding-right: 1em; margin-left: 1em; margin-right: 1em; + background-color: #e8e8e8; } td.boxcontainer + td.boxcontainer { @@ -447,14 +573,14 @@ TD.titlebox { SPAN.message { font-size: 100%; - font-family: Verdana, Arial, Helvetica, sans-serif; + font-family: Arial, Verdana, Helvetica, sans-serif; } BODY { color: #000; background: #FFFFFF; - font-family: Verdana, Arial, Helvetica, sans-serif; + font-family: "Helvetica", sans-serif; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; @@ -477,7 +603,7 @@ TR.evenline { H1, H2, H3 { margin-top: 0.2em; color: #336699; - font-family: Verdana, Arial, Helvetica, sans-serif; + font-family: "Helvetica", sans-serif; clear: both; } @@ -490,7 +616,7 @@ DIV.endmatter { margin-left: -7% } } -A { font-weight: bold; color: #000000; +A { font-weight: bold; color: #000000 } .currenttab { color: #ffffff;} @@ -504,8 +630,9 @@ A:link IMG, A:visited IMG { border-style: none } a:focus {text-decoration: underline } A IMG { color: white } /* The only way to hide the border in NS 4.x */ -a:link { text-decoration: none} -a:visited { text-decoration: none} +/* a:link { text-decoration: none} */ +/* a:visited { text-decoration: none} */ + a:hover { text-decoration: underline} /* a:focus { background-color: #ccccee } */ @@ -518,7 +645,9 @@ SPAN.date { font-size: 0.8em } span.title { font-size: 1.6em; vertical-align: middle; - color: #ffffff;} +/* %# color: #ffffff; */ + color: #000000; + } span.productname { font-size: 2em; color: #0066cc;} SPAN.titleboxtitle, SPAN.titleboxclose { @@ -615,6 +744,7 @@ textarea.messagebox { width: 100%; } +/* %# Provide a callback for adding/modifying the style sheet. %# http://www.w3.org/TR/REC-CSS1 - section 3.2, says: %# "latter specified rule wins" @@ -626,3 +756,4 @@ inherit => undef $r->content_type('text/css'); #$r->headers_out->{'Expires'} = '+30m'; </%init> +*/ diff --git a/rt/html/Search/Bulk.html b/rt/html/Search/Bulk.html index f9eef26b6..b7c64e3f8 100644 --- a/rt/html/Search/Bulk.html +++ b/rt/html/Search/Bulk.html @@ -68,7 +68,7 @@ $Tickets->RedoSearch(); while (my $Ticket = $Tickets->Next) { $i++; if ($i % 2) { - $bgcolor = "#dddddd"; + $bgcolor = "#d4d4d4"; } else { $bgcolor = "#ffffff"; diff --git a/rt/html/Search/Elements/PickRestriction b/rt/html/Search/Elements/PickRestriction deleted file mode 100644 index ff9b86ba5..000000000 --- a/rt/html/Search/Elements/PickRestriction +++ /dev/null @@ -1,142 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<FORM ACTION="<%$RT::WebPath%>/Search/Listing.html" METHOD="GET"> -<INPUT TYPE=HIDDEN NAME="Bookmark" VALUE="<% $session{'tickets'}->FreezeLimits()%>"> -<& /Elements/TitleBoxStart, title => loc('Refine search')&> -<INPUT TYPE=HIDDEN NAME="CompileRestriction" VALUE=1> - -<ul> -<li><&|/l&>Owner is</&> <& /Elements/SelectBoolean, Name => "OwnerOp", - TrueVal=> '=', - FalseVal => '!=' -&> -<& /Elements/SelectOwner, Name => "ValueOfOwner" &> - -<li> -<& /Elements/SelectWatcherType, Name => "WatcherRole", AllowNull => 0 &> -<&|/l&>email address</&> -<& /Elements/SelectMatch, Name => "WatcherRoleOp" &> -<INPUT Name="ValueOfWatcherRole" SIZE=20> - -<li> -<&|/l&>Subject</&> <& /Elements/SelectMatch, Name => "SubjectOp" &> -<INPUT Name="ValueOfSubject" SIZE=20> - -<li><&|/l&>Queue</&> <& /Elements/SelectBoolean, Name => "QueueOp" , - True => loc("is"), - False => loc("isn't"), - TrueVal=> '=', - FalseVal => '!=' &> -<& /Elements/SelectQueue, Name => "ValueOfQueue" &> - - -<li><&|/l&>Priority</&> <& /Elements/SelectEqualityOperator, Name => "PriorityOp" &> - -<INPUT Name="ValueOfPriority" SIZE=5> - -<li> -<& /Elements/SelectDateType, Name => 'DateType' &> -<& /Elements/SelectDateRelation, Name=>"DateOp" &> -<& /Elements/SelectDate, Name => "ValueOfDate", ShowTime => 0, Default => '' &> - -<li><&|/l&>Ticket attachment</&> - -<& /Elements/SelectAttachmentField, Name => 'AttachmentField' &> -<& /Elements/SelectBoolean, Name => "AttachmentFieldOp", - True => loc("matches"), - False => loc("does not match"), - TrueVal => 'LIKE', - FalseVal => 'NOT LIKE' -&> -<Input Name="ValueOfAttachmentField" Size=20> - -<li><&|/l&>Status</&> -<& /Elements/SelectBoolean, Name => "StatusOp", - True => loc("is"), - False => loc("isn't"), - TrueVal=> '=', - FalseVal => '!=' -&> -<& /Elements/SelectStatus, Name => "ValueOfStatus", SkipDeleted => 1 &> - - -% while ( my $CustomField = $CustomFields->Next ) { - -<li><% $CustomField->Name %> - <& /Elements/SelectCustomFieldOperator, Name => "CustomFieldOp". $CustomField->id, - True => loc("is"), - False => loc("isn't"), - TrueVal=> '=', FalseVal => '!=' &> - -<& /Elements/SelectCustomFieldValue, Name => "CustomField".$CustomField->id, - CustomField => $CustomField, - &> -% } - -</UL> - -<& /Elements/TitleBoxEnd &> - -<& /Elements/TitleBoxStart, title => loc('Ordering and sorting')&> - -<UL> - -<li><&|/l&>Results per page</&> <& /Elements/SelectResultsPerPage, Name => "RowsPerPage", - Default => $session{'tickets_rows_per_page'} || '50' -&> - -<li><&|/l&>Sort results by</&> <& /Elements/SelectTicketSortBy, Name => "TicketsSortBy", - Default => $session{'tickets_sort_by'} -&> -<& /Elements/SelectSortOrder, Name => 'TicketsSortOrder', Default => $session{'tickets_sort_order'} &> - -<li><input type="checkbox" name="HideResults" <%$ARGS{'HideResults'} && 'CHECKED'%>> <&|/l&>Don't show search results</&> -<li><& /Elements/Refresh, Name => 'RefreshSearchInterval' , Default => $session{'tickets_refresh_interval'} &> - -</UL> - - -</DIV> - - - -<& /Elements/TitleBoxEnd &> - -<& /Elements/Submit, Label => loc('Search'), Name => 'Action'&> - -</FORM> - - - <%INIT> -my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'}); - foreach ( $session{'tickets'}->RestrictionValues('Queue') ) { - # Gotta load up the $queue object, since queues get stored by name now. - my $queue = RT::Queue->new($session{'CurrentUser'}); - $queue->Load($_); - $CustomFields->LimitToQueue($queue->Id); - } - - $CustomFields->LimitToGlobal(); - -</%INIT> diff --git a/rt/html/Search/Elements/TicketHeader b/rt/html/Search/Elements/TicketHeader deleted file mode 100644 index ed2f60e4e..000000000 --- a/rt/html/Search/Elements/TicketHeader +++ /dev/null @@ -1,40 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<TR> -<& TicketHeaderCell , Attribute => 'id', Header => '#'&> -<& TicketHeaderCell , Attribute => 'Subject'&> -<& TicketHeaderCell , Attribute => 'Status'&> -<& TicketHeaderCell , Attribute => 'Queue'&> -<& TicketHeaderCell , Attribute => 'Owner'&> -<& TicketHeaderCell , Attribute => 'Priority'&> -</TR> -<TR> -<TH class="ticketheader"> </TH> -<& TicketHeaderCell , Attribute => 'Requestor(s)'&> -<& TicketHeaderCell , Attribute => 'Created'&> -<& TicketHeaderCell , Attribute => 'Told', Header => 'Last Contact'&> -<& TicketHeaderCell , Attribute => 'LastUpdated', Header => 'Last Updated'&> -<& TicketHeaderCell , Attribute => 'TimeLeft', Header => 'Left'&> -</TR> -%# loc('Last Notified'); diff --git a/rt/html/Search/Elements/TicketHeaderCell b/rt/html/Search/Elements/TicketHeaderCell deleted file mode 100644 index 5def9ea37..000000000 --- a/rt/html/Search/Elements/TicketHeaderCell +++ /dev/null @@ -1,55 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<%INIT> -my ($order,$curorder); - $Attribute =~ s/Obj->(Name|AsString|AgeAsString)//g; - if ($session{'tickets_sort_order'} =~ /^asc$/i) { - $order = 'DESC'; - $curorder = 'ASC'; - } else { - $order = 'ASC'; - $curorder = 'DESC'; - } -$Header = $Attribute unless ($Header); - -</%INIT> -<th class="ticketheader"> -% if (grep (/^$Attribute$/i, $session{'tickets'}->SortFields)) { -<A -% if ($Attribute eq $session{'tickets_sort_by'}) { -class="currenttab" -HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|u%>&TicketsSortBy=<%$Attribute%>&TicketsSortOrder=<%$order%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>"> -% } else { -HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|u%>&TicketsSortBy=<%$Attribute%>&TicketsSortOrder=<%$curorder%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>"> -% } -<% loc($Header) %> -</A> -% } else { -<% loc($Header) %> -% } -</th> -<%ARGS> -$Header => undef -$Attribute => undef -</%ARGS> diff --git a/rt/html/Search/Elements/TicketRow b/rt/html/Search/Elements/TicketRow deleted file mode 100644 index 5d1ad209a..000000000 --- a/rt/html/Search/Elements/TicketRow +++ /dev/null @@ -1,55 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<SPAN class="search"> -<TR -% if ($i%2) { -CLASS="oddline" -% } else { -CLASS="evenline" -% } -> -<TD ROWSPAN="2"><B><A HREF="<%$RT::WebPath%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$Ticket->id%></a></B></TD> -<TD><B><A HREF="<%$RT::WebPath%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$Ticket->Subject%></a></B></TD> -<TD><%loc($Ticket->Status)%></TD> -<TD><%$Ticket->QueueObj->Name%></TD> -<TD><%$Ticket->Owner == $RT::Nobody->Id ? loc('Nobody') : $Ticket->OwnerObj->Name%></TD> -<TD><%$Ticket->Priority%></TD> -</TR> -<TR -% if ($i%2) { -CLASS="oddline" -% } else { -CLASS="evenline" -% } -><TD><small><%$Ticket->Requestors->MemberEmailAddressesAsString%></small></TD> -<TD><SMALL><%$Ticket->CreatedObj->AgeAsString || '-'%></SMALL></TD> -<TD><SMALL><%$Ticket->ToldObj->AgeAsString || '-'%></SMALL></TD> -<TD><SMALL><%$Ticket->LastUpdatedObj->AgeAsString || '-'%></SMALL></TD> -<TD><SMALL><%$Ticket->TimeLeft%></SMALL></TD> -</TR> -</SPAN> -<%ARGS> -$Ticket => undef -$i => undef -</%ARGS> diff --git a/rt/html/Search/Listing.html b/rt/html/Search/Listing.html deleted file mode 100644 index 68b1fd75c..000000000 --- a/rt/html/Search/Listing.html +++ /dev/null @@ -1,113 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<& /Elements/Header, Title => $title, Refresh => $session{'tickets_refresh_interval'} &> -<& /Ticket/Elements/Tabs, - current_tab => 'Search/Listing.html', - Title => $title &> - -%if ($ticketcount && ! $ARGS{'HideResults'}) { -<TABLE WIDTH=100% border=0 cellpadding=2 CELLSPACING=0> -<& Elements/TicketHeader, %ARGS &> -% my $i; -%while (my $Ticket = $session{'tickets'}->Next) { -% $i++; -<& Elements/TicketRow, Ticket => $Ticket, i=> $i, %ARGS &> -%} -</TABLE> -<div align=center> -<font size=2> -<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=1"><&|/l&>First page</&></a> - -% if ( $session{'tickets'}->FirstRow >= $session{'tickets_rows_per_page'}-1 ) { -<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=Prev"><<&|/l&>Previous page</&></a> - -% } -% if ( $session{'tickets'}->FirstRow + $session{'tickets_rows_per_page'} < $ticketcount ) { -<a href="<%$RT::WebPath%>/Search/Listing.html?GotoPage=Next"><&|/l&>Next page</&>></a> -% } -%# <form method=get action="<%$RT::WebPath%>/Search/Listing.html"><&|/l&>Goto page</&> <input name=GotoPage size=2></form> -</font> -</div> -<!--<div align=right>--> -<table width="100%" border=0 cellpadding=3 CELLSPACING=1> -<tr> -<td align=left> -(<&|/l, ($session{'tickets'}->FirstRow+1), ($session{'tickets'}->FirstRow() + $session{'tickets'}->RowsPerPage() ) &>[_1] - [_2] shown</&>) -</td> -<td align=right> - -<a href="<%$RT::WebPath%>/Search/Bulk.html"><&|/l&>Update all these tickets at once</&></a> -<!--</div>--> -</td> -</tr> -</table> - -% } -<TABLE WIDTH="100%"> -<TR> -<TD VALIGN="TOP"> -<& /Elements/TitleBoxStart, title => loc('Current search criteria')&> - -%my %restrictions=$session{'tickets'}->DescribeRestrictions(); -%foreach my $row (keys %restrictions){ -<%$restrictions{"$row"}%> <A HREF="<% $RT::WebPath %>/Search/Listing.html?DeleteRestriction=<%$row%>">[<&|/l&>delete</&>]</a><br> -%} -<BR> -<BR> -<A HREF="<% $RT::WebPath%>/Search/Listing.html?Bookmark=<%$session{'tickets'}->FreezeLimits()|nu%>&TicketsSortBy=<%$session{'tickets_sort_by'}%>&TicketsSortOrder=<%$session{'tickets_sort_order'}%>&RowsPerPage=<%$session{'tickets_rows_per_page'}%>"><&|/l&>Bookmarkable URL for this search</&></a> -<& /Elements/TitleBoxEnd&> -</TD> -<TD> - -<& Elements/PickRestriction, %ARGS &> - -</TD> -</TR> -</TABLE> - -<%INIT> - -my ($title, $ticketcount); -$session{'i'}++; -if ($session{'tickets'}) { - if ($ARGS{'DeleteRestriction'}) { - $session{'tickets'}->DeleteRestriction($ARGS{'DeleteRestriction'}); - } - if ( ($ARGS{'ClearRestrictions'}) || ($ARGS{'NewSearch'}) ) { - $session{'tickets'}->ClearRestrictions; - $session{'tickets'}->CleanSlate; - } -} - ProcessSearchQuery(ARGS=>\%ARGS); - $session{'tickets'}->RedoSearch(); - if ( $session{'tickets'}->DescribeRestrictions()) { - $ticketcount = $session{tickets}->CountAll(); - $title = loc('Found [quant,_1,ticket]', $ticketcount); - } else { - $title = loc("Find tickets"); - } -</%INIT> -<%CLEANUP> -$session{'tickets'}->PrepForSerialization(); -</%CLEANUP> diff --git a/rt/html/Ticket/Elements/AddCustomers b/rt/html/Ticket/Elements/AddCustomers new file mode 100644 index 000000000..01c7367c4 --- /dev/null +++ b/rt/html/Ticket/Elements/AddCustomers @@ -0,0 +1,50 @@ +%# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am> +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +<BR> +<%$msg%><br> + +% if (@Customers) { + +<br><i>(Check box to link)<i> +<table> +% foreach my $customer (@Customers) { +<tr> + <td> + <input type="checkbox" name="Ticket-AddCustomer-<% $customer->{'custnum'} %>" VALUE="1" <% scalar(@Customers) == 1 ? 'CHECKED' : '' %>> + <A HREF="<%$freeside_url%>/view/cust_main.cgi?<% $customer->{'custnum'} %>"><% &RT::URI::freeside::small_custview($customer->{'custnum'}, &RT::URI::freeside::FreesideGetConfig('countrydefault'), 1) |n %> + </td> +</tr> +% } + +% } + +<%INIT> +my ($msg); + +my $freeside_url = &RT::URI::freeside::FreesideURL(); + +my @Customers = (); +if ( $CustomerString ) { + @Customers = &RT::URI::freeside::smart_search( 'search' => $CustomerString ); +} + +my @Services = (); +if ($ServiceString) { + @Services = (); #service_search(); +} + +</%INIT> + +<%ARGS> +$CustomerString => undef +$ServiceString => undef +</%ARGS> diff --git a/rt/html/Ticket/Elements/EditCustomers b/rt/html/Ticket/Elements/EditCustomers new file mode 100644 index 000000000..c5a6f708c --- /dev/null +++ b/rt/html/Ticket/Elements/EditCustomers @@ -0,0 +1,67 @@ +%# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am> +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +<TABLE width=100%> + <TR> + <TD VALIGN=TOP WIDTH=50%> + <h3><&|/l&>Current Customers</&></h3> + +<table> + <tr> + <td><i><&|/l&>(Check box to disassociate)</&></i></td> + </tr> + <tr> + <td class="value"> +% #while (my $link = $Ticket->MemberOf->Next) { +% foreach my $link ( +% grep { $_->TargetURI->Resolver->{'fstable'} eq 'cust_main' } +% grep { $_->TargetURI->Scheme eq 'freeside' } +% @{ $Ticket->_Links('Base')->ItemsArrayRef } +% ) { + + <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>"> +%# <& ShowLink, URI => $link->TargetURI &><br> + <A HREF="<% $link->TargetURI->Resolver->HREF %>"><% $link->TargetURI->Resolver->AsStringLong |n %></A> + <BR> +% } + </td> + </tr> +</table> + +</TD> + +<TD VALIGN=TOP> +<h3><&|/l&>New Customer Links</&></h3> +<&|/l&>Find customer</&><BR> +<input name="CustomerString"> +<input type=submit name="OnlySearchForCustomers" value="<&|/l&>Go!</&>"> +<br><i>cust #, name, company or phone</i> +<BR> +%#<BR> +%#<&|/l&>Find service</&><BR> +%#<input name="ServiceString"> +%#<input type=submit name="OnlySearchForServices" value="<&|/l&>Go!</&>"> +%#<br><i>username, username@domain, domain, or IP address</i> +%#<BR> + +<& AddCustomers, Ticket => $Ticket, + CustomerString => $CustomerString, + ServiceString => $ServiceString, &> + +</TD> +</TR> +</TABLE> + +<%ARGS> +$CustomerString => undef +$ServiceString => undef +$Ticket => undef +</%ARGS> diff --git a/rt/html/Ticket/Elements/EditLinks b/rt/html/Ticket/Elements/EditLinks deleted file mode 100644 index bdb8a6b7d..000000000 --- a/rt/html/Ticket/Elements/EditLinks +++ /dev/null @@ -1,133 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<TABLE width=100%> - <TR> - <TD VALIGN=TOP WIDTH=50%> - <h3><&|/l&>Current Relationships</&></h3> - -<table> - <tr> - <td></td> - <td><i><&|/l&>(Check box to delete)</&></i></td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Depends on</&>:</td> - <td class="value"> -% while (my $link = $Ticket->DependsOn->Next) { - <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>"> - <& ShowLink, URI => $link->TargetURI &><br> -% } - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Depended on by</&>:</td> - <td class="value"> -% while (my $link = $Ticket->DependedOnBy->Next) { -% my $member = $link->BaseObj; - <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-"> - <& ShowLink, URI => $link->BaseURI &><br> -% } - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Parents</&>:</td> - <td class="value"> -% while (my $link = $Ticket->MemberOf->Next) { - <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>"> - <& ShowLink, URI => $link->TargetURI &><br> -% } - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Children</&>:</td> - <td class="value"> -% while (my $link = $Ticket->Members->Next) { - <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-"> - <& ShowLink, URI => $link->BaseURI &><br> -% } - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Refers to</&>:</td> - <td class="value"> -% while (my $link = $Ticket->RefersTo->Next) { - <INPUT TYPE=CHECKBOX NAME="DeleteLink--<%$link->Type%>-<%$link->Target%>"> - <& ShowLink, URI => $link->TargetURI &><br> -%} - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Referred to by</&>:</td> - <td class="value"> -% while (my $link = $Ticket->ReferredToBy->Next) { - <INPUT TYPE=CHECKBOX NAME="DeleteLink-<%$link->Base%>-<%$link->Type%>-"> - <& ShowLink, URI => $link->BaseURI &><br> -% } - </td> - </tr> -</table> - -</TD> -<TD VALIGN=TOP> -<h3><&|/l&>New Relationships</&></h3> -<i><&|/l&>Enter tickets or URIs to link tickets to. Seperate multiple entries with spaces.</&></i><br> -<TABLE> - <TR> - <TD class="label"><&|/l&>Merge into</&>:</TD> - <TD class="entry"><input name="<%$Ticket->Id%>-MergeInto"> <i><&|/l&>(only one ticket)</&></i></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Depends on</&>:</TD> - <TD class="entry"><input name="<%$Ticket->Id%>-DependsOn"></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Depended on by</&>:</TD> - <TD class="entry"><input name="DependsOn-<%$Ticket->Id%>"></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Parents</&>:</TD> - <TD class="entry"><input name="<%$Ticket->Id%>-MemberOf"></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Children</&>:</TD> - <TD class="entry"> <input name="MemberOf-<%$Ticket->Id%>"></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Refers to</&>:</TD> - <TD class="entry"><input name="<%$Ticket->Id%>-RefersTo"></TD> - </TR> - <TR> - <TD class="label"><&|/l&>Referred to by</&>:</TD> - <TD class="entry"> <input name="RefersTo-<%$Ticket->Id%>"></TD> - </TR> -</TABLE> -</TD> -</TR> -</TABLE> - - - -<%ARGS> -$Ticket => undef -</%ARGS> diff --git a/rt/html/Ticket/Elements/ShowCustomers b/rt/html/Ticket/Elements/ShowCustomers new file mode 100644 index 000000000..612727ede --- /dev/null +++ b/rt/html/Ticket/Elements/ShowCustomers @@ -0,0 +1,40 @@ +%# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am> +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +<table> +% my $cust = 0; +% foreach my $customerURI ( +% grep { $_->Resolver->{'fstable'} eq 'cust_main' } +% grep { $_->Scheme eq 'freeside' } +% map { $_->TargetURI } +% @{ $Ticket->_Links('Base')->ItemsArrayRef } +% ) { +% $cust++; +% my $cust_main = ''; + <tr> + <td class="value"> + <A HREF="<% $customerURI->Resolver->HREF %>"><% $customerURI->Resolver->AsStringLong |n %></A> + </td> + </tr> +% } +% unless ( $cust ) { + <tr> + <td class="labeltop"> + <i>(none)<i> + </td> + </tr> + +% } +</table> +<%ARGS> +$Ticket => undef +</%ARGS> + diff --git a/rt/html/Ticket/Elements/ShowLink b/rt/html/Ticket/Elements/ShowLink deleted file mode 100644 index 493fd95a5..000000000 --- a/rt/html/Ticket/Elements/ShowLink +++ /dev/null @@ -1,40 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<A href="<%$URI->Resolver->HREF%>"> -% if ($URI->IsLocal) { -% my $member = $URI->Object; -% if (UNIVERSAL::isa($member, "RT::Ticket")) { -<%$member->Id%>: (<%$member->OwnerObj->Name%>) <%$member->Subject%> [<% loc($member->Status) %>] -% } elsif ( UNIVERSAL::can($member, 'Name')) { -<%$URI->Resolver->AsString%>: <%$member->Name%> -% } else { -<%$URI->Resolver->AsString%> -% } -% } else { -<%$URI->Resolver->AsString%> -% } -</a> -<%ARGS> -$URI => undef -</%ARGS> diff --git a/rt/html/Ticket/Elements/ShowLinks b/rt/html/Ticket/Elements/ShowLinks deleted file mode 100644 index f88a6008d..000000000 --- a/rt/html/Ticket/Elements/ShowLinks +++ /dev/null @@ -1,87 +0,0 @@ -%# BEGIN LICENSE BLOCK -%# -%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -%# -%# (Except where explictly superceded by other copyright notices) -%# -%# This work is made available to you under the terms of Version 2 of -%# the GNU General Public License. A copy of that license should have -%# been provided with this software, but in any event can be snarfed -%# from www.gnu.org. -%# -%# This work is distributed in the hope that it will be useful, but -%# WITHOUT ANY WARRANTY; without even the implied warranty of -%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -%# General Public License for more details. -%# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. -%# -%# -%# END LICENSE BLOCK -<table> - <tr> - <td class="labeltop"><&|/l&>Depends on</&>:</td> - <td class="value"> -<ul> -% while (my $Link = $Ticket->DependsOn->Next) { -<li><& ShowLink, URI => $Link->TargetURI &> -% } -</ul> - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Depended on by</&>:</td> - <td class="value"> -<ul> -% while (my $Link = $Ticket->DependedOnBy->Next) { -<li><& ShowLink, URI => $Link->BaseURI &> -% } -</ul> - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Parents</&>:</td> - <td class="value"> -<ul> -% while (my $Link = $Ticket->MemberOf->Next) { -<li><& ShowLink, URI => $Link->TargetURI &> -% } -</ul> - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Children</&>:</td> - <td class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Refers to</&>:</td> - <td class="value"> -<ul> -% while (my $Link = $Ticket->RefersTo->Next) { -<li><& ShowLink, URI => $Link->TargetURI &> -% } -</ul> - </td> - </tr> - <tr> - <td class="labeltop"><&|/l&>Referred to by</&>:</td> - <td class="value"> - <ul> -% while (my $Link = $Ticket->ReferredToBy->Next) { -<li><& ShowLink, URI => $Link->BaseURI &> -% } -</ul> - </td> - </tr> - -% # Allow people to add more rows to the table -% $m->comp('/Elements/Callback', %ARGS ); - -</table> - -<%ARGS> -$Ticket => undef -</%ARGS> diff --git a/rt/html/Ticket/Elements/ShowSummary b/rt/html/Ticket/Elements/ShowSummary index 31571400e..5a6e7e099 100644 --- a/rt/html/Ticket/Elements/ShowSummary +++ b/rt/html/Ticket/Elements/ShowSummary @@ -69,6 +69,15 @@ color => "#333399" &> <& /Ticket/Elements/ShowPeople, Ticket => $Ticket &> <& /Elements/TitleBoxEnd &> + <br> + + <& /Elements/TitleBoxStart, title => loc('Customers'), + title_href =>"$RT::WebPath/Ticket/ModifyCustomers.html?id=".$Ticket->Id, + title_class=> 'inverse', + color => "#7f007b" &> + <& /Ticket/Elements/ShowCustomers, Ticket => $Ticket &> + <& /Elements/TitleBoxEnd &> + <BR> </TD> <TD VALIGN=TOP WIDTH="50%" class="boxcontainer"> diff --git a/rt/html/Ticket/Elements/Tabs b/rt/html/Ticket/Elements/Tabs index 1a5058691..46e1d4a27 100644 --- a/rt/html/Ticket/Elements/Tabs +++ b/rt/html/Ticket/Elements/Tabs @@ -119,6 +119,8 @@ my $ticket_page_tabs = { { title => loc('People'), path => "Ticket/ModifyPeople.html?id=" . $id, }, _E => { title => loc('Links'), path => "Ticket/ModifyLinks.html?id=" . $id, }, + _Eb=> { title => loc('Customers'), + path => "Ticket/ModifyCustomers.html?id=" . $id, }, _F => { title => loc('Jumbo'), path => "Ticket/ModifyAll.html?id=" . $id, separator => 1 diff --git a/rt/html/Ticket/ModifyCustomers.html b/rt/html/Ticket/ModifyCustomers.html new file mode 100644 index 000000000..72d103b23 --- /dev/null +++ b/rt/html/Ticket/ModifyCustomers.html @@ -0,0 +1,49 @@ +%# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am> +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +<& /Elements/Header, Title => loc("Customers for ticket #[_1]", $Ticket->Id) &> +<& /Ticket/Elements/Tabs, + Ticket => $Ticket, + current_tab => "Ticket/ModifyCustomers.html?id=".$Ticket->Id, + Title => loc("Customers for ticket #[_1]", $Ticket->Id) &> + +<& /Elements/ListActions, actions => \@results &> + +<form action="ModifyCustomers.html" method="post"> +<input type="hidden" name="id" value="<%$Ticket->id%>"> + +<& /Elements/TitleBoxStart, title => loc('Edit Customer Links'), color => "#7f007b"&> +<& Elements/EditCustomers, Ticket => $Ticket, CustomerString => $CustomerString, ServiceString => $ServiceString &> +<& /Elements/TitleBoxEnd &> +<& /Elements/Submit, color => "#7f007b", Label => loc('Save Changes') &> +</form> + + +<%INIT> + +my @results = (); +my $Ticket = LoadTicket($id); + +# if we're trying to search for customers/services and nothing else +unless ( $OnlySearchForCustomers || $OnlySearchForServices) { + @results = ProcessTicketCustomers( TicketObj => $Ticket, ARGSRef => \%ARGS); +} + +</%INIT> + + +<%ARGS> +$OnlySearchForCustomers => undef +$OnlySearchForServices => undef +$CustomerString => undef +$ServiceString => undef +$id => undef +</%ARGS> |