[Rt-commit] r2890 - in rt/branches/CHALDEA-EXPERIMENTAL/lib: RT
t/regression
autrijus at bestpractical.com
autrijus at bestpractical.com
Wed May 18 08:36:58 EDT 2005
Author: autrijus
Date: Wed May 18 08:36:58 2005
New Revision: 2890
Modified:
rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomFieldValue_Overlay.pm
rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomField_Overlay.pm
rt/branches/CHALDEA-EXPERIMENTAL/lib/t/regression/15cf_combo_cascade.t
Log:
* stub for $cfv->Category and $cfv->SetCategory, as well as $cfv->Create
that accepts Category as key.
Modified: rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomFieldValue_Overlay.pm
==============================================================================
--- rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomFieldValue_Overlay.pm (original)
+++ rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomFieldValue_Overlay.pm Wed May 18 08:36:58 2005
@@ -13,6 +13,36 @@
=cut
+sub Create {
+ my $self = shift;
+ my %args = @_;
+ (defined $args{$_} or delete $args{$_}) for keys %args;
+ %args = ((CustomField => '0',
+ Name => '',
+ Description => '',
+ SortOrder => '0',
+ Category => ''), %args);
+
+ my ($id, $msg) = $self->SUPER::Create(
+ map {$_ => $args{$_}} qw(CustomField Name Description SortOrder)
+ );
+ if ($id and length $args{Category}) {
+ # $self would be loaded at this stage
+ $self->SetCategory($args{Category});
+ }
+ return ($id, $msg);
+}
+
+sub Category {
+ my $self = shift;
+ return '';
+}
+
+sub SetCategory {
+ my $self = shift;
+ my $category = shift;
+ return (0, '');
+}
sub ValidateName { 1 };
Modified: rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomField_Overlay.pm
==============================================================================
--- rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomField_Overlay.pm (original)
+++ rt/branches/CHALDEA-EXPERIMENTAL/lib/RT/CustomField_Overlay.pm Wed May 18 08:36:58 2005
@@ -361,26 +361,19 @@
=cut
sub AddValue {
- my $self = shift;
- my %args = ( Name => undef,
- Description => undef,
- SortOrder => undef,
- @_ );
+ my $self = shift;
+ my %args = @_;
unless ($self->CurrentUserHasRight('AdminCustomField')) {
return (0, $self->loc('Permission Denied'));
}
- unless ($args{'Name'}) {
+ unless (length $args{'Name'}) {
return(0, $self->loc("Can't add a custom field value without a name"));
}
- my $newval = RT::CustomFieldValue->new($self->CurrentUser);
- return($newval->Create(
- CustomField => $self->Id,
- Name =>$args{'Name'},
- Description => ($args{'Description'} || ''),
- SortOrder => ($args{'SortOrder'} || '0')
- ));
+
+ my $newval = RT::CustomFieldValue->new($self->CurrentUser);
+ return($newval->Create(%args, CustomField => $self->Id));
}
Modified: rt/branches/CHALDEA-EXPERIMENTAL/lib/t/regression/15cf_combo_cascade.t
==============================================================================
--- rt/branches/CHALDEA-EXPERIMENTAL/lib/t/regression/15cf_combo_cascade.t (original)
+++ rt/branches/CHALDEA-EXPERIMENTAL/lib/t/regression/15cf_combo_cascade.t Wed May 18 08:36:58 2005
@@ -31,20 +31,20 @@
my ($id,undef,$msg) = $t->Create(Queue => $q->id, Subject => 'CF Test');
ok($id,$msg);
-sub cnt { $cf->Values->Count };
-sub add { $cf->AddValue(Field => $cf->id, Value => $_[0], Category => $_[1]) };
+sub add_ok {
+ my ($id, $msg) = $cf->AddValue(Name => $_[0], Description => $_[0], Category => $_[1]);
+ ok($id, $msg);
+};
-ok(add('value1', '1. Category A'));
-is(cnt(), 1, "Value filled");
-ok(add('value2'));
-is(cnt(), 2, "Value filled");
-ok(add('value3', '1.1. A-sub one'));
-is(cnt(), 3, "Value filled");
-ok(add('value4', '1.2. A-sub two'));
-is(cnt(), 4, "Value filled");
-ok(add('value5', ''));
-is(cnt(), 5, "Value filled");
+add_ok('value1', '1. Category A');
+add_ok('value2');
+add_ok('value3', '1.1. A-sub one');
+add_ok('value4', '1.2. A-sub two');
+add_ok('value5', '');
-is($cf->Values->First->Category('1. Category A'), '1. Category A');
+my $cfv = $cf->Values->First;
+is($cfv->Category, '1. Category A');
+ok($cfv->SetCategory('1. Category AAA'));
+is($cfv->Category, '1. Category AAA');
1;
More information about the Rt-commit
mailing list