summaryrefslogtreecommitdiff
path: root/rt/share/html/Helpers
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-06-07 00:56:06 -0700
committerIvan Kohler <ivan@freeside.biz>2012-06-07 00:56:06 -0700
commit43a06151e47d2c59b833cbd8c26d97865ee850b6 (patch)
tree42c51d94e7fa265461b508d061562be204ccc2c1 /rt/share/html/Helpers
parent6587f6ba7d047ddc1686c080090afe7d53365bd4 (diff)
starting to work...
Diffstat (limited to 'rt/share/html/Helpers')
-rw-r--r--rt/share/html/Helpers/Autocomplete/CustomFieldValues43
-rw-r--r--rt/share/html/Helpers/CalPopup.html143
-rw-r--r--rt/share/html/Helpers/Toggle/TicketBookmark2
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 {
- &nbsp;
-% }
- </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)