Ignore:
Timestamp:
10/08/13 16:20:46 (11 years ago)
Author:
douglas
Message:

Ticket #0000 - Copiadas as alterações do Trunk. Versão final 2.5.1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/prototype/modules/calendar/js/helpers.js

    r8059 r8232  
    111111        var end = $("#calendar").fullCalendar('getView').visEnd.getTime()/1000; 
    112112        var criteria = DataLayer.criteria("schedulable:calendar", {'start':start, 'end':end} ); 
    113   
    114     var data = DataLayer.encode('schedulable:print', DataLayer.dispatch('modules/calendar/schedules', criteria )  );  
     113 
     114    var data = DataLayer.encode('schedulable:print', DataLayer.dispatch('modules/calendar/schedules', criteria )  ); 
    115115 
    116116        if($("#calendar").fullCalendar('getView').name == "month"){                              
     
    163163        print.removeClass('fc-button-year'); 
    164164        print.removeClass('fc-corner-left'); 
    165         print.removeClass('fc-state-active');  
     165        print.removeClass('fc-state-active'); 
    166166        print.find('.fc-button-content').html('Imprimir'); 
    167167        $('.fc-header-right').append(print); 
     
    179179function eventDetails( objEvent, decoded, path, isMail, repeat, buttonClicked) 
    180180{ 
    181  
    182181    $('.qtip.qtip-blue').remove(); 
    183182 
    184183    attendees = {}; 
    185   
    186     if(!!objEvent.participants)  
    187     {  
    188         $.each(objEvent.participants ,function(index, value) {  
    189  
    190             var part = DataLayer.get('participant' , value );  
    191             var user = DataLayer.get('user' , part.user );  
    192   
    193             attendees[part.user] = user.name;  
    194         });  
    195     }  
    196   
     184 
     185    if(!!objEvent.participants) 
     186    { 
     187        $.each(objEvent.participants ,function(index, value) { 
     188 
     189            var part = DataLayer.get('participant' , value ); 
     190            var user = DataLayer.get('user' , part.user ); 
     191 
     192            attendees[part.user] = user.name; 
     193        }); 
     194    } 
     195 
    197196    if(path == undefined) 
    198197        path = ""; 
    199           
     198         
    200199    if( !decoded ) 
    201         objEvent = DataLayer.decode("schedulable:calendar", objEvent );  
    202   
    203         var dtstamp = objEvent.dtstamp;   
     200        objEvent = DataLayer.decode("schedulable:calendar", objEvent ); 
     201 
     202        var dtstamp = objEvent.dtstamp; 
    204203    if(!isMail) 
    205                 objEvent = DataLayer.encode( "schedulable:preview", objEvent );  
    206         if (!dtstamp)  
    207                 var date = new Date();  
    208         else  
    209                 var date = new Date(parseInt(dtstamp));  
    210         objEvent.creationDate = [];  
    211         objEvent.creationDate[0] = dateFormat(parseInt(dtstamp),'dd/mm/yyyy');  
    212         objEvent.creationDate[1] = date.getHours();  
    213         objEvent.creationDate[2] = date.getMinutes();     
    214       
     204                objEvent = DataLayer.encode( "schedulable:preview", objEvent ); 
     205        if (!dtstamp) 
     206                var date = new Date(); 
     207        else 
     208                var date = new Date(parseInt(dtstamp)); 
     209        objEvent.creationDate = []; 
     210        objEvent.creationDate[0] = dateFormat(parseInt(dtstamp),'dd/mm/yyyy'); 
     211        objEvent.creationDate[1] = date.getHours(); 
     212        objEvent.creationDate[2] = date.getMinutes();    
     213     
    215214    if(typeof(objEvent.id) == 'undefined'){ 
    216215        objEvent.alarms = Calendar.signatureOf[User.preferences.defaultCalendar || Calendar.calendarIds[0]].defaultAlarms || false; 
     
    270269        }).click(function () { 
    271270        var participant = DataLayer.get('participant' , $(this).parents('li').find('[type=checkbox]').val());  
    272             DataLayer.remove('participant', participant.id);  
     271        DataLayer.remove('participant', participant.id); 
     272         
    273273            if($(this).parent().find('.button.delegate').hasClass('attendee-permissions-change-button')){ 
    274274                removeOthers(); 
     
    278278                blkAddAtendee.find('option[value=1]').attr('selected','selected').trigger('change'); 
    279279            } 
     280                         
    280281            $(this).parents('li').remove(); 
    281282                         
    282283            if(blkAddAtendee.find(".attendee-list li").length == 1) 
    283284                blkAddAtendee.find("li.not-attendee").removeClass('hidden'); 
    284         delete attendees[participant.user];  
     285     delete attendees[participant.user]; 
    285286        }) 
    286287        .addClass('tiny disable ui-button-disabled ui-state-disabled') 
     
    467468    } 
    468469    ); 
     470         
     471                 
    469472} 
    470473 
     
    487490                        $('.qtip.qtip-blue.qtip-active').qtip('destroy');                                                
    488491                attendees  = {}; 
     492        DataLayer.rollback();//Limpa cache do datalayer 
    489493        }, 
    490494        beforeClose: function(event, ui) { 
     
    566570} 
    567571 
    568   
    569 dateSameValue = function(){  
    570     UI.dialogs.addEvent.find('input.start-date').datepicker({  
    571         dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'),  
    572         onSelect : function (selectedDate){  
    573             endDate = $(".end-date").val();  
    574             storeSelectedDate = selectedDate;  
    575   
    576             if ( User.preferences.dateFormat == "dd/MM/yyyy" || User.preferences.dateFormat == "dd-MM-yyyy" ) {  
    577                 if ( User.preferences.dateFormat == "dd/MM/yyyy" ) {  
    578                     selectedDate = selectedDate.split("/");  
    579                     endDate = endDate.split("/");  
    580                 } else if( User.preferences.dateFormat == "dd-MM-yyyy" ){  
    581                     selectedDate = selectedDate.split("-");  
    582                     endDate = endDate.split("-");  
    583                 }  
    584   
    585                 newDt = new Date(selectedDate[2],selectedDate[1], selectedDate[0]);  
    586                 endDate = new Date(endDate[2],endDate[1], endDate[0]);  
    587   
    588             } else if ( User.preferences.dateFormat == "MM/dd/yyyy" ) {  
    589                 selectedDate = selectedDate.split("/");  
    590                 endDate = endDate.split("/");  
    591   
    592                 newDt = new Date(selectedDate[2],selectedDate[0], selectedDate[1]);  
    593                 endDate = new Date(endDate[2],endDate[0], endDate[1]);  
    594             }  
    595   
    596             if( newDt > endDate )  
    597                 $(".end-date").val(storeSelectedDate);  
    598         },  
    599         onClose: function(){  
    600                 UI.dialogs.addEvent.find(".end-date").val(UI.dialogs.addEvent.find(".start-date").val());  
    601         }  
    602     });  
    603 }  
    604   
     572 
     573dateSameValue = function(){ 
     574    UI.dialogs.addEvent.find('input.start-date').datepicker({ 
     575        dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy'), 
     576        onSelect : function (selectedDate){ 
     577            endDate = $(".end-date").val(); 
     578            storeSelectedDate = selectedDate; 
     579 
     580            if ( User.preferences.dateFormat == "dd/MM/yyyy" || User.preferences.dateFormat == "dd-MM-yyyy" ) { 
     581                if ( User.preferences.dateFormat == "dd/MM/yyyy" ) { 
     582                    selectedDate = selectedDate.split("/"); 
     583                    endDate = endDate.split("/"); 
     584                } else if( User.preferences.dateFormat == "dd-MM-yyyy" ){ 
     585                    selectedDate = selectedDate.split("-"); 
     586                    endDate = endDate.split("-"); 
     587                } 
     588 
     589                newDt = new Date(selectedDate[2],selectedDate[1], selectedDate[0]); 
     590                endDate = new Date(endDate[2],endDate[1], endDate[0]); 
     591 
     592            } else if ( User.preferences.dateFormat == "MM/dd/yyyy" ) { 
     593                selectedDate = selectedDate.split("/"); 
     594                endDate = endDate.split("/"); 
     595 
     596                newDt = new Date(selectedDate[2],selectedDate[0], selectedDate[1]); 
     597                endDate = new Date(endDate[2],endDate[0], endDate[1]); 
     598            } 
     599 
     600            if( newDt > endDate ) 
     601                $(".end-date").val(storeSelectedDate); 
     602        }, 
     603        onClose: function(){ 
     604                UI.dialogs.addEvent.find(".end-date").val(UI.dialogs.addEvent.find(".start-date").val()); 
     605        } 
     606    }); 
     607} 
     608 
    605609DataLayer.render( path+'templates/event_repeat.ejs', { 
    606610    event:objEvent 
     
    608612 
    609613    UI.dialogs.addEvent.find('#calendar_addevent_details3').html(repeatHtml); 
    610   
    611     dateSameValue();  
     614 
     615    dateSameValue(); 
    612616    $(".date").datepicker({ 
    613617                dateFormat: User.preferences.dateFormat.replace(/M/g, 'm').replace(/yyyy/g, 'yy') 
    614         });  
    615   
    616   
     618        }); 
     619 
     620 
    617621    if(objEvent.repeat)  
    618622    { 
     
    10101014}); 
    10111015 
    1012 dateSameValue();  
    1013   
    1014 var fixHour = function(){  
    1015     currentTimeStart = UI.dialogs.addEvent.find("input.start-time").val();  
    1016     UI.dialogs.addEvent.find("input.start-time").val(currentTimeStart.replace(".","").replace(".",""));  
    1017 }     
    1018   
    1019 var setTime = function( selectedDateTime ) {  
    1020     if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __'))  
    1021           selectedDateTime.value = "";  
    1022     if(!(User.preferences.hourFormat.length == 5))  
    1023         $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                  
    1024     updateMap();  
    1025   
    1026     if( Date.parse(selectedDateTime) < Date.parse(oldTime) ) return true;  
    1027   
    1028     var time = selectedDateTime.split(":");  
    1029   
    1030     var hh = time[0];  
    1031     var mm = time[1].substring(0, 2);  
     1016dateSameValue(); 
     1017 
     1018var fixHour = function(){ 
     1019    currentTimeStart = UI.dialogs.addEvent.find("input.start-time").val(); 
     1020    UI.dialogs.addEvent.find("input.start-time").val(currentTimeStart.replace(".","").replace(".","")); 
     1021}    
     1022 
     1023var setTime = function( selectedDateTime ) { 
     1024    if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __')) 
     1025          selectedDateTime.value = ""; 
     1026    if(!(User.preferences.hourFormat.length == 5)) 
     1027        $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                 
     1028    updateMap(); 
     1029 
     1030    if( Date.parse(selectedDateTime) < Date.parse(oldTime) ) return true; 
    10321031     
    1033        
    1034     dt = new Date();  
    1035     dt.setHours(hh, mm);  
    1036     var startHours = dt.getHours();  
    1037     add = parseInt(User.preferences.defaultDuration) + parseInt($("input.end-time").val().split(":")[1].substring(0,2));  
    1038     dt.addMinutes(add);  
     1032    var time = selectedDateTime.split(":"); 
     1033 
     1034    var hh = time[0]; 
     1035    var mm = time[1].substring(0, 2); 
     1036    
    10391037      
    1040   
    1041     var minutes = dt.getMinutes().toString();  
    1042     var hours = dt.getHours();  
    1043 UI.dialogs.addEvent.find("input.start-time").val(selectedDateTime.replace(".","").replace(".",""));  
    1044       
    1045       
    1046     if (time[1].indexOf("p.m.") != -1 ) {  
    1047         var startHours = startHours == 12 ? 12 : startHours;  
    1048         var startHours = startHours == 1 ? 13 : startHours;  
    1049         var startHours = startHours == 2 ? 14 : startHours;  
    1050         var startHours = startHours == 3 ? 15 : startHours;  
    1051         var startHours = startHours == 4 ? 16 : startHours;  
    1052         var startHours = startHours == 5 ? 17 : startHours;  
    1053         var startHours = startHours == 6 ? 18 : startHours;  
    1054         var startHours = startHours == 7 ? 19 : startHours;  
    1055         var startHours = startHours == 8 ? 20 : startHours;  
    1056         var startHours = startHours == 9 ? 21 : startHours;  
    1057         var startHours = startHours == 10 ? 22 : startHours;  
    1058         var startHours = startHours == 11 ? 23 : startHours;  
    1059     } else if (time[1].indexOf("a.m.") ) {  
    1060         var startHours = startHours == 12 ? 00 : startHours;  
    1061     }  
    1062   
    1063   
    1064     dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + (User.preferences.defaultDuration / 60)) < 24) ? " pm" : " am") : "";  
    1065          
    1066     var newHours = "";  
    1067     if(dtFormat){  
    1068         hours = hours == 13 ? 01 : hours;  
    1069         hours = hours == 14 ? 02 : hours;  
    1070         hours = hours == 15 ? 03 : hours;  
    1071         hours = hours == 16 ? 04 : hours;  
    1072         hours = hours == 17 ? 05 : hours;  
    1073         hours = hours == 18 ? 06 : hours;  
    1074         hours = hours == 19 ? 07 : hours;  
    1075         hours = hours == 20 ? 08 : hours;  
    1076         hours = hours == 21 ? 09 : hours;  
    1077         hours = hours == 22 ? 10 : hours;  
    1078         hours = hours == 23 ? 11 : hours;  
    1079         hours = hours == 24 ? 12 : hours;  
    1080     } else {  
    1081         newHours = hours <= 9 ? "0" : "";  
    1082     }  
    1083   
    1084     minutes = minutes.length == 1 ? "0"+minutes+dtFormat : minutes+dtFormat;  
    1085     newHours +=  hours.toString() + ":" +minutes;  
    1086     UI.dialogs.addEvent.find("input.end-time").val(newHours);  
    1087   
    1088 }  
    1089   
    1090     UI.dialogs.addEvent.find(".start-date").focusout(function(data){   
    1091         UI.dialogs.addEvent.find(".end-date").val($(this).val());  
    1092     });  
     1038    dt = new Date(); 
     1039    dt.setHours(hh, mm); 
     1040    var startHours = dt.getHours(); 
     1041    add = parseInt(User.preferences.defaultDuration) + parseInt($("input.end-time").val().split(":")[1].substring(0,2)); 
     1042    dt.addMinutes(add); 
     1043     
     1044 
     1045    var minutes = dt.getMinutes().toString(); 
     1046    var hours = dt.getHours(); 
     1047UI.dialogs.addEvent.find("input.start-time").val(selectedDateTime.replace(".","").replace(".","")); 
     1048     
     1049     
     1050    if (time[1].indexOf("p.m.") != -1 ) { 
     1051        var startHours = startHours == 12 ? 12 : startHours; 
     1052        var startHours = startHours == 1 ? 13 : startHours; 
     1053        var startHours = startHours == 2 ? 14 : startHours; 
     1054        var startHours = startHours == 3 ? 15 : startHours; 
     1055        var startHours = startHours == 4 ? 16 : startHours; 
     1056        var startHours = startHours == 5 ? 17 : startHours; 
     1057        var startHours = startHours == 6 ? 18 : startHours; 
     1058        var startHours = startHours == 7 ? 19 : startHours; 
     1059        var startHours = startHours == 8 ? 20 : startHours; 
     1060        var startHours = startHours == 9 ? 21 : startHours; 
     1061        var startHours = startHours == 10 ? 22 : startHours; 
     1062        var startHours = startHours == 11 ? 23 : startHours; 
     1063    } else if (time[1].indexOf("a.m.") ) { 
     1064        var startHours = startHours == 12 ? 00 : startHours; 
     1065    } 
     1066 
     1067 
     1068    dtFormat = (time[1].indexOf("p.m.") != -1 || time[1].indexOf("a.m.") != -1) ? ((((User.preferences.defaultDuration / 60) + startHours) >= 12 && (startHours + (User.preferences.defaultDuration / 60)) < 24) ? " pm" : " am") : ""; 
     1069        
     1070    var newHours = ""; 
     1071    if(dtFormat){ 
     1072        hours = hours == 13 ? 01 : hours; 
     1073        hours = hours == 14 ? 02 : hours; 
     1074        hours = hours == 15 ? 03 : hours; 
     1075        hours = hours == 16 ? 04 : hours; 
     1076        hours = hours == 17 ? 05 : hours; 
     1077        hours = hours == 18 ? 06 : hours; 
     1078        hours = hours == 19 ? 07 : hours; 
     1079        hours = hours == 20 ? 08 : hours; 
     1080        hours = hours == 21 ? 09 : hours; 
     1081        hours = hours == 22 ? 10 : hours; 
     1082        hours = hours == 23 ? 11 : hours; 
     1083        hours = hours == 24 ? 12 : hours; 
     1084    } else { 
     1085        newHours = hours <= 9 ? "0" : ""; 
     1086    } 
     1087 
     1088    minutes = minutes.length == 1 ? "0"+minutes+dtFormat : minutes+dtFormat; 
     1089    newHours +=  hours.toString() + ":" +minutes; 
     1090    UI.dialogs.addEvent.find("input.end-time").val(newHours); 
     1091 
     1092} 
     1093 
     1094    UI.dialogs.addEvent.find(".start-date").focusout(function(data){  
     1095        UI.dialogs.addEvent.find(".end-date").val($(this).val()); 
     1096    }); 
    10931097 
    10941098    var oldTime = UI.dialogs.addEvent.find('input.start-time').val(); 
    1095     $(".start-time").focusout(function(data){  
    1096         if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) {  
    1097             setTime( $(this).val() );  
    1098         }  
    1099     });  
    1100    
    1101     UI.dialogs.addEvent.find('input.start-time').timepicker({  
    1102         ampm : ((User.preferences.hourFormat.length > 5) ? true: false),  
    1103         timeFormat: "hh:mm tt",  
    1104         onSelect: function( selectedDateTime ){  
    1105             if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) {  
    1106                 if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) {  
    1107                     var selectedTime = selectedDateTime.split(":");  
    1108                     var endTime = UI.dialogs.addEvent.find(".end-time").val();  
    1109                     endTime = endTime.split(":");  
    1110   
    1111                     var t1 = new Date(false,false,false,selectedTime[0],selectedTime[1],false);  
    1112                     var t2 = new Date(false,false,false,endTime[0],endTime[1],false);  
    1113   
    1114                     if (t1 < t2) return true;  
    1115                 }  
    1116   
    1117                 setTime( selectedDateTime );  
    1118             }  
    1119         },  
    1120         onClose : function (selectedDateTime){  
    1121             fixHour();  
    1122         }  
    1123   
    1124     });  
    1125   
    1126  
    1127   
     1099    $(".start-time").focusout(function(data){ 
     1100        if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 
     1101            setTime( $(this).val() ); 
     1102        } 
     1103    }); 
     1104 
     1105    UI.dialogs.addEvent.find('input.start-time').timepicker({ 
     1106        ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 
     1107        timeFormat: "hh:mm tt", 
     1108        onSelect: function( selectedDateTime ){ 
     1109            if($("#calendar").fullCalendar('getView').name == "month" || buttonClicked) { 
     1110                if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 
     1111                    var selectedTime = selectedDateTime.split(":"); 
     1112                    var endTime = UI.dialogs.addEvent.find(".end-time").val(); 
     1113                    endTime = endTime.split(":"); 
     1114 
     1115                    var t1 = new Date(false,false,false,selectedTime[0],selectedTime[1],false); 
     1116                    var t2 = new Date(false,false,false,endTime[0],endTime[1],false); 
     1117 
     1118                    if (t1 < t2) return true; 
     1119                } 
     1120 
     1121                setTime( selectedDateTime ); 
     1122            } 
     1123        }, 
     1124        onClose : function (selectedDateTime){ 
     1125            fixHour(); 
     1126        } 
     1127 
     1128    }); 
     1129 
     1130 
     1131 
    11281132UI.dialogs.addEvent.find('input.end-time').timepicker({  
    11291133    closeText: 'Ok', 
     
    11381142                $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                                             
    11391143                updateMap(); 
    1140   
    1141         if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) {  
    1142             var startT = UI.dialogs.addEvent.find('input.start-time');  
    1143   
    1144             var lessZeroTime = function( sTime ) {  
    1145                 sTime = sTime.split(":");  
    1146                 sTime = new Date(false,false,false,sTime[0],sTime[1],false);  
    1147                 sTimeReady = parseInt(sTime.getHours() - (User.preferences.defaultDuration / 60));  
    1148   
    1149                 if( sTimeReady < 0 )  
    1150                     return false; // If the value is less than 0, return false.  
    1151                       
    1152                 return sTimeReady.toString().length == 1 ? "0"+sTimeReady+":00" : sTimeReady+":00";  
    1153             }  
    1154   
    1155             var hEnd = new Date(false,false,false,selectedDateTime.split(":")[0],selectedDateTime.split(":")[1],false);  
    1156             var hStart = new Date(false,false,false,startT.val().split(":")[0],startT.val().split(":")[1],false);  
    1157               
    1158             if ( hEnd <= hStart ){  
    1159                 var lessTime = lessZeroTime( selectedDateTime );  
    1160                 if ( !lessTime ){  
    1161                     startT.val( "00:00" );  
    1162                     return true;  
    1163                 }  
    1164                 startT.val( lessTime );  
    1165             }  
    1166         }  
     1144 
     1145        if ( selectedDateTime.indexOf("p.m.") == -1 || !selectedDateTime.indexOf("a.m.") == -1 ) { 
     1146            var startT = UI.dialogs.addEvent.find('input.start-time'); 
     1147 
     1148            var lessZeroTime = function( sTime ) { 
     1149                sTime = sTime.split(":"); 
     1150                sTime = new Date(false,false,false,sTime[0],sTime[1],false); 
     1151                sTimeReady = parseInt(sTime.getHours() - (User.preferences.defaultDuration / 60)); 
     1152 
     1153                if( sTimeReady < 0 ) 
     1154                    return false; // If the value is less than 0, return false. 
     1155                     
     1156                return sTimeReady.toString().length == 1 ? "0"+sTimeReady+":00" : sTimeReady+":00"; 
     1157            } 
     1158 
     1159            var hEnd = new Date(false,false,false,selectedDateTime.split(":")[0],selectedDateTime.split(":")[1],false); 
     1160            var hStart = new Date(false,false,false,startT.val().split(":")[0],startT.val().split(":")[1],false); 
     1161             
     1162            if ( hEnd <= hStart ){ 
     1163                var lessTime = lessZeroTime( selectedDateTime ); 
     1164                if ( !lessTime ){ 
     1165                    startT.val( "00:00" ); 
     1166                    return true; 
     1167                } 
     1168                startT.val( lessTime ); 
     1169            } 
     1170        } 
    11671171    }, 
    11681172    onClose : function (selectedDateTime){ 
    11691173        if(!(User.preferences.hourFormat.length == 5)) 
    11701174            $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 
    1171     fixHour();  
     1175    fixHour(); 
    11721176    }, 
     1177 
    11731178    beforeShow: function (selectedDateTime) { 
    11741179                if ((selectedDateTime.value == '__:__') || (selectedDateTime.value == '__:__ __')) 
     
    12161221var attendeeHtml = DataLayer.render( path+'templates/attendee_add.ejs', { 
    12171222    event:objEvent 
    1218 }); 
     1223});              
    12191224         
    12201225// load template of attendees 
    12211226var blkAddAtendee = UI.dialogs.addEvent.find('#calendar_addevent_details6').append(attendeeHtml); 
    1222 if(objEvent.attendee.length) 
     1227if(objEvent.attendee.length)  
    12231228                callbackAttendee();  
    12241229/** 
     
    15981603            if ($(event.target).is('input')) { 
    15991604                old_item = $(event.target).parents('li'); 
    1600   
    1601         var  userId = old_item.find('.id').html();  
    1602   
    1603         if(userId == '')  
    1604         {  
    1605            var  userId = DataLayer.put('user', {  
    1606                 name: old_item.find('.name').html(),  
    1607                 mail: old_item.find('.mail').html(),  
    1608                 isExternal: '1'  
    1609             });  
    1610         }  
    1611   
     1605 
     1606        var  userId = old_item.find('.id').html(); 
     1607 
     1608        if(userId == '') 
     1609        { 
     1610           var  userId = DataLayer.put('user', { 
     1611                name: old_item.find('.name').html(), 
     1612                mail: old_item.find('.mail').html(), 
     1613                isExternal: '1' 
     1614            }); 
     1615        } 
     1616 
    16121617                newAttendeeId = DataLayer.put('participant', { 
    16131618                    user: userId, 
     
    17681773        DataLayer.render( 'templates/preferences_calendar.ejs', { 
    17691774            preferences:User.preferences,  
    1770             calendars: Calendar.calendars,  
    1771         signatureOf : Calendar.signatureOf  
     1775            calendars: Calendar.calendars, 
     1776        signatureOf : Calendar.signatureOf 
    17721777            }, function( template ){ 
    17731778            var tabPrefCalendar = jQuery('#preference_tab').html( template ).find('.preferences-win'); 
    17741779                 
    1775             tabPrefCalendar.find('select[name="defaultCalendar"] option[value="'+User.preferences.defaultCalendar+'"]').attr('selected','selected').trigger('change');  
     1780            tabPrefCalendar.find('select[name="defaultCalendar"] option[value="'+User.preferences.defaultCalendar+'"]').attr('selected','selected').trigger('change');  
    17761781        tabPrefCalendar.find('select[name="dafaultImportCalendar"] option[value="'+User.preferences.dafaultImportCalendar+'"]').attr('selected','selected').trigger('change');  
    1777   
    1778         DataLayer.render( 'templates/timezone_list.ejs', {}, function( timezones_options ){  
    1779  
     1782 
     1783            DataLayer.render( 'templates/timezone_list.ejs', {}, function( timezones_options ){ 
    17801784                tabPrefCalendar.find('select[name="timezone"]').html(timezones_options).find('option[value="'+User.preferences.timezone+'"]').attr('selected','selected').trigger('change'); 
    17811785            }); 
     
    21032107 
    21042108function getSelectedCalendars( reverse, type ){ 
    2105     var selector = !!type ? "div.my-groups-task .calendar-view" : "div.my-calendars .calendar-view, div.signed-calendars .calendar-view";  
    2106     var returns = [];  
    2107   
    2108     $.each( $(selector), function(i , c){  
    2109   
    2110         if( reverse ? !c.checked : c.checked )  
    2111             returns.push( c.value );  
    2112   
     2109 
     2110    var selector = ""; 
     2111 
     2112    switch(type) 
     2113    { 
     2114        case 0: 
     2115            selector = "div.my-calendars .calendar-view, div.signed-calendars .calendar-view"; 
     2116            break; 
     2117        case 1: 
     2118            selector = "div.my-groups-task .calendar-view"; 
     2119            break; 
     2120        case 2: 
     2121            selector = ".calendar-view"; 
     2122            break; 
     2123    } 
     2124 
     2125//  var selector = !!type ? "div.my-groups-task .calendar-view" : "div.my-calendars .calendar-view, div.signed-calendars .calendar-view"; 
     2126    var returns = []; 
     2127 
     2128    $.each( $(selector), function(i , c){ 
     2129 
     2130        if( reverse ? !c.checked : c.checked ) 
     2131            returns.push( c.value ); 
     2132 
    21132133    }); 
    2114   
    2115     if (!returns.length)  
    2116             return false;  
    2117   
    2118     return returns;  
     2134 
     2135    if (!returns.length) 
     2136            return false; 
     2137 
     2138    return returns; 
    21192139} 
    21202140 
     
    21732193                var schudableDecode = DataLayer.encode( "schedulable:preview", schedulable); 
    21742194                var me = schudableDecode.me.user ? schudableDecode.me.user.id : schudableDecode.me.id; 
    2175  
    2176         var filter = {filter: ['AND', ['=','id',eventId], ['=','calendar',idCalendar], ['=','user', me]]}; 
    2177  
     2195        var filter = {filter: ['AND', ['=','id',eventId], ['=','calendar',idCalendar], ['=','user', me] ] }; 
    21782196        if(type) 
    21792197            filter.filter.push(['=','type',type]); 
    2180  
    21812198                DataLayer.removeFilter('schedulable', filter); 
    21822199                Calendar.rerenderView(true); 
     
    23062323                 
    23072324        }); 
    2308   
    2309      $('ul.list-calendars .cal-list-options-btn').on('click',function(){doMenu();});          
     2325 
     2326     $('ul.list-calendars .cal-list-options-btn').on('click',function(){doMenu();}); 
    23102327         
    23112328 
     
    24792496        show_modal_search_shared(); 
    24802497    }); 
    2481          
    2482          
     2498                 
     2499 
    24832500    meu_container.find('.title-signed-calendars').click(function(evt){ 
    24842501        var status = $(this).parent().find('.status-list-shared'); 
     
    24912508                 
    24922509    $('.calendar-view').click(function(evt){ 
    2493   
    2494         var checkBox = $(this);  
    2495         var calendarId = $(this).val();  
    2496   
    2497         Calendar.signatureOf[ calendarId ].hidden =  (checkBox.is(':checked') ? 0 : 1 );  
    2498   
    2499         DataLayer.put('calendarSignature', {id: Calendar.signatureOf[ calendarId ].id , hidden: Calendar.signatureOf[ calendarId ].hidden }  );  
    2500         DataLayer.commit();  
    2501   
    2502   
    2503          if($tabs.tabs('option' ,'selected') == 0){  
    2504   
    2505              if(Calendar.currentView && !!Calendar.currentView[ calendarId ]){  
    2506   
    2507                  Calendar.currentView[ calendarId ].hidden = !checkBox.is(':checked');  
    2508                  $('#calendar').fullCalendar( 'refetchEvents' );  
    2509              }  
    2510   
    2511          }else{  
    2512              type = $tabs.tabs('option' ,'selected');  
    2513              type = type > 2 ? 2 : (type - 1)  
    2514   
    2515              pageselectCallback('', 0, false, type);  
    2516          }  
     2510 
     2511        var checkBox = $(this); 
     2512        var calendarId = $(this).val(); 
     2513 
     2514        Calendar.signatureOf[ calendarId ].hidden =  (checkBox.is(':checked') ? 0 : 1 ); 
     2515 
     2516        DataLayer.put('calendarSignature', {id: Calendar.signatureOf[ calendarId ].id , hidden: Calendar.signatureOf[ calendarId ].hidden }  ); 
     2517        DataLayer.commit(); 
     2518 
     2519 
     2520         if($tabs.tabs('option' ,'selected') == 0){ 
     2521 
     2522             if(Calendar.currentView && !!Calendar.currentView[ calendarId ]){ 
     2523 
     2524                 Calendar.currentView[ calendarId ].hidden = !checkBox.is(':checked'); 
     2525                 $('#calendar').fullCalendar( 'refetchEvents' ); 
     2526             } 
     2527 
     2528         }else{ 
     2529             type = $tabs.tabs('option' ,'selected'); 
     2530             type = type > 2 ? 2 : (type - 1) 
     2531 
     2532             pageselectCallback('', 0, false, type); 
     2533         } 
    25172534    }); 
    25182535}); 
     
    26242641            $(this).addClass('fc-state-hover'); 
    26252642        }, 
    2626   
     2643 
    26272644        function(){ 
    26282645            $(this).removeClass('fc-state-hover'); 
     
    26582675        else 
    26592676            pageselectCallback($(currentView+' [name = keyword]').val(), ((parseInt($(currentView+' [name = page_index]').val())) -1), view, type); 
    2660     });  
    2661     if (currentView == "#tab_events_list_" || currentView == "#tab_tasks_list_")  
    2662         $(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-left').find('span.fc-button-agendaWeek, span.fc-button-agendaDay').remove();  
     2677    }); 
     2678    if (currentView == "#tab_events_list_" || currentView == "#tab_tasks_list_") 
     2679        $(currentView+' .events-list.events-list-win.active .header-paginator .fc-header-left').find('span.fc-button-agendaWeek, span.fc-button-agendaDay').remove(); 
    26632680} 
    26642681 
     
    27252742        case 'agendaWeek': 
    27262743            var dateStart = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]);  
    2727             var dateEnd = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]);  
    2728             dateEnd.setHours(0,0,0);  
    2729             dateStart.setHours(0,0,0);   
     2744            var dateEnd = new Date().moveToDayOfWeek(dateCalendar.dayOfWeek[User.preferences.weekStart]); 
     2745            dateEnd.setHours(0,0,0); 
     2746            dateStart.setHours(0,0,0); 
    27302747            rangeStart = dateStart.add({ days: (7 * page_index) }).getTime(); 
    27312748            rangeEnd = dateEnd.add({ days: (7 * page_index)+7 }).getTime(); 
     
    27392756            var dateStart = new Date().add({ years: page_index }); 
    27402757            var dateEnd = new Date().add({ years: page_index }); 
    2741             dateEnd.setHours(0,0,0);  
    2742             dateStart.setHours(0,0,0);  
     2758            dateEnd.setHours(0,0,0); 
     2759            dateStart.setHours(0,0,0); 
    27432760            if(dateStart.getMonth() != 0) 
    27442761                    dateStart.moveToMonth(0, -1) 
     
    28042821            }; 
    28052822        } 
    2806           
     2823         
    28072824        var results = DataLayer.encode('schedulable:list', DataLayer.dispatch('modules/calendar/schedules', criteria)); 
    2808         //var results = DataLayer.get('schedulable:detail', criteria); 
     2825        //var results = DataLayer.get('schedulable:detail', criteria); 
    28092826        keyword = ( keyword || '' ).replace( /\s+/g, "_" ); 
    28102827        } 
     
    28582875                                var eventId = $(this).siblings('[name="eventid"]').val(); 
    28592876                                var calendarId = $(this).siblings('[name="calendarid"]').val(); 
    2860                                 remove_event(eventId, calendarId, 2); 
     2877                                remove_event(eventId, calendarId, ( $(this).siblings('[name="eventtype"]').val() )); 
    28612878                                event.stopImmediatePropagation() 
    28622879                        }) 
     
    31313148        delete schedulable['historic']; 
    31323149 
    3133         schedulable.participants =  $.map( participants, function( attendee, i ){  
    3134   
    3135             var participant = DataLayer.get('participant', attendee, false);  
    3136   
    3137             if(typeof(participant) == 'array')  
    3138                 participant = participant[0];  
    3139   
    3140             if(owner.id != participant.user)  
    3141                 delete participant.status;  
    3142   
    3143             delete participant.delegatedFrom;  
    3144             delete participant.id;  
    3145             delete participant.schedulable;  
    3146   
    3147             participant.id = DataLayer.put('participant', participant);  
    3148   
    3149             return  (parseInt(type) == 3) ? participant.id : participant ;  
    3150         });  
    3151   
     3150        schedulable.participants =  $.map( participants, function( attendee, i ){ 
     3151 
     3152            var participant = DataLayer.get('participant', attendee, false); 
     3153 
     3154            if(typeof(participant) == 'array') 
     3155                participant = participant[0]; 
     3156 
     3157            if(owner.id != participant.user) 
     3158                delete participant.status; 
     3159 
     3160            delete participant.delegatedFrom; 
     3161            delete participant.id; 
     3162            delete participant.schedulable; 
     3163 
     3164            participant.id = DataLayer.put('participant', participant); 
     3165 
     3166            return  (parseInt(type) == 3) ? participant.id : participant ; 
     3167        }); 
     3168 
    31523169        //Edit ocurrence 
    31533170        if(parseInt(type) == 3){ 
Note: See TracChangeset for help on using the changeset viewer.