Changeset 7164


Ignore:
Timestamp:
09/04/12 17:09:47 (12 years ago)
Author:
acoutinho
Message:

Ticket #3062 - Incluir o uid do dono de uma agenda ao pesquisa-la

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoCalendar/setup/setup.inc.php

    r6996 r7164  
    1313        $setup_info['expressoCalendar']['title']        = 'Expresso Calendar'; 
    1414        /* Ao incrementar versão, não esquecer de declarar função do tables_update.inc.php*/ 
    15         $setup_info['expressoCalendar']['version']      = '1.008'; 
     15        $setup_info['expressoCalendar']['version']      = '1.009'; 
    1616        $setup_info['expressoCalendar']['app_order']    = 10; 
    1717 
  • trunk/expressoCalendar/setup/tables_update.inc.php

    r6996 r7164  
    171171            return $GLOBALS['setup_info']['expressoCalendar']['currentver']; 
    172172        }; 
     173 
     174    $test[] = '1.008'; 
     175    function expressoCalendar_upgrade1_008() { 
     176        $oProc = $GLOBALS['phpgw_setup']->oProc; 
     177 
     178        $oProc->query("ALTER TABLE calendar_permission ADD COLUMN owner bigint;"); 
     179        $oProc->query("UPDATE calendar_permission SET owner = sig.user_uidnumber FROM calendar_signature as sig WHERE (sig.calendar_id = object_id AND sig.is_owner = '1');"); 
     180 
     181        $GLOBALS['setup_info']['expressoCalendar']['currentver'] = '1.009'; 
     182        return $GLOBALS['setup_info']['expressoCalendar']['currentver']; 
     183    }; 
    173184         
    174185?> 
  • trunk/prototype/config/calendarToPermission.ini

    r5907 r7164  
    2424type = object_type 
    2525acl = permission 
     26owner = owner 
  • trunk/prototype/modules/calendar/interceptors/DBMapping.php

    r7097 r7164  
    744744    } 
    745745 
    746     public function deepnessFindCalendarShared(&$uri, &$result, &$criteria, $original) {     
     746    public function deepnessFindCalendarShared(&$uri, &$result, &$criteria, $original) { 
    747747        if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != '0' && count($result) > 0) { 
    748748 
    749749            $calendarIds = array(); 
    750             foreach ($result as $key => $value) 
    751                 array_push($calendarIds, $value['calendar']); 
     750            foreach ($result as $value) 
     751                    $calendarIds[] = $value['calendar']; 
    752752 
    753753            $calendar = Controller::find(array('concept' => 'calendar'), false, array('filter' => array('AND', array('IN', 'id', $calendarIds)))); 
     
    755755            if ($calendar && count($calendar) > 0){ 
    756756                $newResult = array(); 
    757                         foreach ($calendar as $key => $value) { 
    758                             foreach ($result as $k => $r) { 
     757                        foreach ($calendar as $value) { 
     758                            foreach ($result as $r) { 
    759759 
    760760                                if ($r['calendar'] == $value['id']) { 
    761761                                    $r['calendar'] = $value; 
    762                                     array_push($newResult, $r); 
     762                                    $newResult[] = $r; 
    763763                                } 
    764764                            } 
    765765                        } 
    766766 
    767                         foreach ($newResult as $key => &$value) { 
     767                        foreach ($newResult as &$value) { 
    768768                            if ($value['user'] != 0) { 
    769                                 $user = $value['user']; 
    770                                 $value['user'] = Controller::read(array('concept' => 'user', 'id' => $user)); 
     769                                $value['user'] = Controller::read(array('concept' => 'user', 'id' => $value['user'])); 
    771770 
    772771                                if (!$value['user']) 
    773                                     $value['user'] = Controller::read(array('concept' => 'group', 'id' => $user)); 
     772                                    $value['user'] = Controller::read(array('concept' => 'group', 'id' => $value['user'])); 
    774773                            } 
     774                    $value['owner'] = Controller::read(array('concept' => 'user', 'id' => $value['owner'])); 
    775775                        } 
    776  
    777776                        $result = $newResult; 
    778777            }else 
     
    955954                    //Caso não seja o dono da agenda retorna o objeto permission com as acls 
    956955                    if ($result[$i]['isOwner'] == 0) { 
    957                         $permission = Controller::find(array('concept' => 'calendarToPermission'), false, array('filter' => array('AND', array('=', 'calendar', $v['calendar']), array('=', 'user', Config::me('uidNumber'))))); 
     956                        $permission = Controller::find(array('concept' => 'calendarToPermission'), false, array('filter' => array('AND', array('=', 'calendar', $v['calendar']), array('=', 'user', Config::me('uidNumber')), 'deepness' => 2))); 
    958957 
    959958                        if (!is_array($permission) || !$permission) { 
    960959 
    961                             $permission = Controller::find(array('concept' => 'calendarToPermission'), false, array('filter' => array('AND', array('=', 'calendar', $v['calendar']), array('=', 'type', '1')))); 
     960                            $permission = Controller::find(array('concept' => 'calendarToPermission'), false, array('filter' => array('AND', array('=', 'calendar', $v['calendar']), array('=', 'type', '1')), 'deepness' => 2 )); 
    962961                        } 
    963962                        $result[$i]['permission'] = $permission[0]; 
  • trunk/prototype/modules/calendar/js/calendar.codecs.js

    r7075 r7164  
    133133            return returns; 
    134134        }; 
     135    console.log(evtObj); 
    135136        var res = $.map(evtObj, function( objEvent ){                    
    136137            return { 
     
    140141                user: objEvent.user, 
    141142                acl: constantAcl(objEvent.acl)  , 
    142                 aclValues: objEvent.acl 
     143                aclValues: objEvent.acl, 
     144                owner: objEvent.owner 
    143145            }; 
    144146        });      
     
    190192}); 
    191193 
    192 /*Todo Melhorias serão feitas na API*/ 
     194/*Todo Melhorias serï¿œo feitas na API*/ 
    193195//DataLayer.poll( "schedulable" ); 
    194196 
     
    718720        priority: form.priority, 
    719721        category: form.category, 
    720         summary: form.summary == '' ? 'Tarefa sem título' : form.summary, 
     722        summary: form.summary == '' ? 'Tarefa sem tï¿œtulo' : form.summary, 
    721723        description: form.description, 
    722724        timezone: tzId, 
     
    902904        'startTime': 'Data de inicio', 
    903905        'endTime' : 'Data de fim', 
    904         'summary' : 'Título', 
    905         'description': 'Descrição', 
     906        'summary' : 'Tï¿œtulo', 
     907        'description': 'Descriᅵᅵo', 
    906908        'status': 'Status', 
    907909        'percentage': 'Porcentagem', 
    908910        'priority': 'Prioridade', 
    909         'due' : 'Previsão de término' 
     911        'due' : 'Previsï¿œo de tï¿œrmino' 
    910912    }; 
    911913     
    912914    var statusDecoded = { 
    913         1: 'Sem ações', 
     915        1: 'Sem aᅵᅵes', 
    914916        2: 'Em processo', 
    915917        3: 'Finalzada', 
     
    10781080        priority: form.priority, 
    10791081        category: form.category, 
    1080         summary: form.summary == '' ? 'Atividade sem título' : form.summary, 
     1082        summary: form.summary == '' ? 'Atividade sem tï¿œtulo' : form.summary, 
    10811083        description: form.description, 
    10821084        timezone: tzId, 
     
    11271129                    task = DataLayer.get('schedulable', task); 
    11281130 
    1129                 //Resolve problemas com atualização na camada Cliente 
     1131                //Resolve problemas com atualizaᅵᅵo na camada Cliente 
    11301132                if(!$.isNumeric(task.startTime)){ 
    11311133                    DataLayer.remove('schedulable', task.id, false); 
     
    13471349                category: form.category, 
    13481350                priority: form.priority, 
    1349                 summary: form.summary == '' ? 'Evento sem título' : form.summary, 
     1351                summary: form.summary == '' ? 'Evento sem tï¿œtulo' : form.summary, 
    13501352                description: form.description, 
    13511353                timezone: tzId, 
     
    14291431            var typeRepeat = { 
    14301432                'none': false,  
    1431                 'daily': 'Repetição diária', 
    1432                 'weekly': 'Repetição semanal', 
    1433                 'monthly': 'Repetição mensal', 
    1434                 'yearly': 'repetição anual' 
     1433                'daily': 'Repetiᅵᅵo diï¿œria', 
     1434                'weekly': 'Repetiᅵᅵo semanal', 
     1435                'monthly': 'Repetiᅵᅵo mensal', 
     1436                'yearly': 'repetiᅵᅵo anual' 
    14351437            } 
    14361438 
     
    15201522        var typeRepeat = { 
    15211523        'none': false,  
    1522         'daily': 'Repetição diária', 
    1523         'weekly': 'Repetição semanal', 
    1524         'monthly': 'Repetição mensal', 
    1525         'yearly': 'repetição anual' 
     1524        'daily': 'Repetiᅵᅵo diï¿œria', 
     1525        'weekly': 'Repetiᅵᅵo semanal', 
     1526        'monthly': 'Repetiᅵᅵo mensal', 
     1527        'yearly': 'repetiᅵᅵo anual' 
    15261528        } 
    15271529 
     
    17871789                            ['AND',  
    17881790                                ['>=', 'rangeEnd', filter.start.getTime()],  
    1789                                 ['<=', 'rangeEnd', filter.end.getTime()] ,  
     1791                                ['<=', 'rangeEnd', filter.end.getTime()] 
    17901792                            ], 
    17911793                            ['AND',  
    17921794                                ['>=', 'rangeStart', filter.start.getTime()],  
    1793                                 ['<=', 'rangeStart', filter.end.getTime()] ,  
     1795                                ['<=', 'rangeStart', filter.end.getTime()] 
    17941796                            ], 
    17951797                            ['AND',  
    17961798                                ['<=', 'rangeStart', filter.start.getTime()],  
    1797                                 ['>=', 'rangeEnd', filter.end.getTime()] ,  
     1799                                ['>=', 'rangeEnd', filter.end.getTime()] 
    17981800                            ] 
    17991801                        ], 
  • trunk/prototype/modules/calendar/js/calendar.shared.js

    r7097 r7164  
    257257            text: false 
    258258        }).click(function () { 
    259             incompatibleAcl($(this), ['b',], ['busy']); 
     259            incompatibleAcl($(this), ['b'], ['busy']); 
    260260            dependsAcl($(this), ['r'], ['read']); 
    261261            changeAcl($(this), 's'); 
     
    454454                        name:resultPublic[i].calendar.name,  
    455455                        mail: resultPublic[i].calendar.description, 
     456                        owner: resultPublic[i].owner, 
    456457                        type: 1 
    457458                    }) 
     
    470471                            currentCalendars[id] = { 
    471472                                id: id,  
    472                                 name: resultNormalize[i].name,  
     473                                name: resultNormalize[i].name + ' ( '+resultNormalize[i].owner.uid +' )', 
    473474                                description: resultNormalize[i].description,  
    474475                                type: resultNormalize[i].type,  
     
    528529                id: dataCurrent.id,  
    529530                idPermission:Calendar.signatures[i].id , 
    530                 name: dataCurrent.name,  
    531                 description: dataCurrent.description,  
     531                name: dataCurrent.name + ' ( ' + Calendar.signatures[i].permission.owner.uid + ' )', 
     532                description: dataCurrent.description, 
    532533                type: Calendar.signatures[i].permission.type,  
    533534                isCalendar: true, 
  • trunk/prototype/modules/calendar/templates/calendar_search_itemlist.ejs

    r6052 r7164  
    33        <input type="checkbox" name="opcao" <%= (data[i].enabled) ?  '' : 'disabled="disabled"' %> /> 
    44        <input type="hidden" value="<%=data[i]['id']%>" /> 
    5         <label class="name"><%=data[i]['name']%></label> 
     5        <label class="name"><%=data[i]['name']%> ( <%=data[i]['owner']['uid']%> )</label> 
    66        <label class="mail hidden"><%=data[i]['mail']%></label> 
    77        <label class="id hidden"><%=data[i]['id']%></label> 
Note: See TracChangeset for help on using the changeset viewer.