Changeset 1306
- Timestamp:
- 04/01/15 18:41:34 (9 years ago)
- Location:
- trunk/LATMOS-Accounts
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm
r1297 r1306 407 407 } 408 408 return scalar(keys %updated); 409 } 410 411 =head2 addAttributeValue($attribute, $value) 412 413 Add a value to a multivalue attributes 414 415 =cut 416 417 sub _addAttributeValue { 418 my ($self, $attribute, @values) = @_; 419 420 my @oldvalues = $self->_get_attributes($attribute); 421 $self->_set_c_fields($attribute => [ @oldvalues, @values ]); 422 } 423 424 sub addAttributeValue { 425 my ($self, $attribute, @values) = @_; 426 427 my @oldvalues = $self->_get_attributes($attribute); 428 $self->set_c_fields($attribute => [ @oldvalues, @values ]); 429 } 430 431 =head2 delAttributeValue($attribute, $value) 432 433 Remove a value to a multivalue attributes 434 435 =cut 436 437 sub _delAttributeValue { 438 my ($self, $attribute, @values) = @_; 439 440 my @oldvalues = grep { $_ } $self->_get_attributes($attribute); 441 442 foreach my $value (@values) { 443 @oldvalues = grep { $_ ne $value } @oldvalues; 444 } 445 446 $self->_set_c_fields($attribute => @oldvalues ? [ @oldvalues, ] : undef ); 447 } 448 449 sub delAttributeValue { 450 my ($self, $attribute, @values) = @_; 451 452 my @oldvalues = grep { $_ } $self->_get_attributes($attribute); 453 454 foreach my $value (@values) { 455 @oldvalues = grep { $_ ne $value } @oldvalues; 456 } 457 458 $self->set_c_fields($attribute => @oldvalues ? [ @oldvalues, ] : undef ); 409 459 } 410 460 -
trunk/LATMOS-Accounts/t/11_bases_unix.t
r1071 r1306 1 1 use strict; 2 2 use warnings; 3 use Test::More tests => 29;3 use Test::More tests => 33; 4 4 use File::Temp; 5 5 … … 51 51 ok(eq_set($group->get_c_field('memberUID'), [ 'admin' ]), 'can get group\'s member after change'); 52 52 53 ok($group->addAttributeValue('memberUID', 'root'), 'can use addAttributeValue'); 54 ok(eq_set($group->get_c_field('memberUID'), [ 'admin', 'root' ]), 'can get group\'s member after addAttributeValue'); 55 ok($group->delAttributeValue('memberUID', 'root'), 'can use addAttributeValue'); 56 ok(eq_set($group->get_c_field('memberUID'), [ 'admin' ]), 'can get group\'s member after addAttributeValue'); 53 57 54 58 ok(my $unixbmod = LATMOS::Accounts::Bases->new(
Note: See TracChangeset
for help on using the changeset viewer.