Ignore:
Timestamp:
03/05/12 19:01:39 (12 years ago)
Author:
acoutinho
Message:

Ticket #2434 - Implementacao da funcionalidade de mapa de disponibilidade

File:
1 edited

Legend:

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

    r5615 r5636  
    6161function eventDetails( objEvent, decoded, path, isMail) 
    6262{ 
     63        attendees = {}; 
     64 
    6365        if(path == undefined) 
    6466                path = ""; 
     
    9395                'p': 'acl-participation-required' 
    9496        }; 
    95         /** 
    96         * callback de participantes generico 
    97         */ 
     97         
    9898        var callbackAttendee = function(){ 
    9999                //Cria qtip de permissões pelo click do checkbox 
     
    298298                                        if ($('dd.attendee-list li:last').data('qtip')) 
    299299                                                $('dd.attendee-list li:last').qtip('destroy'); 
     300                                                 
     301                                        attendees  = {}; 
    300302 
    301303                                }, 
     
    418420                                UI.dialogs.addEvent.find('.start-time, .end-time').addClass('hidden') : 
    419421                            UI.dialogs.addEvent.find('.start-time, .end-time').removeClass('hidden');  
     422                        updateMap(true); 
    420423            }); 
    421424 
     
    430433            UI.dialogs.addEvent.find(".input-group .h1").Watermark("Evento sem título"); 
    431434                if(User.preferences.hourFormat.length == 5) { 
    432                         UI.dialogs.addEvent.find(".end-time, .start-time").mask("99:99"); 
     435                        UI.dialogs.addEvent.find(".end-time, .start-time").mask("99:99", { 
     436                                completed: function(){ 
     437                                        updateMap(); 
     438                                } 
     439                        }); 
    433440                } else { 
    434441                        $.mask.definitions['{']='[ap]'; 
     
    439446                                        $(this).timepicker("refresh"); 
    440447                                        $(this).val($(this).val().replace(/[\.]/gi, "")); 
     448                                        updateMap(); 
    441449                                } 
    442450                        }); 
     
    444452                UI.dialogs.addEvent.find(".number").numeric(); 
    445453                User.preferences.dateFormat.indexOf('-') > 0 ?  
    446                         UI.dialogs.addEvent.find(".date").mask("99-99-9999") : 
    447                         UI.dialogs.addEvent.find(".date").mask("99/99/9999"); 
     454                        UI.dialogs.addEvent.find(".date").mask("99-99-9999", { 
     455                                completed:function(){ 
     456                                        updateMap(); 
     457                                } 
     458                        }) :  
     459                        UI.dialogs.addEvent.find(".date").mask("99/99/9999", { 
     460                                completed:function(){ 
     461                                        updateMap(); 
     462                                } 
     463                        }); 
    448464 
    449465            UI.dialogs.addEvent.find(".menu-addevent") 
     
    485501            }); 
    486502 
    487             UI.dialogs.addEvent.find('input.date').datepicker({dateFormat: 'dd/mm/yy'}); 
    488                 if(path == ""){ 
    489                         UI.dialogs.addEvent.find('input.time').timepicker({  
    490                                 closeText: 'Ok', 
    491                                 hourGrid: 4, 
    492                                 minuteGrid: 10, 
    493                                 ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 
    494                                 timeFormat: "hh:mm tt", 
    495                                 onSelect: function (selectedDateTime){ 
    496                                         if(!(User.preferences.hourFormat.length == 5)) 
    497                                                 $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                                             
    498                                 }, 
    499                                 onClose : function (selectedDateTime){ 
    500                                         if(!(User.preferences.hourFormat.length == 5)) 
    501                                                 $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 
    502                                 } 
    503                         }); 
    504                 } 
     503                var dates = UI.dialogs.addEvent.find('input.date').datepicker({ 
     504                        dateFormat: 'dd/mm/yy', 
     505                        onSelect : function( selectedDate ){ 
     506                                updateMap(); 
     507                        } 
     508                }); 
     509                //if(path == ""){ 
     510                UI.dialogs.addEvent.find('input.time').timepicker({  
     511                        closeText: 'Ok', 
     512                        hourGrid: 4, 
     513                        minuteGrid: 10, 
     514                        ampm : ((User.preferences.hourFormat.length > 5) ? true: false), 
     515                        timeFormat: "hh:mm tt", 
     516                        onSelect: function (selectedDateTime){ 
     517                                if(!(User.preferences.hourFormat.length == 5)) 
     518                                        $(this).val(selectedDateTime.replace(/[\.]/gi, ""));                                                             
     519                                updateMap(); 
     520                        }, 
     521                        onClose : function (selectedDateTime){ 
     522                                if(!(User.preferences.hourFormat.length == 5)) 
     523                                        $(this).val(selectedDateTime.replace(/[\.]/gi, "")); 
     524                        } 
     525                }); 
     526                //} 
    505527 
    506528            UI.dialogs.addEvent.find('.button-add-alarms').click(function(){ 
     
    598620                                         */ 
    599621 
    600                                         var user = DataLayer.get('user', ["=", "mail", $(this).val()], true); 
    601                                          
     622                                        var user = DataLayer.get('user', ["=", "mail", $(this).val()]); 
     623                                        if(user[0].id) 
     624                                                attendees[user[0].id].name  = user[0].name; 
    602625                                         
    603626                                        /** 
     
    824847                                                        old_item = $(event.target).parents('li'); 
    825848                                                        newAttendeeId = DataLayer.put('participant', {user: old_item.find('.id').html(), isExternal: 0}); 
     849                                                         
     850                                                        attendees[old_item.find('.id').html()] = old_item.find('.name').html(); 
     851                                                         
    826852                                                        blkAddAtendee.find('dd.attendee-list ul.attendee-list') 
    827853                                                        .append(DataLayer.render(path+'templates/participants_add_itemlist.ejs', [{id: newAttendeeId, name: old_item.find('.name').html(), mail: old_item.find('.mail').html(), isExternal: 0, acl: objEvent.acl}])) 
     
    10341060                progressTimer = window.setInterval(intervalHandler, interval); 
    10351061        }); 
    1036                  
     1062         
     1063        if(objEvent.isShared){ 
     1064                 
     1065                var acls = Calendar.signatureOf[objEvent.calendar].permission.acl; 
     1066                 
     1067                if(!acls.write){ 
     1068                        UI.dialogs.addEvent.find(':input').attr('disabled', 'disabled'); 
     1069                        UI.dialogs.addEvent.find('.button').hide(); 
     1070                } 
     1071                 
     1072                if(acls.remove) 
     1073                        UI.dialogs.addEvent.find('.button.remove').show(); 
     1074                 
     1075                UI.dialogs.addEvent.find('.button.cancel').show(); 
     1076                 
     1077         
     1078        } 
     1079 
     1080        disponibily(objEvent, path, attendees); 
     1081          
    10371082        UI.dialogs.addEvent.find(':input').change(function(event){ 
    10381083                if (event.keyCode != '27' && event.keyCode != '13') 
     
    10421087                        canDiscardEventDialog = false; 
    10431088        });      
    1044          
    1045         if(objEvent.isShared){ 
    1046                  
    1047                 var acls = Calendar.signatureOf[objEvent.calendar].permission.acl; 
    1048                  
    1049                 if(!acls.write){ 
    1050                         UI.dialogs.addEvent.find(':input').attr('disabled', 'disabled'); 
    1051                         UI.dialogs.addEvent.find('.button').hide(); 
    1052                 } 
    1053                  
    1054                 if(acls.remove) 
    1055                         UI.dialogs.addEvent.find('.button.remove').show(); 
    1056                  
    1057                 UI.dialogs.addEvent.find('.button.cancel').show(); 
    1058                  
    1059          
    1060         } 
    1061          
    1062                  
     1089 
    10631090        UI.dialogs.addEvent.dialog('open'); 
     1091        //$('[href="#calendar_addevent_details7"]').trigger('click'); 
     1092        //$('[href="#calendar_addevent_details2"]').trigger('click'); 
    10641093} 
    10651094 
     
    13321361                                        refresh_calendars(); 
    13331362                                }); 
    1334                                  
    13351363                        }).end().filter('.cancel').click(function(evt){ 
    13361364                                $tabs.tabs( "remove", "#configure_tab"); 
     
    14281456                                if(idCalendar == User.preferences.defaultCalendar) 
    14291457                                        DataLayer.remove( 'modulePreference', User.preferenceIds['defaultCalendar']); 
    1430                                          
    1431                                          
     1458                         
    14321459                                DataLayer.commit( false, false, function( received ){ 
    14331460                                        delete Calendar.currentViewKey; 
     
    15401567                                        borderColor: colorsSuggestions[selected]['border'].substring(1) 
    15411568                                }); 
    1542                                  
    15431569                                DataLayer.commit( false, false, function( received ){ 
    15441570                                        delete Calendar.currentViewKey; 
     
    15461572                                        refresh_calendars(); 
    15471573                                }); 
    1548                                  
    15491574                                meu_container.find(".button.new").qtip('destroy'); 
    15501575                        }); 
     
    19792004                delete schedulable.repeat; 
    19802005         
     2006 
    19812007                schedulable.calendar = DataLayer.copy(calendar);         
    19822008         
     
    19852011                 
    19862012                var participants = DataLayer.copy(schedulable.participants); 
    1987                  
    19882013                delete schedulable.participants; 
    19892014                 
     
    19962021         
    19972022                        delete participant.id; 
    1998                         delete participant.schedulable; 
    1999                         delete participant.delegatedFrom; 
    20002023                         
    20012024                        return participant ; 
    20022025        }); 
    20032026         
    2004                 DataLayer.put('schedulable', newSchedulable);            
     2027         
     2028         
     2029                DataLayer.put('schedulable', newSchedulable); 
     2030 
    20052031        } 
    20062032         
Note: See TracChangeset for help on using the changeset viewer.