diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-06-07 00:56:06 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-06-07 00:56:06 -0700 |
commit | 43a06151e47d2c59b833cbd8c26d97865ee850b6 (patch) | |
tree | 42c51d94e7fa265461b508d061562be204ccc2c1 /rt/share/html/Helpers | |
parent | 6587f6ba7d047ddc1686c080090afe7d53365bd4 (diff) |
starting to work...
Diffstat (limited to 'rt/share/html/Helpers')
-rw-r--r-- | rt/share/html/Helpers/Autocomplete/CustomFieldValues | 43 | ||||
-rw-r--r-- | rt/share/html/Helpers/CalPopup.html | 143 | ||||
-rw-r--r-- | rt/share/html/Helpers/Toggle/TicketBookmark | 2 |
3 files changed, 29 insertions, 159 deletions
diff --git a/rt/share/html/Helpers/Autocomplete/CustomFieldValues b/rt/share/html/Helpers/Autocomplete/CustomFieldValues index 85323ccc3..b8b21e4fe 100644 --- a/rt/share/html/Helpers/Autocomplete/CustomFieldValues +++ b/rt/share/html/Helpers/Autocomplete/CustomFieldValues @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -45,37 +45,50 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} -<ul> -% while( my $value = $values->Next ) { -% my $desc = $value->Description || ''; -% $desc = '<span class="informal"> ('. $m->interp->apply_escapes( $desc, 'h' ) .')</span>' if $desc; -<li><% $value->Name %><% $desc |n %></li> -% } -</ul> +% $r->content_type('application/json'); +<% JSON( \@suggestions ) |n %> % $m->abort; <%INIT> -my ($CustomField, $Value); -while( my($k, $v) = each %ARGS ) { +# Only autocomplete the last value +my $term = (split /\n/, $ARGS{term} || '')[-1]; + +my $CustomField; +for my $k ( keys %ARGS ) { next unless $k =~ /^Object-.*?-\d*-CustomField-(\d+)-Values?$/; - ($CustomField, $Value) = ($1, $v); + $CustomField = $1; last; } + $m->abort unless $CustomField; my $CustomFieldObj = RT::CustomField->new( $session{'CurrentUser'} ); $CustomFieldObj->Load( $CustomField ); + my $values = $CustomFieldObj->Values; $values->Limit( FIELD => 'Name', OPERATOR => 'LIKE', - VALUE => $Value, - SUBCLAUSE => 'autcomplete', + VALUE => $term, + SUBCLAUSE => 'autocomplete', + CASESENSITIVE => 0, ); $values->Limit( ENTRYAGGREGATOR => 'OR', FIELD => 'Description', OPERATOR => 'LIKE', - VALUE => $Value, - SUBCLAUSE => 'autcomplete', + VALUE => $term, + SUBCLAUSE => 'autocomplete', + CASESENSITIVE => 0, ); +my @suggestions; + +while( my $value = $values->Next ) { + push @suggestions, + { + value => $value->Name, + label => $value->Description + ? $value->Name . ' (' . $value->Description . ')' + : $value->Name, + }; +} </%INIT> diff --git a/rt/share/html/Helpers/CalPopup.html b/rt/share/html/Helpers/CalPopup.html deleted file mode 100644 index cd812d31a..000000000 --- a/rt/share/html/Helpers/CalPopup.html +++ /dev/null @@ -1,143 +0,0 @@ -%# BEGIN BPS TAGGED BLOCK {{{ -%# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -%# <sales@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., 51 Franklin Street, Fifth Floor, Boston, MA -%# 02110-1301 or visit their web page on the internet at -%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# -%# 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 }}} -<& /Elements/Header, ShowBar => 0 &> -%# From /Elements/Header -</div> -<div id="body" class="calpopup"> - -<a href="#" onclick="window.close(); return false;"><&|/l&>Close window</&></a> - -<div class="calendar"> - <table> - <caption> - <a class="prev" href="CalPopup.html?DisplayedMonth=<%$prev_month%>&DisplayedYear=<%$prev_year%>&field=<%$field%>"><&|/l&>Prev</&></a> - <span class="month"><% $months[$DisplayedMonth-1] %> <% $DisplayedYear %></span> - <a class="next" href="CalPopup.html?DisplayedMonth=<%$next_month%>&DisplayedYear=<%$next_year%>&field=<%$field%>"><&|/l&>Next</&></a> - </caption> - <tr> -% foreach my $wday (@weekdays) { - <th><%$wday%></th> -% } - </tr> -% foreach my $week (@cal) { - <tr> -% foreach my $day (@{$week}) { - <td> -% if ($day) { -% my $datestr = sprintf('%04d-%02d-%02d', $DisplayedYear, $DisplayedMonth, $day); -% my $class; -% if ( ( $DisplayedYear == $today[5] + 1900 ) && ( $DisplayedMonth == $today[4] + 1 ) && ( $day == $today[3] ) ) { -% $class = 'today'; -% } - <a <% $class && 'class="'.$class.'"' |n%> href="#" onclick="updateParentField('<% $field %>','<% $datestr %>'); return false;"><% $day %></a> -% } else { - -% } - </td> -% } #foreach $day - </tr> -% } # foreach $week - </table> -</div> -</div> -</body> -</html> -% $m->abort(); - -<%init> -use Calendar::Simple; -my @today = localtime(time()); - -my @weekdays; -push @weekdays, loc($_) - for qw(Sun Mon Tue Wed Thu Fri Sat); - -my @months; -push @months, loc($_) - for qw(January February March April May June July August - September October November December); - -unless ($DisplayedYear) { - $DisplayedMonth = $today[4] + 1; - $DisplayedYear = ($today[5] + 1900); -} - -my ($prev_year, $next_year, $prev_month, $next_month); -$prev_month = $next_month = $DisplayedMonth; -$prev_year = $next_year = $DisplayedYear; - -$next_month++; -$prev_month--; - -if ($DisplayedMonth == 12) { - $next_year++; - $next_month = 1; -} -elsif ($DisplayedMonth == 1) { - $prev_month = 12; - $prev_year--; -} - -my @cal; -{ - my $error; - # RT defines a __DIE__ and Calendar::Simple uses Carp::Croak to report errors - # work around this so we get a better error message if something is out of range - eval { local $SIG{__DIE__} = sub { $error = $_[0] }; @cal = calendar($DisplayedMonth, $DisplayedYear) }; - if ($error) { - $RT::Logger->error("error $error"); - $m->comp('/Elements/Error', Why => $error ); - } -} -</%init> - -<%args> -$field => 'none' -$DisplayedMonth => undef -$DisplayedYear => undef -</%args> diff --git a/rt/share/html/Helpers/Toggle/TicketBookmark b/rt/share/html/Helpers/Toggle/TicketBookmark index 3fa83a474..3833f27fa 100644 --- a/rt/share/html/Helpers/Toggle/TicketBookmark +++ b/rt/share/html/Helpers/Toggle/TicketBookmark @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) |