[Rt-commit] rt branch, update-action, updated. 70aebdae13b621d435f6603cda20b632fa753ce5
sartak at bestpractical.com
sartak at bestpractical.com
Tue Dec 8 07:07:34 EST 2009
The branch, update-action has been updated
via 70aebdae13b621d435f6603cda20b632fa753ce5 (commit)
from 12dd1fb5598bd4ff4eaefc4eb658ef8f5da777f4 (commit)
Summary of changes:
lib/RT/Action/UpdateTicket.pm | 102 +----------------------------------------
1 files changed, 1 insertions(+), 101 deletions(-)
- Log -----------------------------------------------------------------
commit 70aebdae13b621d435f6603cda20b632fa753ce5
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Tue Dec 8 07:07:17 2009 -0500
Gut most of the existing UpdateTicket
diff --git a/lib/RT/Action/UpdateTicket.pm b/lib/RT/Action/UpdateTicket.pm
index c0860cd..9c69891 100644
--- a/lib/RT/Action/UpdateTicket.pm
+++ b/lib/RT/Action/UpdateTicket.pm
@@ -1,96 +1,7 @@
package RT::Action::UpdateTicket;
use strict;
use warnings;
-
-use base qw/Jifty::Action::Record::Update/;
-
-sub record_class { 'RT::Model::Ticket' }
-
-use constant report_detailed_messages => 1;
-
-sub arguments {
- my $self = shift;
-
- my $args = $self->SUPER::arguments();
- $args->{status}{valid_values} = $self->_compute_possible_statuses;
- $args->{queue}{valid_values} = $self->_compute_possible_queues;
- $args->{owner}{valid_values} = $self->_compute_possible_owners;
- return $args;
-}
-
-=head2 take_action
-
-=cut
-
-sub take_action {
- my $self = shift;
- my @date_fields = qw/told starts started due/;
-
- foreach my $field (@date_fields) {
- my $value = $self->argument_value($field);
- if ( defined $value ) {
-
- # convert date to be as UTC
- my $date = RT::DateTime->new_from_string($value);
- $self->argument_value($field, $date);
- }
- }
-
- my @time_fields = qw/time_left time_estimated time_worked/;
-
- foreach my $field (@time_fields) {
- my $value = $self->argument_value($field);
- if ( defined $value ) {
- if ( $value =~ /([\d.]+)h(our)?/ ) {
- $value = int $1 * 60;
- }
- elsif ( $value =~ /(\d+)/ ) {
- $value = $1;
- }
- $self->argument_value( $field, $value );
- }
- }
-
- $self->SUPER::take_action;
- return 1;
-}
-
-sub _compute_possible_owners {
- my $self = shift;
-
- my @objects = ( $self->record, $self->record->queue );
-
- my %user_uniq_hash;
-
- my $isSU = Jifty->web->current_user->has_right(
- right => 'SuperUser',
- object => RT->system
- );
-
- foreach my $object (@objects) {
- my $Users = RT::Model::UserCollection->new;
- $Users->who_have_right(
- right => 'OwnTicket',
- object => $object,
- include_system_rights => 1,
- include_superusers => $isSU
- );
- while ( my $user = $Users->next() ) {
- next
- if ( $user->id == RT->nobody->id )
- ; # skip nobody here, so we can make them first later
- $user_uniq_hash{ $user->id() } = $user;
- }
- }
-
- my $owners = [
- map { { display => $_->name, value => $_->id } }
- sort { uc( $a->name ) cmp uc( $b->name ) } values %user_uniq_hash
- ];
- unshift @$owners, { display => 'Nobody', value => RT->nobody->id };
-
- return $owners;
-}
+use base 'RT::Action::TicketAction', 'Jifty::Action::Record::Update';
sub _compute_possible_queues {
my $self = shift;
@@ -117,15 +28,4 @@ sub _compute_possible_queues {
return $queues;
}
-sub _compute_possible_statuses {
- my $self = shift;
-
- my $record = $self->record;
- return [
- map { { display => $_, value => $_ } }
- $record->status,
- $record->queue->status_schema->transitions( $record->status )
- ];
-}
-
1;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list