Ignore:
Timestamp:
07/20/12 11:32:01 (11 years ago)
Author:
acoutinho
Message:

Ticket #2966 - Criacao de grupo padrao, criacao de tarefas simples, correcoes de bug

File:
1 edited

Legend:

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

    r6797 r6832  
    925925    } 
    926926 
     927 
     928     public function createDefaultGroup(&$uri, &$result, &$criteria, $original) { 
     929        $existDefaultGroup = false; 
     930 
     931        foreach($result as $v){ 
     932            if($v['type'] == 1 && $v['calendar']['type'] == 1) 
     933                $existDefaultGroup = true; 
     934        } 
     935 
     936        if(!$existDefaultGroup){ 
     937 
     938            $cal = array('name' => 'Sem grupo', 
     939                'description' => 'Sem grupo', 
     940                'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 
     941                'dtstamp' => time() . '000', 
     942                'type' => '1' 
     943            ); 
     944 
     945            $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 
     946 
     947            $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 
     948                'calendar' => $calCreated['id'], 
     949                'isOwner' => '1', 
     950                'dtstamp' => time() . '000', 
     951                'fontColor' => 'FFFFFF', 
     952                'backgroundColor' => '3366CC', 
     953                'borderColor' => '3366CC', 
     954                'type' => '1' 
     955            ); 
     956 
     957            $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
     958            $sigCreated = Controller::read(array('concept' => 'calendarSignature', 'id' => $sigCreated['id']), false, array('deepness' => 2 )); 
     959 
     960            array_push($result, $sigCreated); 
     961 
     962 
     963        } 
     964 
     965     } 
     966 
    927967    public function createDefaultSignature(&$uri, &$result, &$criteria, $original) { 
     968 
     969    if(count($result) == 0 && isset($criteria['filter'][3]) && isset($criteria['filter'][3]['isRecursion'])){ 
     970        throw new Exception('It was not possible to find to calendar!'); 
     971        return false; 
     972    } 
    928973 
    929974        //Caso uma busca não retorne nenhum resultado e foi buscado pelas assinaturas do usuario logado apenas 
     
    933978        if (count($result) > 0) { 
    934979            foreach ($result as $value) { 
    935                 if (isset($value['isOwner']) && $value['isOwner'] != 0) 
    936                     $isValidSignature = true; 
     980                if (isset($value['isOwner']) && $value['isOwner'] != 0) 
     981                    $isValidSignature = true; 
     982 
    937983            } 
    938984        } 
     
    945991 
    946992            if (Config::module('useCaldav', 'expressoCalendar')) { 
    947                 require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
    948  
    949                 $calendario = DAViCalAdapter::findCalendars(); 
     993                require_once ROOTPATH . '/modules/calendar/interceptors/DAViCalAdapter.php'; 
     994                $calendario = DAViCalAdapter::findCalendars(); 
    950995            } 
    951996 
    952997            if (Config::module('useCaldav', 'expressoCalendar') && is_array($calendario) && count($calendario) > 0) { 
    953                 foreach ($calendario as $i => $v) { 
    954  
    955                     $urlA = explode('/', $v->url); 
    956                     $name = isset($v->displayname) ? $v->displayname : $urlA[(count($urlA) - 2)]; 
    957                     $cal = array('name' => $name, 
    958                         'description' => isset($v->description) ? $v->description : $name, 
    959                         'timezone' => isset($v->timezone) ? $v->timezone : (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 
    960                         'dtstamp' => time() . '000', 
    961                         'location' => $urlA[(count($urlA) - 3)] . '/' . $urlA[(count($urlA) - 2)] 
    962                     ); 
    963  
    964                     $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 
    965  
    966  
    967  
    968                     $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 
    969                         'calendar' => $calCreated['id'], 
    970                         'isOwner' => '1', 
    971                         'dtstamp' => time() . '000', 
    972                         'fontColor' => 'FFFFFF', 
    973                         'backgroundColor' => '3366CC', 
    974                         'borderColor' => '3366CC', 
    975                     ); 
    976  
    977                     $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
    978  
    979  
    980                     DAViCalAdapter::importCollection($v->url, $calCreated['id']); 
    981                 } 
     998                foreach ($calendario as $i => $v) { 
     999 
     1000                    $urlA = explode('/', $v->url); 
     1001                    $name = isset($v->displayname) ? $v->displayname : $urlA[(count($urlA) - 2)]; 
     1002                    $cal = array('name' => $name, 
     1003                        'description' => isset($v->description) ? $v->description : $name, 
     1004                        'timezone' => isset($v->timezone) ? $v->timezone : (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 
     1005                        'dtstamp' => time() . '000', 
     1006                        'location' => $urlA[(count($urlA) - 3)] . '/' . $urlA[(count($urlA) - 2)] 
     1007                    ); 
     1008 
     1009                    $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 
     1010 
     1011                if(!$calCreated){ 
     1012                    throw new Exception('Error to create calendar'); 
     1013                    return false; 
     1014                } 
     1015 
     1016                    $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 
     1017                        'calendar' => $calCreated['id'], 
     1018                        'isOwner' => '1', 
     1019                        'dtstamp' => time() . '000', 
     1020                        'fontColor' => 'FFFFFF', 
     1021                        'backgroundColor' => '3366CC', 
     1022                        'borderColor' => '3366CC', 
     1023                    ); 
     1024 
     1025                    $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
     1026 
     1027                if(!$sigCreated){ 
     1028                    throw new Exception('Error to create signature'); 
     1029                    return false; 
     1030                } 
     1031 
     1032                    DAViCalAdapter::importCollection($v->url, $calCreated['id']); 
     1033                } 
    9821034            } else { 
    983                 //Criaremos uma agenda padrão 
    984                 $cal = array('name' => 'Calendario', 
    985                     'description' => 'Calendario Padrão', 
    986                     'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 
    987                     'dtstamp' => time() . '000' 
    988                 ); 
    989  
    990                 $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 
    991  
    992                 $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 
    993                     'calendar' => $calCreated['id'], 
    994                     'isOwner' => '1', 
    995                     'dtstamp' => time() . '000', 
    996                     'fontColor' => 'FFFFFF', 
    997                     'backgroundColor' => '3366CC', 
    998                     'borderColor' => '3366CC', 
    999                 ); 
    1000  
    1001                 $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
    1002             } 
    1003  
    1004             $result = Controller::find($original['URI'], $original['properties'] ? $original['properties'] : null, $original['criteria']); 
     1035                //Criaremos uma agenda padrão 
     1036                $cal = array('name' => 'Calendario', 
     1037                    'description' => 'Calendario Padrão', 
     1038                    'timezone' => (date_default_timezone_get()) ? date_default_timezone_get() : 'America/Sao_Paulo', 
     1039                    'dtstamp' => time() . '000' 
     1040                ); 
     1041 
     1042                $calCreated = Controller::create(array('concept' => 'calendar'), $cal); 
     1043 
     1044                $sig = array('user' => $_SESSION['wallet']['user']['uidNumber'], 
     1045                    'calendar' => $calCreated['id'], 
     1046                    'isOwner' => '1', 
     1047                    'dtstamp' => time() . '000', 
     1048                    'fontColor' => 'FFFFFF', 
     1049                    'backgroundColor' => '3366CC', 
     1050                    'borderColor' => '3366CC', 
     1051                ); 
     1052 
     1053                $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
     1054        } 
     1055     
     1056        $original['criteria']['filter'][] = array('isRecursion' => true); 
     1057        $result = Controller::find($original['URI'], $original['properties'] ? $original['properties'] : null, $original['criteria']); 
    10051058            return false; 
    1006         } 
     1059        } 
    10071060    } 
    10081061 
Note: See TracChangeset for help on using the changeset viewer.