Changeset 6069


Ignore:
Timestamp:
05/02/12 15:17:17 (12 years ago)
Author:
douglasz
Message:

Ticket #2673 - Problemas com o mapa de disponibilidade.

Location:
trunk/prototype
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/mapDisponibility.php

    r5636 r6069  
    3939                         
    4040                         
    41                          
    42                         $sql = 'SELECT calendar_object.range_start as "startTime" , calendar_object.range_end as "endTime", calendar_object.allday as "allDay" FROM calendar_object WHERE (range_start >=  '.$data['startTime'] 
    43                         .' AND range_end <= '.$data['endTime'].' AND transp = 0  AND id IN ( SELECT calendar_object_id from calendar_to_calendar_object where ' 
     41                        $sql = 'SELECT calendar_object.range_start as "startTime" , calendar_object.range_end as "endTime", calendar_object.allday as "allDay", calendar_object.tzid as "timezone" FROM calendar_object WHERE (' 
     42                        .'((range_start >=  '.$data['startTime'].' AND range_start <= '.$data['endTime'].')' 
     43                        .' OR (range_end >=  '.$data['startTime'].' AND range_end <= '.$data['endTime'].')' 
     44                        .' OR (range_start <=  '.$data['startTime'].' AND range_end >= '.$data['endTime'].') )' 
     45                        .' AND transp = 0  AND id IN ( SELECT calendar_object_id from calendar_to_calendar_object where ' 
    4446                        .'calendar_id IN (SELECT calendar_id FROM calendar_signature WHERE (user_uidnumber = '. $value['id'] .'  AND is_owner = 1 ))  ))'; 
    4547 
     
    5052                         
    5153                        $disponibilyUser = array(); 
    52                  
     54                         
     55                        $startTime = new DateTime('now', new DateTimeZone($data['timezone'])); 
     56                        $endTime = new DateTime('now', new DateTimeZone($data['timezone'])); 
     57                         
    5358                        foreach($result as $ke => $va){ 
    54                          
    55                         array_push($disponibilyUser, array('startTime' => $va['startTime'], 'endTime' => $va['endTime'], 'allDay' => $va['allDay'])); 
     59 
     60                                $startTime->setTimestamp((int) ($va['startTime'] / 1000)); 
     61                                $endTime->setTimestamp((int) ($va['endTime'] / 1000)); 
     62                                 
     63                                array_push($disponibilyUser, array('startTime' => ($startTime->format('U') + ( $startTime->format('O') * (36) )).'000', 'endTime' => ($endTime->format('U') + ( $startTime->format('O') * (36) )).'000', 'allDay' => $va['allDay'])); 
    5664 
    5765                        /*  
  • trunk/prototype/modules/calendar/js/map.disponibility.js

    r5636 r6069  
    154154                for(var map_attende in map_events){ 
    155155                        for(var event_by_attende in map_events[map_attende]){ 
     156                                var endTime = Timezone.getDateMapDisponibility(new Date(parseInt(map_events[map_attende][event_by_attende].endTime))); 
     157                                if(!!parseInt(map_events[map_attende][event_by_attende].allDay)) 
     158                                        endTime.add({day: -1}); 
     159 
    156160                                eventSource.push( 
    157161                                { 
    158162                                        id : "map_busy_events",  
    159163                                        title : map.attendees[map_attende].name, 
    160                                         start: new Date(parseInt(map_events[map_attende][event_by_attende].startTime)), 
    161                                         end: new Date(parseInt(map_events[map_attende][event_by_attende].endTime)), 
     164                                        start: Timezone.getDateMapDisponibility(new Date(parseInt(map_events[map_attende][event_by_attende].startTime))), 
     165                                        end: endTime, 
    162166                                        editable : false, 
    163167                                        allDay : !!parseInt(map_events[map_attende][event_by_attende].allDay), 
  • trunk/prototype/modules/calendar/js/timezone.js

    r5592 r6069  
    5050                var offsetDate = !!current ? this.currentOffset : date.getUTCOffset(); 
    5151                return date.add({hours: (parseInt(offsetDate.charAt(0) + offsetDate.charAt(2)) * (!!inverse ? -1 : 1) )}); 
     52        }, 
     53         
     54        getDateMapDisponibility: function(date){ 
     55                return this.normalizeDate(date, false, true); 
    5256        } 
    5357} 
Note: See TracChangeset for help on using the changeset viewer.