Ignore:
Timestamp:
08/08/12 18:02:13 (12 years ago)
Author:
acoutinho
Message:

Ticket #2966 - Criado suporte a historico em atividades

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.2-expresso1/prototype/modules/calendar/interceptors/DBMapping.php

    r6945 r6968  
    188188    public function findTask(&$uri, &$params, &$criteria, $original) { 
    189189 
    190         ob_start(); 
    191         print_r('$uri' . "\n"); 
    192         print_r($uri); 
    193         print_r('$params' . "\n"); 
    194         print_r($params); 
    195         print_r('$criteria' . "\n"); 
    196         print_r($criteria); 
    197         print_r('$original' . "\n"); 
    198         print_r($original); 
    199         $output = ob_get_clean(); 
    200         file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND); 
    201190        if (isset($criteria['filterTasks']) && $criteria['filterTasks']) { 
    202191 
     
    473462 
    474463        $event = Controller::read(array('concept' => 'schedulable', 'id' => $params['id'])); 
    475          
     464                     
    476465        if (isset($params['startTime'])) { 
    477466 
     
    485474 
    486475            if (!is_numeric($params['endTime'])) { 
    487                 $params['endTime'] = self::parseTimeDate($params['endTime'], $event['timezone']); 
    488  
    489             if ((isset($params['allDay']) && $params['allDay']) || ( !isset($params['allDay']) && $event['allDay'])) 
    490                 $params['endTime'] = $params['endTime'] + 86400000; 
     476                        $params['endTime'] = self::parseTimeDate($params['endTime'], $event['timezone']); 
     477 
     478                    if ((isset($params['allDay']) && $params['allDay']) || ( !isset($params['allDay']) && $event['allDay'])) 
     479                        $params['endTime'] = $params['endTime'] + 86400000; 
    491480            } 
    492481            $params['rangeEnd'] = $params['endTime']; 
     
    496485        if (isset($params['due']) && $params['due'] != '' && !is_numeric($params['due'])) 
    497486            $params['due'] = self::parseTimeDate($params['due'], $event['timezone']); 
     487 
     488 
     489        if($event['type'] == '2'){ 
     490 
     491            $criteria['historic'] = $params; 
     492            $criteria['beforeValue'] = $event; 
     493 
     494            if(isset($params['startTime']) && $params['startTime'] == $event['startTime']) 
     495                unset($criteria['historic']['startTime']); 
     496 
     497            if(isset($params['endTime']) && $params['endTime'] == $event['endTime']) 
     498                unset($criteria['historic']['endTime']); 
     499 
     500            if(isset($params['due']) && $params['due'] == $event['due']) 
     501                unset($criteria['historic']['due']); 
     502 
     503            unset($criteria['historic']['rangeEnd']); 
     504            unset($criteria['historic']['rangeStart']); 
     505            unset($criteria['historic']['id']);             
     506        } 
    498507    } 
    499508 
     
    526535    } 
    527536 
     537 
     538    static function prepareParticipantHistoric(&$uri, &$params, &$criteria, $original){ 
     539       $participant = Controller::read(array('concept' => 'participant', 'id' => $uri['id'])); 
     540       $schedulable = Controller::read(array('concept' => 'schedulable', 'id' => $participant['schedulable'])); 
     541 
     542 
     543       if($schedulable['type'] == '2') 
     544            $criteria['historic']['participant']  = $participant; 
     545    }  
     546 
     547    static function removeParticipantHistoric(&$uri, &$params, &$criteria, $original){ 
     548        if(isset($criteria['historic'])){ 
     549 
     550            $participant = $criteria['historic']['participant']; 
     551 
     552             Controller::create(array('concept' => 'calendarHistoric'),  
     553                array('schedulable' => $participant['schedulable'],  
     554                    'user' => Config::me('uidNumber'), 
     555                    'time' => time() . '000', 
     556                    'attribute' => 'participant', 
     557                    'beforeValue' => $participant['user'], 
     558                    'afterValue' => '' 
     559                    ) 
     560                ); 
     561 
     562        } 
     563 
     564    } 
     565 
     566    static function createParticipantHistoric(&$uri, &$params, &$criteria, $original){ 
     567 
     568        if(!isset($criteria['event'])){ 
     569            $event = Controller::read(array('concept' => 'schedulable', 'id' => $original['properties']['schedulable'])); 
     570            $criteria['event'] = $event; 
     571        }else 
     572            $event = $criteria['event']; 
     573 
     574        if($event['type'] == '2'){ 
     575             Controller::create(array('concept' => 'calendarHistoric'),  
     576                array('schedulable' => $original['properties']['schedulable'],  
     577                    'user' => Config::me('uidNumber'), 
     578                    'time' => time() . '000', 
     579                    'attribute' => 'participant', 
     580                    'beforeValue' => '', 
     581                    'afterValue' => $original['properties']['user'] 
     582                    ) 
     583                ); 
     584        } 
     585    } 
     586 
     587    static function createHistoric(&$uri, &$result, &$criteria, $original) { 
     588 
     589        if(isset($criteria['historic']) && count($criteria['historic'])){ 
     590            $time =  time() . '000'; 
     591 
     592            foreach($criteria['historic'] as $k => $v){ 
     593                Controller::create(array('concept' => 'calendarHistoric'),  
     594                    array('schedulable' => $uri['id'],  
     595                        'user' => Config::me('uidNumber'), 
     596                        'time' => $time, 
     597                        'attribute' => $k, 
     598                        'beforeValue' => $criteria['beforeValue'][$k], 
     599                        'afterValue' => $v 
     600                        ) 
     601                    ); 
     602            } 
     603        }     
     604    } 
     605 
    528606/////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    529607 
     
    542620    public function createTasksToActivity(&$uri, &$result, &$criteria, $original) { 
    543621 
    544         ob_start(); 
    545         print_r('$uri' . "\n"); 
    546         print_r($uri); 
    547         print_r('$params' . "\n"); 
    548         print_r($params); 
    549         print_r('$criteria' . "\n"); 
    550         print_r($criteria); 
    551         print_r('$original' . "\n"); 
    552         print_r($original); 
    553         $output = ob_get_clean(); 
    554         file_put_contents( "/tmp/acoutinho.log",  $output , FILE_APPEND); 
    555  
    556622        if(isset($original['properties']['taskToActivity']) && $original['properties']['taskToActivity']){ 
    557623 
     
    563629    } 
    564630 
    565     public function createCreateSchedulableToAttachment(&$uri, &$params, &$criteria, $original) { 
    566         if (array_key_exists('attachments', $original['properties'])) 
    567             foreach ($original['properties']['attachments'] as $key => $value) { 
    568                 if (isset($params['id'])) 
    569                     Controller::create(array('concept' => 'schedulableToAttachment'), array('attachment' => $value['attachment'], 'schedulable' => $params['id'])); 
    570             } 
     631    public function removeAttachmentHistoric(&$uri, &$params, &$criteria, $original) { 
     632 
     633        if(isset($criteria['historic'])){ 
     634            $attachment = $criteria['historic']['attachment']; 
     635 
     636            $attachment['attachment'] = Controller::read(array('concept' => 'attachment', 'id' => $attachment['attachment']), array('name')); 
     637            Controller::create(array('concept' => 'calendarHistoric'),  
     638                    array('schedulable' => $attachment['schedulable'],  
     639                        'user' => Config::me('uidNumber'), 
     640                        'time' => time() . '000', 
     641                        'attribute' => 'attachment', 
     642                        'beforeValue' => $attachment['attachment']['name'], 
     643                        'afterValue' => '' 
     644                        ) 
     645                    ); 
     646 
     647        } 
     648     
     649    } 
     650 
     651    public function createAttachmentHistoric(&$uri, &$params, &$criteria, $original) { 
     652        $event = Controller::read(array('concept' => 'schedulable', 'id' => $original['properties']['schedulable'])); 
     653 
     654        if($event['type'] == '2'){ 
     655            $attachment = Controller::read(array('concept' => 'attachment', 'id' => $original['properties']['attachment']), array('name')); 
     656 
     657            Controller::create(array('concept' => 'calendarHistoric'),  
     658                array('schedulable' => $original['properties']['schedulable'],  
     659                    'user' => Config::me('uidNumber'), 
     660                    'time' => time() . '000', 
     661                    'attribute' => 'attachment', 
     662                    'beforeValue' => '', 
     663                    'afterValue' => $attachment['name'] 
     664                    ) 
     665                ); 
     666 
     667        } 
    571668    } 
    572669 
     
    618715    } 
    619716 
    620  
     717    //TODO: Remover apos suporte a deepness na api  
     718    public function deepnessFindHistoric(&$uri, &$result, &$criteria, $original) { 
     719        if (isset($original['criteria']['deepness']) && $original['criteria']['deepness'] != 0) { 
     720            foreach($result as &$v){ 
     721                $v['user'] = Controller::read(array('concept' => 'user', 'id' => $v['user'])); 
     722 
     723                if($v['attribute'] == 'participant'){ 
     724                    if($v['beforeValue'] != '') 
     725                        $v['beforeValue'] = Controller::read(array('concept' => 'user', 'id' => $v['beforeValue'])); 
     726 
     727                    if($v['afterValue'] != '') 
     728                        $v['afterValue'] = Controller::read(array('concept' => 'user', 'id' => $v['afterValue'])); 
     729                } 
     730            } 
     731        } 
     732    } 
    621733 
    622734    //TODO: Remover apos suporte a deepness na api  
     
    659771            if($taskToActivity) 
    660772                $result[$i]['taskToActivity'] = $taskToActivity; 
     773 
     774            $result[$i]['historic'] = Controller::find(array('concept' => 'calendarHistoric'), false, array('filter' => array('=', 'schedulable', $v['id']) , 'deepness' => 2)); 
    661775 
    662776        } 
     
    10121126            $schedulableAttachment = Controller::read(array('concept' => 'schedulableToAttachment'), false, array('filter' => array( '=', 'attachment' , $original['URI']['id'] ))); 
    10131127            $uri['id'] = $schedulableAttachment[0]['id']; 
     1128 
     1129            $params = $schedulableAttachment[0]; 
     1130 
     1131            $event = Controller::read(array('concept' => 'schedulable', 'id' => $params['schedulable'])); 
     1132            if($event['type'] == '2') 
     1133                $criteria['historic']['attachment'] = $schedulableAttachment[0]; 
     1134 
    10141135        } 
    10151136    } 
    10161137 
    10171138    public function deleteAttachmentDependences(&$uri, &$params, &$criteria, $original) { 
    1018         Controller::delete(array('concept' => 'attachment', 'id' => $original['URI']['id'])); 
     1139        Controller::delete(array('concept' => 'attachment', 'id' => (isset($params['attachment']) ? $params['attachment'] : $original['URI']['id']))); 
    10191140    } 
    10201141     
     
    11921313 
    11931314    public function davcalCreateCollection(&$uri, &$params, &$criteria, $original) { 
    1194         if (Config::module('useCaldav', 'expressoCalendar')) { 
    1195             require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
    1196             DAViCalAdapter::mkcalendar($params['location'], $params['name'], isset($params['description']) ? $params['description'] : '' ); 
    1197         } 
     1315        if (Config::module('useCaldav', 'expressoCalendar')) { 
     1316            require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
     1317            DAViCalAdapter::mkcalendar($params['location'], $params['name'], isset($params['description']) ? $params['description'] : '' ); 
     1318           } 
    11981319    } 
    11991320 
    12001321    public function davcalDeleteCollection(&$uri, &$params, &$criteria, $original) { 
    1201         if (Config::module('useCaldav', 'expressoCalendar') && Config::module('onRemoveCascadeCalDav')) { 
    1202             require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
    1203             $calendar = Controller::read($uri); 
    1204             DAViCalAdapter::rmCalendar($calendar['location']); 
    1205         } 
     1322        if (Config::module('useCaldav', 'expressoCalendar') && Config::module('onRemoveCascadeCalDav')) { 
     1323            require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
     1324            $calendar = Controller::read($uri); 
     1325            DAViCalAdapter::rmCalendar($calendar['location']); 
     1326        } 
    12061327    } 
    12071328 
    12081329    public function davcalUpdateCollection(&$uri, &$params, &$criteria, $original) { 
    1209         if (Config::module('useCaldav', 'expressoCalendar')) { 
    1210             require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
    1211             if (isset($params['location'])) { 
    1212                 $calendar = Controller::read($uri); 
    1213                 if ($calendar['location'] !== $params['location']) 
    1214                     DAViCalAdapter::mvcalendar($calendar['location'], $params['location']); 
    1215             } 
    1216         } 
     1330        if (Config::module('useCaldav', 'expressoCalendar')) { 
     1331            require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
     1332            if (isset($params['location'])) { 
     1333                $calendar = Controller::read($uri); 
     1334                if ($calendar['location'] !== $params['location']) 
     1335                    DAViCalAdapter::mvcalendar($calendar['location'], $params['location']); 
     1336            } 
     1337        } 
    12171338    } 
    12181339 
Note: See TracChangeset for help on using the changeset viewer.