[Rt-commit] rt branch, 3.999-trunk, updated. f0ff59cb69bf510031961fb432b957721a2278ca
sartak at bestpractical.com
sartak at bestpractical.com
Wed Dec 2 07:17:58 EST 2009
The branch, 3.999-trunk has been updated
via f0ff59cb69bf510031961fb432b957721a2278ca (commit)
from dbb181440839cfa79af8291558e13112239ff710 (commit)
Summary of changes:
lib/RT/Model/Ticket.pm | 75 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 60 insertions(+), 15 deletions(-)
- Log -----------------------------------------------------------------
commit f0ff59cb69bf510031961fb432b957721a2278ca
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Wed Dec 2 07:17:46 2009 -0500
Canonicalizers for priority columns
diff --git a/lib/RT/Model/Ticket.pm b/lib/RT/Model/Ticket.pm
index 46333c9..998ce7c 100755
--- a/lib/RT/Model/Ticket.pm
+++ b/lib/RT/Model/Ticket.pm
@@ -434,21 +434,6 @@ sub create {
#Since we have a queue, we can set queue defaults
- #Initial priority
- # If there's no queue default initial priority and it's not set, set it to 0
- $args{'initial_priority'} = $queue_obj->initial_priority || 0
- unless defined $args{'initial_priority'};
-
- #Final priority
- # If there's no queue default final priority and it's not set, set it to 0
- $args{'final_priority'} = $queue_obj->final_priority || 0
- unless defined $args{'final_priority'};
-
- # priority may have changed from initial_priority, for the case
- # where we're importing tickets (eg, from an older RT version.)
- $args{'priority'} = $args{'initial_priority'}
- unless defined $args{'priority'};
-
# XXX we should become consistent about requestor vs requestors
$args{'requestor'} = delete $args{'requestors'}
unless $args{'requestor'};
@@ -922,6 +907,66 @@ sub canonicalize_told {
return RT::DateTime->new_unset;
}
+=head2 canonicalize_initial_priority
+
+Fallback to the queue's initial priority if available, or 0.
+
+=cut
+
+sub canonicalize_initial_priority {
+ my $self = shift;
+ my $initial = shift;
+ my $other = shift;
+
+ return $initial if defined $initial;
+
+ my $queue = $self->queue_id || $other->{queue};
+ my $queue_obj = RT::Model::Queue->new;
+ $queue_obj->load($queue);
+
+ return $queue_obj->initial_priority || 0;
+}
+
+=head2 canonicalize_final_priority
+
+Fallback to the queue's final priority if available, or 0.
+
+=cut
+
+sub canonicalize_final_priority {
+ my $self = shift;
+ my $final = shift;
+ my $other = shift;
+
+ return $final if defined $final;
+
+ my $queue = $self->queue_id || $other->{queue};
+ my $queue_obj = RT::Model::Queue->new;
+ $queue_obj->load($queue);
+
+ return $queue_obj->final_priority || 0;
+}
+
+=head2 canonicalize_priority
+
+Fallback to the initial priority.
+
+=cut
+
+sub canonicalize_priority {
+ my $self = shift;
+ my $priority = shift;
+ my $other = shift;
+
+ return $priority if defined $priority;
+
+ # Otherwise, we should canonicalize to initial_priority. But
+ # canonicalizations are unordered, so we need to play a little dirty
+ my $initial = $self->canonicalize_initial_priority($other->{initial_priority}, $other, @_);
+
+ return $initial;
+}
+
sub roles { return ( "cc", "admin_cc", "requestor" ); }
=head2 squelch_mail_to [EMAIL]
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list