Show
Ignore:
Timestamp:
08/14/08 12:01:54 (4 years ago)
Author:
kohlhaas
Message:

closes #56

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/org/rapla/facade/internal/FacadeImpl.java

    r1268 r1330  
    481481        } 
    482482        removeFilteredClassifications( reservations, filters); 
     483         
     484        //Category can_see = getUserGroupsCategory().getCategory( Permission.GROUP_CAN_READ_EVENTS_FROM_OTHERS); 
    483485        Iterator it = reservations.iterator(); 
     486        boolean canSeeOthers =  canReadReservationsFromOthers(user); 
    484487        while ( it.hasNext() ) { 
    485488            Reservation r = (Reservation) it.next(); 
    486             if ( workingUser == null || r.getOwner().equals( workingUser ) || workingUser.isAdmin()) 
     489            if ( workingUser == null || r.getOwner().equals( workingUser ) || canSeeOthers) 
    487490                continue; 
    488491            Allocatable[] allocatables = r.getAllocatables(); 
     
    691694            return false; 
    692695        } 
     696    } 
     697     
     698    public boolean canReadReservationsFromOthers(User user)  
     699    { 
     700        if ( user == null) 
     701        { 
     702            return workingUser == null || workingUser.isAdmin(); 
     703        } 
     704        if ( user.isAdmin()) 
     705        { 
     706            return true; 
     707        } 
     708        try { 
     709            Category can_see = getUserGroupsCategory().getCategory( Permission.GROUP_CAN_READ_EVENTS_FROM_OTHERS); 
     710            return user.belongsTo( can_see); 
     711        } 
     712        catch (Exception ex) 
     713        { 
     714            getLogger().error("Can't get permissions!", ex); 
     715        } 
     716        return false; 
    693717    } 
    694718