Changeset 1320 for branches


Ignore:
Timestamp:
04/07/15 16:46:36 (9 years ago)
Author:
nanardon
Message:

add delAttributeValue and addAttributeValue functions from trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/4.0/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm

    r1299 r1320  
    407407    } 
    408408    return scalar(keys %updated); 
     409} 
     410 
     411=head2 addAttributeValue($attribute, $value) 
     412 
     413Add a value to a multivalue attributes 
     414 
     415=cut 
     416 
     417sub _addAttributeValue { 
     418    my ($self, $attribute, @values) = @_; 
     419 
     420    my @oldvalues = grep { $_ } $self->_get_attributes($attribute); 
     421    $self->_set_c_fields($attribute => [ @oldvalues, @values ]); 
     422} 
     423 
     424sub addAttributeValue { 
     425    my ($self, $attribute, @values) = @_; 
     426 
     427    my @oldvalues = grep { $_ } $self->_get_attributes($attribute); 
     428    $self->set_c_fields($attribute => [ @oldvalues, @values ]); 
     429} 
     430 
     431=head2 delAttributeValue($attribute, $value) 
     432 
     433Remove a value to a multivalue attributes 
     434 
     435=cut 
     436 
     437sub _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 
     449sub 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 ); 
    409459} 
    410460 
Note: See TracChangeset for help on using the changeset viewer.