Changeset 462


Ignore:
Timestamp:
09/30/09 23:01:36 (15 years ago)
Author:
nanardon
Message:
  • manage several destinations in aliases
Location:
LATMOS-Accounts/lib/LATMOS/Accounts/Bases
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Mail/Aliases.pm

    r305 r462  
    3232sub get_field { 
    3333    my ($self, $field) = @_; 
    34     $field eq 'forward' and return $self->base->{aliases}{$self->id}; 
     34    $field eq 'forward' and return 
     35        [ split(',', $self->base->{aliases}{$self->id}) ]; 
    3536    return 
    3637} 
     
    3940    my ($self, %data) = @_; 
    4041    if ($data{forward}) { 
    41         $self->base->{aliases}{$self->id} = $data{forward}; 
     42        $self->base->{aliases}{$self->id} = ref $data{forward} 
     43            ? join(',', @{$data{forward}}), 
     44            : $data{forward}; 
    4245        return 1; 
    4346    } 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Aliases.pm

    r371 r462  
    8989            if (my $res = $sth->fetchrow_hashref) { 
    9090                $next = $res->{forward}; 
     91                $next = ref $next 
     92                    ? join(',', @$next) 
     93                    : $next; 
    9194                next; 
    9295            } else { 
     
    99102    if ($field =~ /^(parents|anyparents|sameforward|samedestination)$/) { 
    100103        my $sth = $self->db->prepare_cached(q{ 
    101             select name from aliases where lower(forward) = lower($1) 
     104            select name from aliases where array[lower($1)] <@ 
     105                string_to_array(lower(array_to_string("forward", ',')), ',') 
    102106            }); 
    103107        my @tocheck = ($field =~ /^sameforward$/ 
Note: See TracChangeset for help on using the changeset viewer.