Changeset 5752


Ignore:
Timestamp:
03/19/12 16:38:05 (12 years ago)
Author:
acoutinho
Message:

Ticket #2434 - Correcao na edicao de repeticao com n repeticoes

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

Legend:

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

    r5746 r5752  
    110110          $occ = array(); 
    111111 
    112           if( $occurrences = self::checkOccurrences( $start, $end, intval($criteria['deepness']) + 1 ) ) 
     112          if( $occurrences = self::checkOccurrences( $start, $end ) ) 
    113113              foreach( $occurrences as $id => $occurrence ) 
    114114              { 
     
    188188    } 
    189189 
    190     public function checkOccurrences( $start, $end, $deep ){ 
     190    public function checkOccurrences( $start, $end ){ 
    191191 
    192192        $ranges = Controller::find( array( 'concept' => 'repeatRange' ), array( 'rangeStart', 'rangeEnd' ),  array( 'filter' => array( '=', 'user', Config::me("uidNumber") ) ) ); 
     
    217217 
    218218            if( !isset( $result[ $id ] ) ) 
    219                 $result[ $id ] = array(); 
     219                $result[ $id ] = !$initialized ?  array( $repeat['startTime'] ) : array(); 
    220220 
    221221            if( !$initialized ) 
     
    329329 
    330330    $return = array(); 
    331  
     331     
    332332    while($result = $r->next()) 
    333333    {  
  • trunk/prototype/modules/calendar/js/calendar.codecs.js

    r5746 r5752  
    986986                    isRepeat = true; 
    987987                    occurrences = evt.occurrences; 
    988                 } 
    989  
    990                 occurrences[ occurrences.length ] = evt.startTime; 
    991  
    992                 occurrences = DataLayer.unique( occurrences ); 
     988                }else 
     989                    occurrences[ occurrences.length ] = evt.startTime; 
     990 
     991                //occurrences = DataLayer.unique( occurrences ).sort(); 
    993992                   
    994993                for( var i = 0; i < occurrences.length; i++ ) 
  • trunk/prototype/modules/calendar/js/helpers.js

    r5746 r5752  
    657657                        canDiscardEventDialog = true; 
    658658                         
    659                         var exit = function(){ 
     659                        var exit = function(event){ 
     660                            if(event) 
     661                                DataLayer.remove('schedulable', event, false);  
     662 
    660663                            UI.dialogs.addEvent.children().find('form.form-addevent').submit(); 
    661664                            UI.dialogs.addEvent.dialog("close"); 
     
    665668                               DataLayer.remove('repeat', false); 
    666669                               DataLayer.put('repeat', repeat); 
    667                                DataLayer.commit('repeat', false, exit); 
     670                               DataLayer.commit('repeat', false, exit(repeat.schedulable)); 
    668671                        }else 
    669672                            exit(); 
     
    16281631 
    16291632    edit.repeat.startTime = new Date(parseInt(edit.repeat.startTime)).toString('yyyy-MM-dd HH:mm:00'); 
    1630     edit.repeat.endTime = new Date(parseInt(edit.repeat.endTime)).toString('yyyy-MM-dd HH:mm:00'); 
     1633    edit.repeat.endTime = parseInt(edit.repeat.count) > 0 ? '0' : new Date(parseInt(edit.repeat.endTime)).toString('yyyy-MM-dd HH:mm:00'); 
    16311634     
    16321635    edit.repeat.exceptions = (schedulable.occurrences[idException]);          
  • trunk/prototype/modules/calendar/js/init.js

    r5746 r5752  
    242242                                 DataLayer.put('repeat', repeat); 
    243243                                 DataLayer.commit('repeat', false, function(data){ 
    244                                       
     244                                     
     245                                    DataLayer.remove('schedulable', repeat.schedulable, false);  
    245246                                    DataLayer.put('schedulable', schedulable); 
    246247                                      
     
    275276                                 DataLayer.commit('repeat', false, function(data){ 
    276277                                      
     278                                    DataLayer.remove('schedulable', repeat.schedulable, false);  
    277279                                    DataLayer.put('schedulable', schedulable); 
    278280                                      
Note: See TracChangeset for help on using the changeset viewer.