Ignore:
Timestamp:
04/02/12 18:07:04 (12 years ago)
Author:
acoutinho
Message:

Ticket #2587 - Bugs encontrados na nova agenga(expressoCalendar)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/calendar/interceptors/DBMapping.php

    r5850 r5863  
    108108    public function findSchedulable( &$uri , &$params , &$criteria , $original ) 
    109109   { 
    110          
    111         ob_start(); 
    112         print_r($criteria); 
    113          
    114         $output = ob_get_clean(); 
    115         file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND); 
    116          
    117          
    118110       if(isset($criteria['filter'][3][1]) && $criteria['filter'][3][1] == 'calendar') 
    119111       { 
     
    787779        $permission = Controller::read($uri, array('user','calendar')); 
    788780 
    789         $calendarSignature = Controller::find( array( 'concept' => 'calendarSignature' ) , array('id') ,array( 'filter' => array('AND', array('=','calendar', $permission['calendar']), array('=','user',$permission['user']))));  
     781        $calendarSignature = Controller::find( array( 'concept' => 'calendarSignature' ) , array('id') ,array( 'filter' => array('AND', array('=','calendar', $permission['calendar']), array('=','user',$permission['user']), array('=','isOwner','0'))));  
    790782 
    791783        if($calendarSignature) 
     
    820812 
    821813    public function createDefaultSignature( &$uri , &$result , &$criteria , $original ){ 
    822                       
    823     //Caso uma busca não retorne nenhum resultado e foi buscado pelas assinaturas do usuario logado apenas 
    824     if(count($result) <= 0 &&  
    825             ( $original['criteria']['filter'][0] == '=' && 
    826               $original['criteria']['filter'][1] == 'user' && 
    827               $original['criteria']['filter'][2] == $_SESSION['phpgw_session']['account_id'] 
     814 
     815        //Caso uma busca não retorne nenhum resultado e foi buscado pelas assinaturas do usuario logado apenas 
     816        $isValidSignature = false; 
     817                 
     818        //Veirifica pois o usuário pode ter varias assinaturas mas não ser dona de nenhuma 
     819        if(count($result) > 0){ 
     820            foreach($result as $key){    
     821                if($key['isOwner'] != 0) 
     822                    $isValidSignature = true; 
     823            } 
     824        } 
     825 
     826    if(!$isValidSignature &&  
     827            ( $original['criteria']['filter'][1][0] == '=' && 
     828              $original['criteria']['filter'][1][1] == 'user' && 
     829              $original['criteria']['filter'][1][2] == $_SESSION['phpgw_session']['account_id'] 
    828830            )) 
    829831    {         
Note: See TracChangeset for help on using the changeset viewer.