Changeset 6299


Ignore:
Timestamp:
05/24/12 17:20:30 (12 years ago)
Author:
acoutinho
Message:

Ticket #2797 - Agendas sendo assinadas pelo proprio dono

Location:
trunk/prototype
Files:
3 edited

Legend:

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

    r6295 r6299  
    463463    public function deepnessFindCalendarShared(&$uri, &$result, &$criteria, $original) { 
    464464        if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != '0' && count($result) > 0) { 
     465 
    465466            $calendarIds = array(); 
    466467            foreach ($result as $key => $value) 
     
    469470            $calendar = Controller::find(array('concept' => 'calendar'), false, array('filter' => array('AND', array('IN', 'id', $calendarIds), $original['criteria']['filter']))); 
    470471 
    471             if (!is_array($calendar)) 
    472                 $result = ''; 
    473  
    474             $newResult = array(); 
    475             foreach ($calendar as $key => $value) { 
    476                 foreach ($result as $k => $r) { 
    477  
    478                     if ($r['calendar'] == $value['id']) { 
    479                         $r['calendar'] = $value; 
    480                         array_push($newResult, $r); 
     472            if ($calendar && count($calendar) > 0){ 
     473                $newResult = array(); 
     474                foreach ($calendar as $key => $value) { 
     475                    foreach ($result as $k => $r) { 
     476 
     477                        if ($r['calendar'] == $value['id']) { 
     478                            $r['calendar'] = $value; 
     479                            array_push($newResult, $r); 
     480                        } 
    481481                    } 
    482482                } 
    483             } 
    484  
    485             foreach ($newResult as $key => &$value) { 
    486                 if ($value['user'] != 0) { 
    487                     $user = $value['user']; 
    488                     $value['user'] = Controller::read(array('concept' => 'user', 'id' => $user)); 
    489  
    490                     if (!$value['user']) 
    491                         $value['user'] = Controller::read(array('concept' => 'group', 'id' => $user)); 
     483 
     484                foreach ($newResult as $key => &$value) { 
     485                    if ($value['user'] != 0) { 
     486                        $user = $value['user']; 
     487                        $value['user'] = Controller::read(array('concept' => 'user', 'id' => $user)); 
     488 
     489                        if (!$value['user']) 
     490                            $value['user'] = Controller::read(array('concept' => 'group', 'id' => $user)); 
     491                    } 
    492492                } 
    493             } 
    494  
    495  
    496             $result = $newResult; 
     493 
     494                $result = $newResult; 
     495            }else 
     496                $result = ''; 
    497497        } 
    498498    } 
  • trunk/prototype/modules/calendar/js/calendar.shared.js

    r6066 r6299  
    406406            }, true); 
    407407            var resultPublic = DataLayer.get('calendarToPermission', { 
    408                 filter: ['AND', ['=','type',1],   ['OR', ['i*','name',$(this).val()], ["i*", "description", $(this).val()]]]  ,  
     408                filter: ['AND', ['=','type',1], ['OR', ['i*','name',$(this).val()], ["i*", "description", $(this).val()]], ['!IN','calendar', Calendar.calendarIds]]  ,  
    409409                criteria: { 
    410410                    deepness: 2 
     
    444444                    type: 0 
    445445                }) 
    446                 resultNormalize[i].enabled = currentCalendars[result[i].id] ? false : true; 
     446                resultNormalize[(resultNormalize.length - 1)].enabled = currentCalendars[result[i].id] ? false : true; 
    447447            } 
    448448            if(resultPublic) 
     
    454454                        type: 1 
    455455                    }) 
    456                     resultNormalize[i].enabled = currentCalendars[resultPublic[i].id] ? false : true; 
     456                    resultNormalize[(resultNormalize.length - 1)].enabled = currentCalendars[resultPublic[i].id] ? false : true; 
    457457                } 
    458458                                 
  • trunk/prototype/services/PostgreSQL.php

    r6145 r6299  
    306306            case 'or': return( $op ); 
    307307            case 'in': return array( $op ); 
     308            case '!in': return array( 'NOT IN' ); 
    308309            case '^': return array( 'like', '%',  '' ); 
    309310            case '$': return array( 'like',  '', '%' ); 
Note: See TracChangeset for help on using the changeset viewer.