Ignore:
Timestamp:
08/03/12 15:32:43 (12 years ago)
Author:
gustavo
Message:

Ticket #2954 - Merge de algumas novas funcionalidades da nova versão, #2953, #2971

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/mail/js/foldertree.js

    r6574 r6930  
    116116        cp_tree1 = tree1; 
    117117        cp_tree2 = tree2; 
     118        var shared_acls = {}; 
     119 
     120        $.each(cp_tree2, function(index, value){ 
     121                shared_acls[value.id] = value.acl_share; 
     122        }); 
     123 
    118124        $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 
    119125        var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); 
     
    166172        }).end().end(); 
    167173         
    168         folders_html.find('[id="'+selected+'"]').children().addClass("selected").end().end().find("li:first").find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
     174        folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 
     175        $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 
    169176                // DRAG DE PASTAS 
    170177                start : function(){ 
     
    280287                                        url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 
    281288                                        success : function(data){ 
     289                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
    282290                                                data = connector.unserialize(data); 
    283                                                 if(data){ 
    284                                                         cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     291                                                if(data == "Permission denied"){ 
     292                                                        write_msg(get_lang("Permission denied")); 
     293                                                }else if(data){ 
    285294                                                        write_msg(get_lang("The folder was successfully moved")); 
    286295                                                } 
     
    292301                        } 
    293302                } 
    294         }).hover( 
     303        }); 
     304        $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").hover( 
    295305                function(){ 
    296306                        //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! 
     
    298308                                var folder_ = $(this); 
    299309                                var folder_name; 
     310                                var shared = { 
     311                                        head : false, 
     312                                        valid : false 
     313                                }; 
    300314                                if(folder_.parent().attr('id')){ 
    301315                                        folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 
    302316                                        folder_name = folder_name[folder_name.length -1]; 
     317                                        shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 
    303318                                }else 
    304319                                        folder_name = "Root"; 
    305                                 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name});                                       
     320                                 
     321                                if(shared.valid){ 
     322                                        shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ?  true : false; 
     323                                        var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 
     324                                        var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 
     325 
     326                                } 
     327 
     328                                html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls});                                    
    306329                                        //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 
    307330                                var esc = false; 
     
    334357                                                                        type : "POST", 
    335358                                                                        data : "current="+folder_id+"&rename="+new_name, 
    336                                                                         success : function(){ 
     359                                                                        success : function(data){ 
     360                                                                                data = connector.unserialize(data); 
     361                                                                                if(data == "Permission denied"){ 
     362                                                                                        $(".folders-loading").removeClass("folders-loading"); 
     363                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     364                                                                                        return write_msg(get_lang("Permission denied")); 
     365                                                                                } 
    337366                                                                                write_msg(get_lang("The folder was successfully rename")); 
    338367                                                                                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     
    383412                                                                                        $(".folders-loading").removeClass("folders-loading"); 
    384413                                                                                        return write_msg(get_lang("Mailbox does not exist")); 
     414                                                                                }else if(data == "Permission denied"){ 
     415                                                                                        $(".folders-loading").removeClass("folders-loading"); 
     416                                                                                        cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 
     417                                                                                        return write_msg(get_lang("Permission denied")); 
    385418                                                                                } 
    386419                                                                                write_msg(get_lang("The folder %1 was successfully removed", folder_name)); 
     
    447480                                                draw_new_tree_folder(); 
    448481                                        }); 
     482                                }).end().find(".float-menu-export").click(function(){ 
     483                                        //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 
     484 
     485                                        var name_box = $(this).parents("li:first").attr("id"); 
     486                                        var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 
     487 
     488                                        var hand_export = function(data){ 
     489                                                if(!data){ 
     490                                                        write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 
     491                                                }else if(data["empty_folder"]){ 
     492                                                        write_msg(get_lang("The selected folder is empty.")); 
     493                                                }else 
     494                                                  download_attachments(null, null, data, null,null, name_folder +'.zip'); 
     495                                        } 
     496                                        cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box);   
     497                                        write_msg(get_lang('You must wait while the messages will be exported...'));             
    449498                                }); 
    450499                                //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END 
Note: See TracChangeset for help on using the changeset viewer.