Ignore:
Timestamp:
03/08/13 11:50:57 (11 years ago)
Author:
cristiano
Message:

Ticket #3378 - Importação automatica de eventos nos participantes

File:
1 edited

Legend:

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

    r7973 r7980  
    169169    public function schedulableSecurity(&$uri, &$params, &$criteria, $original) 
    170170    { 
     171 
    171172        if( !isset($criteria['filter'][1]) || !$criteria['filter'][1] == 'uid') 
    172173        { 
     
    763764            } 
    764765        } 
     766    } 
     767 
     768    static function autoImportCalendar(&$uri, &$params, &$criteria, $original){ 
     769        $autoCommit = Controller::service('PostgreSQL')->execResultSql('Select config_value FROM phpgw_config WHERE config_app = \'expressoCalendar\' AND config_name = \'expressoCalendar_autoImportCalendars\''); 
     770 
     771 
     772        if(isset($autoCommit[0]) && $autoCommit[0]['config_value'] == 'true') 
     773        { 
     774            if(isset($original['properties']) && isset($original['properties']['user'])  && isset($original['properties']['isOrganizer']) &&  $original['properties']['isOrganizer'] != '1') 
     775            { 
     776                $defaultCalendar = Controller::find(array('concept' => 'modulePreference'), array('value') , array('filter' => array( 'and' , array('=' , 'name' , 'dafaultImportCalendar') , array('=' , 'module' , 'expressoCalendar') , array('=' , 'user' , $original['properties']['user'])  )) ); 
     777                if(isset($defaultCalendar[0]) && $defaultCalendar[0]['value'] > 0) 
     778                { 
     779                    Controller::create(array('concept' => 'calendarToSchedulable'), 
     780                        array('schedulable' => $original['properties']['schedulable'], 
     781                            'calendar' => $defaultCalendar[0]['value'] 
     782                        ) 
     783                    ); 
     784                } 
     785            } 
     786        } 
    765787    } 
    766788 
     
    13921414 
    13931415            Controller::delete(array('concept' => 'calendar', 'id' => $signature['calendar'])); 
    1394                  
    1395                 $permissions = Controller::find(array('concept' => 'calendarToPermission'), array('id'), array('filter' => array('=', 'calendar', $signature['calendar']))); 
    1396  
    1397                  
    1398                  
     1416 
     1417        $autoCommit = Controller::service('PostgreSQL')->execResultSql('Select config_value FROM phpgw_config WHERE config_app = \'expressoCalendar\' AND config_name = \'expressoCalendar_autoImportCalendars\''); 
     1418        if(isset($autoCommit[0]) && $autoCommit[0]['config_value'] == 'true') 
     1419        { 
     1420            $defaultCalendar = Controller::find(array('concept' => 'modulePreference'), array('value','id') , array('filter' => array( 'and' , array('=' , 'name' , 'dafaultImportCalendar') , array('=' , 'module' , 'expressoCalendar') , array('=' , 'user' , $original['properties']['user'])  )) ); 
     1421            if(isset($defaultCalendar[0])  && $defaultCalendar[0]['value'] == $signature['calendar'] ) 
     1422            { 
     1423                Controller::delete(array('concept' => 'modulePreference', 'id' => $defaultCalendar[0]['id'])); 
     1424            } 
     1425        } 
     1426 
     1427        $permissions = Controller::find(array('concept' => 'calendarToPermission'), array('id'), array('filter' => array('=', 'calendar', $signature['calendar']))); 
     1428 
    13991429                if($permissions && count($permissions) > 0){ 
    14001430                        $ids = array(); 
     
    15431573                } 
    15441574 
    1545                     DAViCalAdapter::importCollection($v->url, $calCreated['id']); 
     1575                if($i == 0) 
     1576                { 
     1577                    $pref = array(); 
     1578                    $pref['user'] = $_SESSION['wallet']['user']['uidNumber']; 
     1579                    $pref['value'] = $calCreated['id']; 
     1580                    $pref['name'] = 'dafaultImportCalendar' ; 
     1581                    $pref['module'] = 'expressoCalendar'; 
     1582                    Controller::create(array('concept' => 'modulePreference'), $pref); 
     1583                } 
     1584 
    15461585                } 
    15471586            } else { 
     
    15651604 
    15661605                $sigCreated = Controller::create(array('concept' => 'calendarSignature'), $sig); 
     1606 
     1607 
     1608            $pref = array(); 
     1609            $pref['user'] = $_SESSION['wallet']['user']['uidNumber']; 
     1610            $pref['value'] = $calCreated['id']; 
     1611            $pref['name'] = 'dafaultImportCalendar' ; 
     1612            $pref['module'] = 'expressoCalendar'; 
     1613            Controller::create(array('concept' => 'modulePreference'), $pref); 
     1614 
     1615 
    15671616        } 
    15681617     
Note: See TracChangeset for help on using the changeset viewer.