Changeset 6930 for trunk/prototype


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

Location:
trunk/prototype
Files:
6 edited
1 copied

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 
  • trunk/prototype/modules/mail/templates/attachment.ejs

    r6214 r6930  
    1 <div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px;"> 
     1<div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px; padding-bottom : 5px;"> 
    22        <div class="row fileupload-buttonbar"> 
    33                <div class="button-files-upload"> 
     
    1313        <br /> 
    1414        <div class="files-list" style="margin: 5px; padding: 5px;"> 
    15                 <ul class="attachments-list"></ul> 
     15                <div class="attachments-list ui-corner-all" style="display:none;"></div> 
    1616        </div> 
    1717</div> 
     18<div id="fileupload_msg<%=data.ID%>_droopzone" style="display:none;" class="fileupload_msg_tooltip"> 
     19        Solte aqui seus anexos 
     20</div> 
  • trunk/prototype/modules/mail/templates/attachment_add_itemlist.ejs

    r6124 r6930  
    1 <li style="list-style : none;"> 
    2         <p class="input-group archive-info" style="margin: 0px 0 !important; height: 17px">              
    3                 <span title="<%=data.file.fullFileName%>" class="archive-attach name"><%=data.file.fileName%></span> 
    4                 <span class="archive-attach size"><%=data.file.fileSize%></span> 
    5                 <button type="button" style="margin-bottom: -4px; <%= is_webkit || is_ie ? '' : 'top : 7px;'%>" class="button close tiny upload delete-upload" title="Deletar">Deletar</button> 
    6                 <span class="status-upload"></span> 
    7                 <%if(data.file.error){%> 
    8                         <span class="archive-error error"><%=data.file.error%></span> 
    9                 <%}if(!data.file.error){%> 
    10                         <span style="width: 110px; height: 14px; overflow:hidden"> 
    11                                 <span class="in-progress"> <img src="../prototype/modules/mail/img/loader.gif" /></span> 
    12                         </span> 
    13                 <%}%> 
    14                 <label class="fileinput-button new"></label> 
    15     </p> 
    16 </li> 
     1<div class="att-box ui-corner-all <%= (typeof(data.file.error) != 'boolean' ? 'invalid-email-box' : '') %>"> 
     2    <!--<div style="position:absolute; text-align: center; line-height: 1.9em;">--> 
     3        <span class="att-box-value"><%=data.file.fileName%>&nbsp;<b>(<%=data.file.fileSize%>)</b></span> 
     4        <span class="att-box-fullfilename" style="display:none;"><%=data.file.fullFileName%></span> 
     5        <span class="att-box-filesize" style="display:none;"><%=data.file.fileSize%></span> 
     6        <% if(typeof(data.file.error) == 'boolean'){ %> 
     7        <span class="att-box-loading">&nbsp;&nbsp;&nbsp;&nbsp;</span> 
     8        <% } %> 
     9        <span class="att-box-delete ui-icon-close ui-icon" style="display: inline-block;">&nbsp;</span> 
     10    <!--</div>--> 
     11</div> 
  • trunk/prototype/modules/mail/templates/float_folder_menu.ejs

    r5948 r6930  
    1212 
    1313<span class="float-menu"> 
    14         <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>   
    15         <%if(!specialFolders[data.name_folder]){ %> 
    16                 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
    17                 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span>   
    18         <%}  
    19         else if(data.name_folder == trashfolder){%> 
    20                 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span>   
    21         <%} 
    22         else if(data.name_folder == spamfolder){%> 
    23                 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span>   
     14        <%if(!data.flag.valid){ %> 
     15                <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>   
     16                <%if(!specialFolders[data.name_folder]){ %> 
     17                        <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
     18                        <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span>   
     19                <%}  
     20                else if(data.name_folder == trashfolder){%> 
     21                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span>   
     22                <%} 
     23                else if(data.name_folder == spamfolder){%> 
     24                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span>   
     25                         
     26                <%}%> 
     27 
     28        <%}else{ %> 
     29        <%      if(parseInt(data.acl.create)){%> 
     30                        <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span>  
     31        <%              if(parseInt(data.acl.delete) && parseInt(data.acl.rename) && !specialFolders[data.name_folder] && !data.flag.head){ %> 
     32                                <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span>   
     33        <%              } %> 
     34 
     35        <%      } %> 
     36        <%      if(parseInt(data.acl.delete) && !specialFolders[data.name_folder] && !data.flag.head){ %> 
     37                        <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span> 
     38                <%}%> 
     39                <%if(data.name_folder == trashfolder && parseInt(data.acl.delete)){%> 
     40                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap(true, $(this));" title="Limpar Pasta"></span>   
     41                <%}else if(data.name_folder == spamfolder && parseInt(data.acl.delete)){%> 
     42                        <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap(true, $(this));" title="Limpar Pasta"></span>   
     43                <%}%> 
    2444        <%}%> 
    25          
     45 
     46        <span class="ui-icon ui-icon-arrowthickstop-1-n float-menu-export floating-default" title="Exportar Mensagens da Pasta"></span>   
    2647 </span> 
  • trunk/prototype/modules/mail/templates/new_message.ejs

    r6882 r6930  
    137137                        <tr class="attachment"> 
    138138                                <td class="field"> 
     139                                        <%=get_lang("Attachments: ")%> 
    139140                                        <input style="display:none;" name="attDisposition<%= data.id %>" id="attDisposition<%= data.id%>" value="attachment"/> 
    140141                                </td> 
  • trunk/prototype/services/ImapServiceAdapter.php

    r6882 r6930  
    7878                                foreach ($result as $res) { 
    7979 
    80                                         $response[] = array( 
     80                                        //monta o array padrao 
     81                                        $array = array( 
    8182                                                        'id' => mb_convert_encoding( $res['folder_id'], 'UTF-8', 'UTF7-IMAP' ), 
    8283                                                        'commonName' => mb_convert_encoding( $res['folder_name'], 'UTF-8' , 'UTF7-IMAP' ), 
    8384                                                        'parentFolder' => mb_convert_encoding( $res['folder_parent'], 'UTF-8' , 'UTF7-IMAP' ), 
    8485                                                        'messageCount' => array('unseen' => isset($res['folder_unseen']) ? $res['folder_unseen'] : null, 'total' => null) 
    85                                                 ); 
    86                                 } 
    87  
     86                                        ); 
     87 
     88                                        //se existir compartilhamento para pasta compartilhada 
     89                                        //adicionar array de permissoes 
     90                                        if(isset($res['acl_share'])){ 
     91                                                $array['acl_share'] = $res['acl_share']; 
     92                                        } 
     93                                        $response[] = $array; 
     94                                } 
    8895                                return $response; 
    8996                        } 
Note: See TracChangeset for help on using the changeset viewer.