Changeset 7959 for trunk


Ignore:
Timestamp:
03/05/13 16:30:10 (11 years ago)
Author:
cristiano
Message:

Ticket #3374 - Inconsistências ao criar eventos em nome de uma agenda assinada

Location:
trunk/prototype
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/calendar/js/calendar.codecs.js

    r7953 r7959  
    658658                    statusParticipants[ statusLabels[attend.status] ]++;         
    659659 
    660                     if(attend.user.mail == User.me.mail) 
     660                    if(attend.user.mail == me.mail) 
    661661                        isAttendee = true; 
    662662 
  • trunk/prototype/services/iCal.php

    r7796 r7959  
    573573                            $schedulable = self::_getSchedulable($uid); 
    574574                $calendar = false; 
    575  
    576                             if ($schedulable) { //Caso o evento exista 
    577                     if (!($calendar = self::_existInMyCalendars($schedulable['id'], $params['owner']) )) { 
     575                $accpeted = true; 
     576                            if ($schedulable) { 
     577                    ///Verifica se o usuario e um participante e se este aceitou o pedido. 
     578                    foreach ($schedulable['participants'] as $value){ 
     579                        if ($value['user']['id'] == $params['owner'] &&  ($value['status'] == STATUS_UNANSWERED || $value['status'] == STATUS_DECLINED)){ 
     580                            $accpeted  = false; 
     581                        } 
     582                    } 
     583                             //Caso o evento exista 
     584                    if (!($calendar = self::_existInMyCalendars($schedulable['id'], $params['owner'])) || !$accpeted ) { 
    578585                        $calendarToSchedulable = array(); 
    579586                        $calendarToSchedulable['calendar'] = $params['calendar']; 
     
    12261233                                $isOrganizer = true; 
    12271234 
    1228                             if (!self::_existInMyCalendars($schedulable['id'], $params['owner'])) { 
     1235                            if (!self::_existInMyCalendars($schedulable['id'], $params['owner']) || $value['status'] == STATUS_UNANSWERED || $value['status'] == STATUS_DECLINED) { 
    12291236                                $interation = ICAL_ACTION_UPDATE; 
    12301237                                $interation = ( strrpos($value['acl'], ATTENDEE_ACL_PARTICIPATION_REQUIRED) ) ? ICAL_ACTION_IMPORT_REQUIRED : array('action' => ICAL_ACTION_IMPORT, 'type' => 'calendarIds'); 
    12311238                                break; 
    12321239                            } 
    1233                         } else { 
    1234                             if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento 
    1235                                 $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_UPDATE : ICAL_ACTION_UPDATE; 
    12361240                            else 
    1237                                 $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_NONE : ICAL_ACTION_NONE; 
     1241                            { 
     1242                                if (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] || $component->getProperty('sequence', false, false) > $schedulable['sequence']) //Organizador esta requisitando que você atualize o evento 
     1243                                    $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_UPDATE : ICAL_ACTION_UPDATE; 
     1244                                else 
     1245                                    $interation = ($isOrganizer) ? ICAL_ACTION_ORGANIZER_NONE : ICAL_ACTION_NONE; 
     1246 
     1247                            } 
    12381248                        } 
    1239  
    1240                     } 
    1241  
     1249                      } 
    12421250                    if (!$isParticipant){ 
    12431251                        if( self::_existInMyCalendars($schedulable['id'], $params['owner']) ){ 
    1244  
    12451252                            $interation = (self::_getTime($component, 'dtstamp') > $schedulable['dtstamp'] ? ICAL_ACTION_UPDATE  :  ICAL_ACTION_NONE); 
    12461253 
     
    12501257 
    12511258                        } 
    1252  
    12531259 
    12541260                    } 
Note: See TracChangeset for help on using the changeset viewer.