diff options
Diffstat (limited to 'rt/html/REST/1.0/Forms/ticket/take')
-rwxr-xr-x | rt/html/REST/1.0/Forms/ticket/take | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/rt/html/REST/1.0/Forms/ticket/take b/rt/html/REST/1.0/Forms/ticket/take new file mode 100755 index 000000000..35ee11fa7 --- /dev/null +++ b/rt/html/REST/1.0/Forms/ticket/take @@ -0,0 +1,135 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2007 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., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/copyleft/gpl.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 }}} +%# REST/1.0/Forms/ticket/take +%# +<%ARGS> +$id +%changes +</%ARGS> +<%INIT> +use RT::Interface::REST; + +my $ticket = new RT::Ticket $session{CurrentUser}; +my ($c, $o, $k, $e) = ("", [], {}, 0); + +# http://.../REST/1.0/ticket/1/take +$ticket->Load( $id ); +unless ( $ticket->Id ) { + $e = 1; + $c = "# Ticket $id does not exist."; + goto OUTPUT; +} + +my $action; + +my @comments; + +($action = $changes{Action}) =~ s/^(.)(.*)$/\U$1\L$2\E/; +unless ($action =~ /^(?:Take|Steal|Untake)$/) { + $e = 1; + $c = "# Invalid action: `$action'."; + goto OUTPUT; +} + +my ($status, $msg) = $ticket->$action(); +$c = "# $msg"; +$e = 1 unless $status; +goto OUTPUT; + +#unless ($ticket->CurrentUserHasRight('ModifyTicket') || +# ( ($action eq "Take" || $action eq 'Untake') && +# $ticket->CurrentUserHasRight("TakeTicket")) || +# ($action eq "Steal" && +# $ticket->CurrentUserHasRight("StealTicket"))) +#{ +# $e = 1; +# $c = "# You are not allowed to $action ticket $id."; +# goto OUTPUT; +#} + +#if ( keys %changes ) { +#} +#else { +# # process the form data structure +# my ($key, $val); +# +# foreach $key (keys %data) { +# $val = $data{$key}; +# +# if ($key =~ /^force$/i) { +# if ($val !~ /^(?:0|1)$/) { +# push(@comments, "# invalid value for 'force': $val"); +# goto DONE; +# } +# my ($ret_id, $msg); +# +# ### take +# if ($val == 0) { +# ($ret_id, $msg) = $ticket->Take; +# if (!$ret_id) { +# push(@comments, "# Couldn't take ticket $id: $msg"); +# goto DONE; +# } +# push(@comments, "# Ticket $id taken."); +# } +# ### steal +# else { +# ($ret_id, $msg) = $ticket->Steal; +# if (!$ret_id) { +# push(@comments, "# Couldn't steal ticket $id: $msg"); +# goto DONE; +# } +# push(@comments, "# Ticket $id stolen."); +# } +# } +# } +#} + +OUTPUT: +return [ $c, $o, $k, $e ]; +</%INIT> |