[Rt-commit] rt branch, create-action, updated. 0d1a1eaeb9d89a687d9eb81948d39a86f9b5f7cf
sartak at bestpractical.com
sartak at bestpractical.com
Tue Sep 22 08:46:59 EDT 2009
The branch, create-action has been updated
via 0d1a1eaeb9d89a687d9eb81948d39a86f9b5f7cf (commit)
from 1a2d5e1a64dbc3413cf35eaa0e3598d0816cfb09 (commit)
Summary of changes:
lib/RT/Action/CreateTicket.pm | 12 ++++++------
lib/RT/Action/QueueBased.pm | 12 +++++++++++-
2 files changed, 17 insertions(+), 7 deletions(-)
- Log -----------------------------------------------------------------
commit 0d1a1eaeb9d89a687d9eb81948d39a86f9b5f7cf
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Tue Sep 22 08:46:38 2009 -0400
Factor away setting _cached_arguments into a method, fill_parameter
diff --git a/lib/RT/Action/CreateTicket.pm b/lib/RT/Action/CreateTicket.pm
index 5cfe5e2..b97c162 100644
--- a/lib/RT/Action/CreateTicket.pm
+++ b/lib/RT/Action/CreateTicket.pm
@@ -75,7 +75,7 @@ sub set_valid_statuses {
my $queue = shift;
my @valid_statuses = $queue->status_schema->valid;
- $self->{_cached_arguments}{status}{valid_values} = \@valid_statuses;
+ $self->fill_parameter(status => valid_values => \@valid_statuses);
}
sub set_valid_owners {
@@ -107,12 +107,12 @@ sub set_valid_owners {
values %user_uniq_hash;
unshift @valid_owners, RT->nobody;
- $self->{_cached_arguments}{owner}{valid_values} = [
+ $self->fill_parameter(owner => valid_values => [
map { {
display => $_->name, # XXX: should use ShowUser or something
value => $_->id,
} } @valid_owners,
- ];
+ ]);
}
sub add_role_group_parameter {
@@ -123,18 +123,18 @@ sub add_role_group_parameter {
push @{ $self->{_role_group_parameters} }, $name;
- $self->{_cached_arguments}{$name} = {
+ $self->fill_parameter($name => (
render_as => 'text',
display_length => 40,
%args,
- };
+ ));
}
sub set_default_priority {
my $self = shift;
my $queue = shift;
- $self->{_cached_arguments}{priority}{default_value} = $queue->initial_priority;
+ $self->fill_parameter(priority => default_value => $queue->initial_priority);
}
1;
diff --git a/lib/RT/Action/QueueBased.pm b/lib/RT/Action/QueueBased.pm
index de47c15..d74712f 100644
--- a/lib/RT/Action/QueueBased.pm
+++ b/lib/RT/Action/QueueBased.pm
@@ -60,13 +60,23 @@ sub set_queue {
# Prep the arguments cache
$self->arguments if !$self->{_cached_arguments};
- $self->{_cached_arguments}{queue}{default_value} = $queue->name;
+ $self->fill_parameter(queue => default_value => $queue->name);
$self->after_set_queue($queue);
return $queue;
}
+sub fill_parameter {
+ my $self = shift;
+ my $name = shift;
+
+ $self->{_cached_arguments}{$name} = {
+ %{ $self->{_cached_arguments}{$name} || {} },
+ @_,
+ };
+}
+
sub after_set_queue {}
1;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list