Ignore:
Timestamp:
08/09/12 16:46:57 (12 years ago)
Author:
acoutinho
Message:

Ticket #2966 - Suporte a edicao de tarefas na edicao de tarefas

File:
1 edited

Legend:

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

    r6974 r6977  
    498498                unset($criteria['historic']['due']); 
    499499 
     500            //necessário para atulizar a atividade de composta pela tarefa aqui sendo atualizada 
     501            if(isset($criteria['historic']['startTime']) || isset($criteria['historic']['endTime'])){ 
     502                $taskToActivity = Controller::find(array('concept' => 'taskToActivity'), false, array('filter' => array('AND', array('=', 'schedulable', $event['id']), array('=', 'owner', Config::me('uidNumber'))), 'deepness' => 2)); 
     503 
     504                if(!empty($taskToActivity)){ 
     505                    $activity = Controller::read(array('concept' => 'schedulable', 'id' => $taskToActivity[0]['activity']), array('startTime', 'endTime', 'rangeStart', 'rangeEnd')); 
     506                    $start = $params['startTime']; 
     507                    $end = $params['endTime']; 
     508                    foreach($taskToActivity as $t){ 
     509                         if($t['task']['id'] != $params['id']){ 
     510                            $start = $t['task']['startTime'] < $start ? $t['task']['startTime'] : $start; 
     511                            $end = $t['task']['endTime'] < $end ? $t['task']['endTime'] : $end; 
     512                         } 
     513                    } 
     514 
     515                    $toUpdate = array(); 
     516                     
     517                    if($start != $activity['startTime']) 
     518                        $toUpdate['starTime'] = $start; 
     519                     
     520                    if($end != $activity['endTime']) 
     521                        $toUpdate['endTime'] = $end; 
     522                      
     523                    if(!empty($toUpdate)) 
     524                        Controller::update(array('concept' => 'schedulable', 'id' => $activity['id']), $toUpdate);                 
     525                } 
     526            } 
     527 
    500528            unset($criteria['historic']['rangeEnd']); 
    501529            unset($criteria['historic']['rangeStart']); 
     530            unset($criteria['historic']['class']); 
     531            unset($criteria['historic']['type']); 
     532            unset($criteria['historic']['allDay']); 
    502533            unset($criteria['historic']['id']);             
    503534        } 
Note: See TracChangeset for help on using the changeset viewer.