Changeset 2407


Ignore:
Timestamp:
06/23/20 00:45:43 (4 years ago)
Author:
nanardon
Message:

Fix: groupOfName list when no member are exported

File:
1 edited

Legend:

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

    r2406 r2407  
    3131sub _has_extended_attributes { 1 } 
    3232 
     33sub listReal { 
     34    my ($class, $base) = @_; 
     35 
     36    my $sth = $base->db->prepare_cached( 
     37        sprintf( 
     38            q{select name as k from "group" where oalias IS NULL and internobject = false %s 
     39              and ikey in ( 
     40                SELECT okey from group_attributes_users 
     41                join "user" on group_attributes_users.value = "user".name 
     42                where attr = 'memberUID' %s 
     43                ) 
     44              order by name 
     45            }, 
     46            ($base->{wexported} ? '' : 'and exported = true'), 
     47            ($base->{wexported} ? '' : 'and "user".exported = true'), 
     48        ) 
     49    ); 
     50    $sth->execute; 
     51    my @keys; 
     52    while(my $res = $sth->fetchrow_hashref) { 
     53        push(@keys, $res->{k}); 
     54    } 
     55    @keys 
     56} 
     57 
    3358sub list { 
    3459    my ($class, $base) = @_; 
     
    3762        sprintf( 
    3863            q{select name as k from "group" where internobject = false %s 
    39               and ikey in ( SELECT okey from group_attributes_users where attr = 'memberUID' ) 
     64              and ikey in ( 
     65                SELECT okey from group_attributes_users 
     66                join "user" on group_attributes_users.value = "user".name 
     67                where attr = 'memberUID' %s 
     68                ) 
    4069              order by name 
    4170            }, 
    4271            ($base->{wexported} ? '' : 'and exported = true'), 
     72            ($base->{wexported} ? '' : 'and "user".exported = true'), 
    4373        ) 
    4474    ); 
     
    5787            q{select name as k from "group" where internobject = false %s 
    5888              and rev > ? and oalias IS NULL 
    59               and ikey in ( SELECT okey from group_attributes_users where attr = 'memberUID' ) 
     89              and ikey in ( 
     90                SELECT okey from group_attributes_users 
     91                join "user" on group_attributes_users.value = "user".name 
     92                where attr = 'memberUID' %s 
     93                ) 
    6094              order by name 
    6195            }, 
    6296            ($base->{wexported} ? '' : 'and exported = true'), 
     97            ($base->{wexported} ? '' : 'and "user".exported = true'), 
    6398        ) 
    6499    ); 
Note: See TracChangeset for help on using the changeset viewer.