diff options
Diffstat (limited to 'rt/html/Elements')
-rw-r--r-- | rt/html/Elements/Callback | 4 | ||||
-rw-r--r-- | rt/html/Elements/CollectionAsTable/Row | 1 | ||||
-rw-r--r-- | rt/html/Elements/EditCustomField | 4 | ||||
-rw-r--r-- | rt/html/Elements/EditCustomFieldSelect | 3 | ||||
-rw-r--r-- | rt/html/Elements/FreesideInvoiceSearch | 20 | ||||
-rw-r--r-- | rt/html/Elements/FreesideNewCust | 3 | ||||
-rw-r--r-- | rt/html/Elements/FreesideSearch | 11 | ||||
-rw-r--r-- | rt/html/Elements/FreesideSvcSearch | 11 | ||||
-rw-r--r-- | rt/html/Elements/Header | 20 | ||||
-rw-r--r-- | rt/html/Elements/PageLayout | 29 | ||||
-rw-r--r-- | rt/html/Elements/QueryString | 6 | ||||
-rw-r--r-- | rt/html/Elements/RT__Ticket/ColumnMap | 3 | ||||
-rw-r--r-- | rt/html/Elements/ScrubHTML | 2 | ||||
-rw-r--r-- | rt/html/Elements/ShowCustomFields | 3 | ||||
-rw-r--r-- | rt/html/Elements/SimpleSearch | 13 | ||||
-rw-r--r-- | rt/html/Elements/Tabs | 12 | ||||
-rw-r--r-- | rt/html/Elements/TitleBoxStart | 2 |
17 files changed, 117 insertions, 30 deletions
diff --git a/rt/html/Elements/Callback b/rt/html/Elements/Callback index 937e923a1..c7aeb9f5d 100644 --- a/rt/html/Elements/Callback +++ b/rt/html/Elements/Callback @@ -68,14 +68,14 @@ if (!$callbacks) { push @$callbacks, # Skip backup files, files without a leading package name, # and files we've already seen - grep { !/^\.|~$/ + grep { !/\/\.|~$/ and $_ ne "/Callbacks/$Page/$_CallbackName" and not $seen{$_}++ } $m->interp->resolver->glob_path($path, $root); } $m->notes($CacheKey => $callbacks); - $cache{$Page,$_CallbackName} = $callbacks if !$RT::DevelMode; + $cache{$CacheKey} = $callbacks if !$RT::DevelMode; } my @rv; diff --git a/rt/html/Elements/CollectionAsTable/Row b/rt/html/Elements/CollectionAsTable/Row index 3316bc027..0de362ea8 100644 --- a/rt/html/Elements/CollectionAsTable/Row +++ b/rt/html/Elements/CollectionAsTable/Row @@ -71,6 +71,7 @@ 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/EditCustomField b/rt/html/Elements/EditCustomField index d2398c9da..e443c764e 100644 --- a/rt/html/Elements/EditCustomField +++ b/rt/html/Elements/EditCustomField @@ -49,6 +49,10 @@ if ($Object) { $Values = $Object->CustomFieldValues($CustomField->id); $Values->Columns( qw( id CustomField ObjectType ObjectId Disabled Content ContentType ContentEncoding ) ); $NamePrefix ||= join('-', 'Object', ref($Object), $Object->Id, 'CustomField', ''); +} elsif (not $Default) { + my %TOP = $m->request_args; + $Default = $TOP{ $NamePrefix .$CustomField->Id . '-Values' } + || $TOP{ $NamePrefix .$CustomField->Id . '-Value' }; } my $Type = $CustomField->Type; diff --git a/rt/html/Elements/EditCustomFieldSelect b/rt/html/Elements/EditCustomFieldSelect index db33a6839..2a2a64a1d 100644 --- a/rt/html/Elements/EditCustomFieldSelect +++ b/rt/html/Elements/EditCustomFieldSelect @@ -53,7 +53,8 @@ % if ($Values) { <% $Values->HasEntry($value->Name) && ($selected = 1) && 'SELECTED' %> % } elsif ($Default) { - <% ($Default eq $value->Name) && ($selected = 1) && 'SELECTED' %> + <% (ref $Default ? (grep {$_ eq $value->Name} @{$Default}) : ($Default eq $value->Name)) + && ($selected = 1) && 'SELECTED' %> % } ><% $value->Name%></option> % } 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..2fed8fc73 --- /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 NOTYET="<% $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..4a5942421 --- /dev/null +++ b/rt/html/Elements/FreesideSvcSearch @@ -0,0 +1,11 @@ +<form action="<% $RT::URI::freeside::URL %>/search/cust_svc.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 NOTYET="<% $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 a2563fee3..b5512aae9 100644 --- a/rt/html/Elements/Header +++ b/rt/html/Elements/Header @@ -47,12 +47,14 @@ <HTML> <HEAD> <TITLE><%$Title%></TITLE> -% if ($Refresh > 0) { +% if ($Refresh && $Refresh > 0) { <META HTTP-EQUIV="REFRESH" CONTENT="<%$Refresh%>"> % } -<link rel="shortcut icon" href="<%$RT::WebImagesURL%>/favicon.png" type="image/png"> -<link rel="stylesheet" href="<%$RT::WebPath%>/NoAuth/webrt.css" type="text/css"> +<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" /> + <script> function hideshow(num) { idstring = "element-" + num; @@ -67,7 +69,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 %>')); @@ -75,13 +77,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 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') %> Ticketing</font></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> % } @@ -89,8 +93,6 @@ 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.</&> % } @@ -105,7 +107,7 @@ ONLOAD=" <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> + <A HREF="<% FS::Conf->new->config('support-key') ? "http://www.sisd.com/mediawiki/index.php/Supported:Documentation" : "http://www.sisd.com/mediawiki/index.php/Freeside:1.7:Documentation" %>">Documentation</A><BR> </FONT> </td> <td bgcolor=#000000></td> diff --git a/rt/html/Elements/PageLayout b/rt/html/Elements/PageLayout index 94bdbe194..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="lightgray" border=0 cellspacing=0 cellpadding=0 width="100%"> - <th class="lightgray" align="left" width=42%><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="lightgrayright"> +% 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="lightgray"> +<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="mediumgray" valign="top"> + <td class="<% $actions ? 'darkmediumgray' : 'bggray' %>" valign="top"> <span class="title"><%$title%></span> </td> </tr> <tr> -<td class="mediumgrayright" valign="top"> +<td class="<% $actions ? 'darkmediumgrayright' : 'bggrayright' %>" valign="top"> <span class="nav"> % if ($actions) { % my @actions; @@ -80,7 +91,7 @@ % } % } %#<% join(" | ", @actions) | n %> -<% '['. join("] [", @actions). ']' | n %> +<% '['. join("] [", @actions). '] ' | n %> % if ($subactions) { % my @actions; % foreach my $action (sort keys %{$subactions}) { diff --git a/rt/html/Elements/QueryString b/rt/html/Elements/QueryString index 7d41f15e0..1ddab85de 100644 --- a/rt/html/Elements/QueryString +++ b/rt/html/Elements/QueryString @@ -45,8 +45,12 @@ %# END BPS TAGGED BLOCK }}} <%init> my @params; -while ( (my $key, my $value) = each %ARGS ){ +while ( my ($key, $value) = each %ARGS ){ + if( UNIVERSAL::isa( $value, 'ARRAY' ) ) { + push @params, map $key."=".$m->interp->apply_escapes($_,'u'), @$value; + } else { push @params, $key."=".$m->interp->apply_escapes($value,'u'); + } } return(join('&',@params)); </%init> diff --git a/rt/html/Elements/RT__Ticket/ColumnMap b/rt/html/Elements/RT__Ticket/ColumnMap index dade91494..80e3c693c 100644 --- a/rt/html/Elements/RT__Ticket/ColumnMap +++ b/rt/html/Elements/RT__Ticket/ColumnMap @@ -95,6 +95,7 @@ sub LinkCallback { my $mode = $RT::Ticket::LINKTYPEMAP{$method}{Mode}; my $type = $RT::Ticket::LINKTYPEMAP{$method}{Type}; + my $other_mode = ($mode eq "Target" ? "Base" : "Target"); my $mode_uri = $mode.'URI'; my $local_type = 'Local'.$mode; @@ -105,7 +106,7 @@ sub LinkCallback { \'">', ( $_->$mode_uri->IsLocal ? $_->$local_type : $_->$mode ), \'</A><BR>', - } @{ $_[0]->Links($mode,$type)->ItemsArrayRef } + } @{ $_[0]->Links($other_mode,$type)->ItemsArrayRef } } } diff --git a/rt/html/Elements/ScrubHTML b/rt/html/Elements/ScrubHTML index 94a729907..443ded9c4 100644 --- a/rt/html/Elements/ScrubHTML +++ b/rt/html/Elements/ScrubHTML @@ -62,7 +62,7 @@ $scrubber->default( $scrubber->deny(qw[*]); $scrubber->allow( - qw[A B U P BR I HR BR SMALL EM FONT SPAN DIV UL OL LI DL DT DD]); + qw[A B U P BR I HR BR SMALL EM FONT SPAN DIV UL OL LI DL DT DD PRE]); $scrubber->comment(0); return ( $scrubber->scrub($Content) ); </%init> diff --git a/rt/html/Elements/ShowCustomFields b/rt/html/Elements/ShowCustomFields index 7591fa3aa..986184120 100644 --- a/rt/html/Elements/ShowCustomFields +++ b/rt/html/Elements/ShowCustomFields @@ -71,6 +71,9 @@ </table> <%INIT> my $CustomFields = $Object->CustomFields; + $m->comp('/Elements/Callback', _CallbackName => 'MassageCustomFields', + CustomFields => $CustomFields); + </%INIT> <%ARGS> $Object => undef diff --git a/rt/html/Elements/SimpleSearch b/rt/html/Elements/SimpleSearch index e76f801df..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 tickets</&>"> +<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 f5839a9e5..721f920d5 100644 --- a/rt/html/Elements/Tabs +++ b/rt/html/Elements/Tabs @@ -57,9 +57,17 @@ <%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 = { 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> |