[Rt-commit] r2509 - in rt/branches/3.4-RELEASE: . lib/RT
jesse at bestpractical.com
jesse at bestpractical.com
Sun Mar 27 00:19:20 EST 2005
Author: jesse
Date: Sun Mar 27 00:19:20 2005
New Revision: 2509
Modified:
rt/branches/3.4-RELEASE/ (props changed)
rt/branches/3.4-RELEASE/lib/RT/Record.pm
Log:
r10204 at hualien: jesse | 2005-03-27 13:08:01 +0800
* Improved generic messages returned by RT::Record->_Set()
* Corrected RT::Record->_Set to return a Class::ReturnValue, rather than butchering it
into an array. (This means that RT::Ticket->SetPriority can now be evaluated in boolean
or list context, like it was supposed to be)
Modified: rt/branches/3.4-RELEASE/lib/RT/Record.pm
==============================================================================
--- rt/branches/3.4-RELEASE/lib/RT/Record.pm (original)
+++ rt/branches/3.4-RELEASE/lib/RT/Record.pm Sun Mar 27 00:19:20 2005
@@ -474,12 +474,32 @@
$args{'Value'} = 0;
}
- $self->_SetLastUpdated();
- my ( $val, $msg ) = $self->SUPER::_Set(
+ my $old_val = $self->__Value($args{'Field'});
+ $self->_SetLastUpdated();
+ my $ret = $self->SUPER::_Set(
Field => $args{'Field'},
Value => $args{'Value'},
IsSQL => $args{'IsSQL'}
);
+ # $ret is a Class::ReturnValue object. as such, in a boolean context, it's a bool
+ # we want to change the standard "success" message
+ if ($ret) {
+ my @values = $ret->as_array;
+ # @values has two values, a status code and a message.
+ pop @values;
+ push @values,
+ $self->loc(
+ "[_1] changed from [_2] to [_3]",
+ $args{'Field'},
+ ( $old_val ? "'$old_val'" : $self->loc("(no value)") ),
+ '"' . $self->__Value( $args{'Field'} . '"' )
+ );
+
+ $ret->as_array(@values);
+ }
+
+ return ($ret);
+
}
# }}}
@@ -873,9 +893,13 @@
my ( $code, $msg ) = $self->$method($value);
my ($prefix) = ref($self) =~ /RT::(\w+)/;
+
+ # Default to $id, but use name if we can get it.
+ my $label = $self->id;
+ $label = $self->Name if (UNIVERSAL::can($self,'Name'));
+
push @results,
- $self->loc( "$prefix [_1]", $self->id ) . ': '
- . $self->loc($attribute) . ': '
+ $self->loc( "$prefix [_1]", $label ) . ': '
. $self->CurrentUser->loc_fuzzy($msg);
=for loc
@@ -1014,10 +1038,12 @@
my ($rid, $rmsg)= $t1->Resolve();
ok(!$rid, $rmsg);
-ok($t2->Resolve);
+my ($rid2, $rmsg2) = $t2->Resolve();
+ok ($rid2, $rmsg2);
($rid, $rmsg)= $t1->Resolve();
ok(!$rid, $rmsg);
-ok($t3->Resolve);
+my ($rid3,$rmsg3) = $t3->Resolve;
+ok ($rid3,$rmsg3);
($rid, $rmsg)= $t1->Resolve();
ok($rid, $rmsg);
More information about the Rt-commit
mailing list