Changeset 6677


Ignore:
Timestamp:
06/28/12 17:48:01 (12 years ago)
Author:
gustavo
Message:

Ticket #2922 - Refatorar código de criação de contatos pessoais via expressoMail

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/ccQuickAdd.js

    r6650 r6677  
    1         function cQuickAddContact () 
    2         { 
    3                 this.xtools     = new xtools('../expressoMail1_2/templates/'); 
    4         } 
    5  
    6         cQuickAddContact.prototype.showList = function(data) 
    7         { 
    8                 var     cc_data = ((typeof data) == 'object' ) ? data : data.split(','); 
    9  
    10                 var quickContact = $("#quickAddContact"); 
    11                 quickContact.html( DataLayer.render( BASE_PATH + "modules/mail/templates/quickAddContact.ejs",{ nick : cc_data[0], fname : cc_data[1], lname : cc_data[2], email : cc_data[3] })); 
    12                 quickContact.dialog( 
    13                 { 
    14                                 height          : 200, 
    15                                 width           : 300, 
    16                                 resizable       : false, 
    17                                 title           : get_lang("Quick Add"),                         
    18                                 modal           : true, 
    19                                 buttons         : [ 
    20                                                                 { 
    21                                                                         text: get_lang("Cancel"), 
    22                                                                         click: function() 
    23                                                                         { 
    24                                                                                 $(this).dialog("close"); 
    25                                                                         }  
    26                                                                 }, 
    27                                                                 { 
    28                                                                         text: get_lang("Save"), 
    29                                                                         click: function() 
    30                                                                         { 
    31                                                                                 data = ''; 
    32                                                                                 data = data + $(this).find('#quickAddOne_nickName').val() + ','; 
    33                                                                                 data = data + $(this).find('#quickAddOne_firstName').val() + ','; 
    34                                                                                 data = data + $(this).find('#quickAddOne_lastName').val() + ',,'; 
    35                                                                                 data = data + $(this).find('#quickAddOne_email').val(); 
    36                                                                                 if(ccQuickAddOne.send(data)) 
    37                                                                                         $(this).dialog("close"); 
    38                                                                         } 
    39                                                                 } 
    40                                 ] 
    41                 }); 
    42                  
    43                 quickContact.next().css("background-color", "#E0EEEE");          
    44         } 
    45          
    46         cQuickAddContact.prototype.send = function (data) 
    47         { 
    48                 var sdata               = data.split(","); 
    49                 var email               = trim(sdata[4]); 
    50                 var full_name   = trim(sdata[1]) + ' ' + trim(sdata[2]); 
    51                 var _this               = this; 
    52  
     1/* Build the Object */ 
     2var     ccQuickAddOne = { 
     3        send : function(data){ 
     4                var email = data[4]; 
    535                var handler = function (responseText) 
    546                { 
    55                          
    567                        var data = responseText; 
    57                         console.log(data); 
    58                         if (!data || typeof(data) != 'object') 
    59                         { 
     8                        if (!data || typeof(data) != 'object'){ 
    609                                write_msg("Problema ao contactar servidor"); 
    6110                                return; 
    62                         } 
    63                         else if (data['status'] == 'alreadyExists') 
    64                         { 
     11                        }else if (data['status'] == 'alreadyExists'){ 
    6512                                alert(data['msg']); 
    6613                                return; 
    67                         } 
    68                         else if (data['status'] != 'ok') 
    69                         { 
     14                        }else if (data['status'] != 'ok'){ 
    7015                                return; 
    7116                        } 
     
    8429                                write_msg(get_lang("Contact added successfully.")); 
    8530                        }                        
    86  
    87                         if ( _this.afterSave ) 
    88                         { 
    89                                 switch ( typeof(_this.afterSave) ) 
    90                                 { 
    91                                         case 'function': 
    92                                                 _this.afterSave(); 
    93                                                 break; 
    94  
    95                                         case 'string': 
    96                                                 eval(_this.afterSave); 
    97                                                 break; 
    98                                 } 
    99                         } 
    100                          
    101                          
    10231                }; 
    103         if( email == '' ) 
    104                 { 
    105                         alert( get_lang("QuickAddEmptyMail",email) ); 
    106                         return false; 
    107                 } 
    10832                 
    109                 if( !validateEmail(email) ) 
    110                 { 
    111                         alert( get_lang("QuickAddInvalidMail", email) ); 
    112                         return false; 
    113                 } 
    114  
    115                 var sdata       = 'add='+escape(connector.serialize(sdata)); 
     33                var data2 = new Array(); 
     34                for( var i in data ) 
     35                        data2[ data2.length ] = data[i]; 
     36                 
     37                var sdata       = 'add='+escape(connector.serialize(data2)); 
    11638                var CC_url      = '../index.php?menuaction=contactcenter.ui_data.data_manager&method='; 
    117                  
    11839                connector.newRequest('cQuickAdd.Send', CC_url+'quick_add', 'POST', handler, sdata); 
    119                  
    12040                updateDynamicPersonalContacts(); 
    12141                cache = new Array(); 
    12242                return true; 
     43        }, 
     44        showList: function(data){ 
     45                var     cc_data = ((typeof data) == 'object' ) ? data : data.split(','); 
     46                quickContact = $("#quickAddContact").html( DataLayer.render( BASE_PATH + "modules/mail/templates/quickAddContact.ejs",{ nick : cc_data[0], fname : cc_data[1], lname : cc_data[2], email : cc_data[3] })); 
     47                quickContact.dialog({ 
     48                        resizable       : false, 
     49                        title           : get_lang("Quick Add"), 
     50                        modal           : true, 
     51                        buttons         : [ 
     52                                { 
     53                                        text: get_lang("Cancel"), 
     54                                        click: function() 
     55                                        { 
     56                                                $(this).dialog("close"); 
     57                                        }  
     58                                }, 
     59                                { 
     60                                        text: get_lang("Save"), 
     61                                        click: function() 
     62                                        { 
     63                                                data = { 
     64                                                        nick: $(this).find('#quickAddOne_nickName').val(), 
     65                                                        name:  $(this).find('#quickAddOne_firstName').val(), 
     66                                                        last: $(this).find('#quickAddOne_lastName').val(), 
     67                                                        telefone: "", 
     68                                                        email: $(this).find('#quickAddOne_email').val() 
     69                                                }; 
     70                                                $(this).find('input').removeClass("required-fail"); 
     71                                                if(data.name ==""){ 
     72                                                        $(this).find('#quickAddOne_firstName').addClass("required-fail"); 
     73                                                        return false; 
     74                                                }else if(data.email ==""){ 
     75                                                        $(this).find('#quickAddOne_email').addClass("required-fail"); 
     76                                                        return false; 
     77                                                }else if(!validateEmail(data.email)){ 
     78                                                        $(this).find('#quickAddOne_email').addClass("required-fail"); 
     79                                                        new $.Zebra_Dialog(get_lang("QuickAddInvalidMail", data.email),{ 
     80                                                                'buttons':  false, 
     81                                                                'modal': false, 
     82                                                                'position': ['right - 20', 'top + 20'], 
     83                                                                'auto_close': 3000 
     84                                                        }); 
     85                                                        return false; 
     86                                                } 
     87                                                if(ccQuickAddOne.send(data)) 
     88                                                        $(this).dialog("close"); 
     89                                        } 
     90                                } 
     91                        ] 
     92                }); 
     93                quickContact.next().css("background-color", "#E0EEEE").find("button").addClass("button").addClass("small"); 
    12394        } 
    124          
    125 /* Build the Object */ 
    126 var     ccQuickAddOne = new cQuickAddContact(); 
     95}; 
  • trunk/prototype/modules/mail/templates/quickAddContact.ejs

    r5878 r6677  
    1 <div style="text-align:right;margin: 5px;"> 
    2         <div> 
    3                 <span><%=get_lang('Nickname')%>:</span> 
    4                 <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" /> 
    5         </div> 
    6          
    7         <div> 
    8                 <span><%=get_lang('First Name')%>:</span> 
    9                 <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" /> 
    10         </div> 
    11          
    12         <div> 
    13                 <span><%=get_lang('Last Name')%>:</span> 
    14                 <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" /> 
    15         </div> 
    16          
    17         <div> 
    18                 <span><%=get_lang('Email')%>:</span> 
    19                 <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" /> 
    20         </div> 
     1<div style="width:auto;">        
     2        <table> 
     3                <tr> 
     4                        <td> 
     5                                <span><%=get_lang('Nickname')%>:</span> 
     6                        </td> 
     7                        <td> 
     8                                <input type="text" value="<%=data.nick%>" maxlength="50" id="quickAddOne_nickName" style="width:205px;"/> 
     9                        </td> 
     10                </tr> 
     11                 
     12                <tr> 
     13                        <td> 
     14                                <span><%=get_lang('First Name')%>:</span> 
     15                        </td> 
     16                        <td> 
     17                                <input type="text" value="<%=data.fname%>" maxlength="50" id="quickAddOne_firstName" style="width:205px;" class="required-field"/> 
     18                        </td> 
     19                </tr> 
     20                 
     21                <tr> 
     22                        <td> 
     23                                <span><%=get_lang('Last Name')%>:</span> 
     24                        </td> 
     25                        <td> 
     26                                <input type="text" value="<%=data.lname%>" maxlength="50" id="quickAddOne_lastName" style="width:205px;"/> 
     27                        </td> 
     28                </tr> 
     29                 
     30                <tr> 
     31                        <td> 
     32                                <span><%=get_lang('Email')%>:</span> 
     33                        </td> 
     34                        <td> 
     35                                <input type="text" value="<%=data.email%>" maxlength="50" id="quickAddOne_email" style="width:205px;" class="required-field"/> 
     36                        </td> 
     37                </tr> 
     38        </table> 
    2139</div> 
Note: See TracChangeset for help on using the changeset viewer.