[Rt-commit] r16522 - rt/branches/3.999-DANGEROUS/lib/RT/Model
ruz at bestpractical.com
ruz at bestpractical.com
Thu Oct 23 12:55:40 EDT 2008
Author: ruz
Date: Thu Oct 23 12:55:40 2008
New Revision: 16522
Modified:
rt/branches/3.999-DANGEROUS/lib/RT/Model/Ticket.pm
Log:
* adjust set_queue in Ticket model according to status schemas
Modified: rt/branches/3.999-DANGEROUS/lib/RT/Model/Ticket.pm
==============================================================================
--- rt/branches/3.999-DANGEROUS/lib/RT/Model/Ticket.pm (original)
+++ rt/branches/3.999-DANGEROUS/lib/RT/Model/Ticket.pm Thu Oct 23 12:55:40 2008
@@ -1308,6 +1308,17 @@
return ( 0, _("You may not create requests in that queue.") );
}
+ my $new_status;
+ my $schema = $self->queue->status_schema;
+ if ( $schema->name ne $Newqueue_obj->status_schema->name ) {
+ unless ( $schema->has_map( $Newqueue_obj->status_schema ) ) {
+ return ( 0, _("There is no mapping for statuses between these queues. Contact your system administrator.") );
+ }
+ $new_status = $schema->map( $Newqueue_obj )->{ $self->status };
+ return ( 0, _("Mapping between queues' status schemas is incomplete. Contact your system administrator.") )
+ unless $new_status;
+ }
+
unless (
$self->owner_obj->has_right(
right => 'OwnTicket',
@@ -1339,6 +1350,11 @@
. $msg )
unless $status;
}
+ if ( $new_status ) {
+ my ($status, $msg) = $self->set_status( status => $new_status, force => 1 );
+ Jifty->log->error( 'Status change failed on queue chabge: ' $msg )
+ unless $status;
+ }
}
return ( $status, $msg );
More information about the Rt-commit
mailing list