Ignore:
Timestamp:
04/01/15 18:41:35 (9 years ago)
Author:
nanardon
Message:

add services rw attributes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/objects.pm

    r1303 r1308  
    103103    $info->{exported}   = { inline => 1, formtype => 'CHECKBOX', hide => 1, monitored => 1 }; 
    104104    $info->{unexported} = { inline => 1, formtype => 'CHECKBOX', }; 
    105     $info->{services}   = { inline => 1, ro => 1, }; 
     105    $info->{services}   = { inline => 1, multiple => 1, reference => 'service' }; 
    106106 
    107107    $info 
     
    320320    if (exists($data{exported})) { 
    321321        $data{exported} ||= 0; 
     322    } 
     323    if (exists($data{services})) { 
     324        my %old = map { $_ => 0 } $self->get_attributes('services'); 
     325        foreach my $serv (grep { $_ } ref $data{services} ? @{ $data{services} } : $data{services}) { 
     326            if (!exists($old{$serv})) { 
     327                my $oserv = $self->base->get_object('service', $serv) or next; 
     328                $oserv->addAttributeValue('dependOn', $self->type . '.' . $self->id); 
     329            } 
     330            $old{$serv} = 1; 
     331        } 
     332        foreach my $serv (keys %old) { 
     333            if (!$old{$serv}) { 
     334                my $oserv = $self->base->get_object('service', $serv) or next; 
     335                $oserv->delAttributeValue('dependOn', $self->type . '.' . $self->id); 
     336            } 
     337        } 
     338        delete($data{services}); 
    322339    } 
    323340    foreach my $field (keys %data) { 
Note: See TracChangeset for help on using the changeset viewer.