Changeset 7518


Ignore:
Timestamp:
11/14/12 14:32:53 (11 years ago)
Author:
douglasz
Message:

Ticket #3193 - Excluir atividade não possibilita excluir tarefas.

Location:
trunk/prototype/modules/calendar
Files:
2 edited

Legend:

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

    r7405 r7518  
    11311131     
    11321132    public function deleteSchedulable(&$uri, &$params, &$criteria, $original) { 
     1133 
     1134        ob_start(); 
     1135        print_r( $criteria ); 
     1136        $output = ob_get_clean(); 
     1137        file_put_contents( "/tmp/log-douglasz.log", $output , FILE_APPEND); 
     1138 
    11331139        if (Config::module('useCaldav', 'expressoCalendar')) 
    11341140            require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
     
    11361142        if(isset($criteria['filter']) && $criteria['filter'] && isset($criteria['filter'][1][2])){ 
    11371143            $idSchedulable = $criteria['filter'][1][2]; 
    1138             $idCalendar = $criteria['filter'][2][2]; 
     1144                $idCalendar = $criteria['filter'][2][2]; 
    11391145            $owner = $criteria['filter'][3][2]; 
    11401146 
     
    11731179 
    11741180            $uri['id'] = $idSchedulable; 
    1175              
    1176             if(isset($criteria['filter']) && isset($criteria['filter'][4]) && isset($criteria['filter'][4][2])){ 
    1177                 Controller::deleteALL(array('concept' => 'taskToActivity'), null, array('filter' => array('=', 'activity', $idSchedulable))); 
    1178             } 
     1181 
     1182 
     1183            if(isset($criteria['type']) && $criteria['type'] == '2'){ 
     1184 
     1185                $tasks = Controller::find(array('concept' => 'taskToActivity'), array('task'), array('filter' => array('=', 'activity', $idSchedulable))); 
     1186 
     1187                if(is_array( $tasks ) and count( $tasks ) > 0){ 
     1188                    Controller::delete(array('concept' => 'taskToActivity'), null, array('filter' => array('=', 'activity', $idSchedulable))); 
     1189                } 
     1190 
     1191                if(isset($criteria['removeTaskToActivity']) && $criteria['removeTaskToActivity']){ 
     1192                    if(is_array( $tasks ) and count( $tasks ) > 0){ 
     1193 
     1194                        $ids = array(); 
     1195                        foreach($tasks as $v){ 
     1196                            $ids[] = $v['task']; 
     1197                        } 
     1198 
     1199                        Controller::delete(array('concept' => 'schedulable'), false, array('filter' => array('IN','id', $ids ))); 
     1200                    } 
     1201                } 
     1202            } 
    11791203        } 
    11801204         
  • trunk/prototype/modules/calendar/js/activity.helpers.js

    r7405 r7518  
    187187UI.dialogs.addActivity.find(".menu-addactivity") 
    188188.children(".delete").click(function(){ 
    189     $.Zebra_Dialog('Tem certeza que deseja excluir a atividade?', { 
     189    $.Zebra_Dialog('A exclusão desta atividade também traz a opção de excluir suas tarefas adicionadas. O que deseja excluir?', { 
    190190        'type':     'question', 
     191    'width': '400', 
    191192        'overlay_opacity': '0.5', 
    192         'buttons':  ['Sim', 'Não'], 
     193        'buttons':  ['Atividade e Tarefas', 'Apenas Atividade', 'Cancelar'], 
    193194        'onClose':  function(clicked) { 
    194             if(clicked == 'Sim'){ 
    195                 canDiscardActivityDialog = true; 
    196                 /* Remove por filtro */ 
    197                 DataLayer.removeFilter('schedulable', {filter: ['AND', ['=', 'id', objActivity.id], ['=', 'calendar', objActivity.group], ['=','user',(objActivity.me.user ? objActivity.me.user.id : objActivity.me.id)], ['=', 'type', '2']]}); 
    198                 Calendar.rerenderView(true); 
    199                 /********************/ 
    200                 UI.dialogs.addActivity.dialog("close"); 
    201             } 
     195            if(clicked == 'Apenas Atividade'){ 
     196            canDiscardActivityDialog = true; 
     197            /* Remove por filtro */ 
     198            DataLayer.removeFilter('schedulable', {filter: ['AND', ['=', 'id', objActivity.id], ['=', 'calendar', objActivity.group], ['=','user',(objActivity.me.user ? objActivity.me.user.id : objActivity.me.id)], ['=', 'type', '2']],criteria:{type:2}}); 
     199            Calendar.rerenderView(true); 
     200            /********************/ 
     201            UI.dialogs.addActivity.dialog("close"); 
     202            }else if(clicked == 'Atividade e Tarefas'){ 
     203            canDiscardActivityDialog = true; 
     204            DataLayer.removeFilter('schedulable', {filter: ['AND', ['=', 'id', objActivity.id], ['=', 'calendar', objActivity.group], ['=','user',(objActivity.me.user ? objActivity.me.user.id : objActivity.me.id)], ['=', 'type', '2']],criteria:{removeTaskToActivity: true, type:2}}); 
     205            Calendar.rerenderView(true); 
     206            UI.dialogs.addActivity.dialog("close"); 
     207        } 
    202208        } 
    203209    }); 
Note: See TracChangeset for help on using the changeset viewer.