Changeset 7221 for trunk/expressoMail1_2


Ignore:
Timestamp:
09/14/12 14:48:28 (12 years ago)
Author:
acoutinho
Message:

Ticket #3104 - Unificar recursos de listagem dos contatos pessoais

Location:
trunk/expressoMail1_2/js
Files:
3 edited

Legend:

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

    r7053 r7221  
    304304 
    305305function loadExtraLDAPBox(data, element){ 
     306 
     307    if(!!data[0]){ 
     308        var decoded = {}; 
     309 
     310        $.each(data, function(i, e){ 
     311            decoded[e.name] = e.value; 
     312        }); 
     313 
     314        data = decoded; 
     315 
     316        console.log('Entrei nao encodado'); 
     317        console.log(data); 
     318    } 
     319 
    306320        menuItensLabel = {}; 
    307         menuItensLabel["Name"] = {name: "<b>"+data[0].value+"</b>", disabled: true};             
    308         menuItensLabel["Email"] = {name: data[1].value, disabled: true};         
    309         if(data[2].value){ 
     321        menuItensLabel["Name"] = {name: "<b>"+data.name+"</b>", disabled: true}; 
     322        menuItensLabel["Email"] = {name: data.email, disabled: true}; 
     323        if(!!data.telephone){ 
    310324                menuItensLabel["TelefoneLabel"] = {name: "<b>"+get_lang("Telephone")+"</b>", disabled: true}; 
    311                 menuItensLabel["TelefoneValue"] = {name: data[2].value, disabled: true}; 
    312         } 
    313         if(data[3]){ 
    314                 if(data[3].value == "TRUE"){ 
     325                menuItensLabel["TelefoneValue"] = {name: data.telephone, disabled: true}; 
     326        } 
     327        if(data.vacationActive){ 
     328                if(data.vacationActive == "TRUE"){ 
    315329                        menuItensLabel["outOffice"] = {name: "<b>"+get_lang("Out of office")+"</b>", disabled: true}; 
    316                         menuItensLabel["outOfficeValue"] = {name: data[4].value.substring(0, 20), disabled: true}; 
     330                        menuItensLabel["outOfficeValue"] = {name: data.vacationInfo.substring(0, 20), disabled: true}; 
    317331                } 
    318332        } 
  • trunk/expressoMail1_2/js/draw_api.js

    r7198 r7221  
    41324132                                        box.find(".box-loading").remove(); 
    41334133                                else{ 
    4134                                         box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 
     4134                    box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 
    41354135                                        box.addClass("box-"+value).removeClass("invalid-email-box"); 
    41364136                                        loadGroupBox(data.collection, ".box-"+value); 
     
    41534153         
    41544154        if(personal){ 
    4155                 REST.get("/"+ (shared ? "shared" : "") +"contact/"+value, {}, function(data){ 
     4155                REST.get("/"+ (shared ? "shared" : "") +"personalContact/"+value, {}, function(data){ 
    41564156                        if(!data.error){ 
    41574157                                if(data.collection.error) 
    41584158                                        box.find(".box-loading").remove(); 
    41594159                                else{ 
     4160                    var item = normalizeContact(data.collection.itens[0].data); 
    41604161                                        box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 
    41614162                                        box.addClass("box-"+value).removeClass("invalid-email-box"); 
    4162                                         loadExtraLDAPBox(data.collection.data, ".box-"+value); 
     4163                                        loadExtraLDAPBox(item, ".box-"+value); 
    41634164                                        box.unbind("dblclick").bind("dblclick", function(e){ 
    41644165                                                new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { 
     
    41684169                                                        'auto_close': 3000 
    41694170                                                }); 
    4170                                         }).find(".box-input").val("\""+data.collection.data[0].value+"\" <"+data.collection.data[1].value+">"); 
    4171                                         var emailBoxValue = data.collection.data[0].value.length > 18 ? data.collection.data[0].value.substring(0, 15)+"...": data.collection.data[0].value; 
    4172                                         emailBoxValue = emailBoxValue.length > 2 ? emailBoxValue : data.collection.data[1].value.substr(0,data.collection.data[1].value.indexOf('@')); 
    4173                                         emailBoxValue = emailBoxValue > 18 ? emailBoxValue.substr(0,15) + "..." : emailBoxValue; 
    4174                                         box.find(".email-box-value").html(emailBoxValue); 
     4171                                        }).find(".box-input").val("\""+item.name+"\" <"+item.email+">"); 
     4172 
     4173                                        box.find(".email-box-value").html(normalizeBoxName(item.name, item.value)); 
    41754174                                } 
    41764175                        }else{ 
     
    41864185                                box.find(".box-loading").remove(); 
    41874186                        else{ 
     4187                var item = normalizeContact(data.collection.itens[0].data); 
    41884188                                box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 
    41894189                                box.addClass("box-"+value).removeClass("invalid-email-box"); 
    4190                                 loadExtraLDAPBox(data.collection.itens[0].data, ".box-"+value); 
     4190                                loadExtraLDAPBox(item, ".box-"+value); 
    41914191                                box.unbind("dblclick").bind("dblclick", function(e){ 
    41924192                                        new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { 
     
    41964196                                                'auto_close': 3000 
    41974197                                        }); 
    4198                                 }).find(".box-input").val("\""+data.collection.itens[0].data[0].value+"\" <"+data.collection.itens[0].data[1].value+">"); 
    4199                                 var emailBoxValue = data.collection.itens[0].data[0].value.length > 18 ? data.collection.itens[0].data[0].value.substring(0, 15)+"...": data.collection.itens[0].data[0].value; 
    4200                                 emailBoxValue = emailBoxValue.length > 2 ? emailBoxValue : data.collection.itens[0].data[1].value.substr(0,data.collection.itens[0].data[1].indexOf('@')); 
    4201                                 emailBoxValue = emailBoxValue > 18 ? emailBoxValue.substr(0,15) + "..." : emailBoxValue; 
    4202                                 box.find(".email-box-value").html(emailBoxValue); 
    4203                                 if(data.collection.itens[0].data[3].value == "TRUE"){ 
    4204                                         box.removeClass("invalid-email-box").addClass("out-office-box"); 
     4198                                }).find(".box-input").val("\""+item.name+"\" <"+item.email+">"); 
     4199 
     4200                box.find(".email-box-value").html(normalizeBoxName(item.name, item.value)); 
     4201                                if(item.vacationActive == "TRUE"){ 
     4202                                        box.addClass("out-office-box"); 
    42054203                                } 
    42064204                        } 
     
    42104208        }); 
    42114209} 
     4210 
     4211function normalizeBoxName(name, mail){ 
     4212    var emailBoxValue = name.length > 18 ? name.substring(0, 15)+"...": name; 
     4213    emailBoxValue = emailBoxValue.length > 2 ? emailBoxValue : email.substr(0,email.indexOf('@')); 
     4214    emailBoxValue = emailBoxValue > 18 ? emailBoxValue.substr(0,15) + "..." : emailBoxValue; 
     4215 
     4216    return emailBoxValue; 
     4217} 
     4218 
     4219function normalizeContact(data){ 
     4220    var item = {}; 
     4221    $.each(data, function(j, e){ 
     4222       item[e.name] = e.value; 
     4223    }); 
     4224 
     4225    return item; 
     4226} 
     4227 
     4228function normalizeContacts(data){ 
     4229    var decoded = []; 
     4230 
     4231    if(!$.isArray(data)){data = [data];} 
     4232 
     4233    for(var i = 0; i < data.length; i++){ 
     4234        var item = {}; 
     4235        $.each(data[i].data, function(j, e){ 
     4236            item[e.name] = e.value; 
     4237        }); 
     4238        decoded.push(item); 
     4239    } 
     4240    return decoded; 
     4241} 
     4242 
    42124243 
    42134244//FUNÇÃO QUE "SETA" OS BINDS DOS CAMPOS PARA - CC - CCO 
     
    42654296                                                if(item.typel == "/groups" && $(ul).find(".dynamic-recent").length) 
    42664297                                                        self._renderItem( ul, {name:"", value:"", type:"linha"} ); 
    4267                                                 if(item.typel == "/contacts" && ($(ul).find(".dynamic-group").length || $(ul).find(".dynamic-recent").length)) 
     4298                                                if(item.typel == "/personalContact" && ($(ul).find(".dynamic-group").length || $(ul).find(".dynamic-recent").length)) 
    42684299                                                        self._renderItem( ul, {name:"", value:"", type:"linha"} );       
    42694300                                                currentType = item.typel; 
     
    43254356                                event.preventDefault(); 
    43264357                                $(this).val(""); 
    4327                                 if(ui.item.typel == "/contacts") 
     4358                                if(ui.item.typel == "/personalContact") 
    43284359                                        draw_email_box(""+ui.item.id, $(this), true, (ui.item.type.substring(0,7) == "/shared" ? true : false)); 
    43294360                                else if(ui.item.typel == "/groups") 
  • trunk/expressoMail1_2/js/main.js

    r7200 r7221  
    5555function updateDynamicPersonalContacts(){ 
    5656        dynamicPersonalContacts = new Array(); 
    57         var contactsData = REST.get("/contacts").collection.itens; 
     57        var contactsData = normalizeContacts(REST.get("/personalContact").collection.itens); 
    5858        if(contactsData){ 
    5959                $.each(contactsData, function(index, value){ 
    6060                        var contact = { 
    61                                 id : parseInt(value.data[0].value), 
    62                                 name : value.data[1].value, 
    63                                 email : value.data[2].value, 
    64                                 value: value.data[1].value + " - " + value.data[2].value, 
     61                id : parseInt(value.id), 
     62                name : value.name, 
     63                email: value.email, 
     64                                value: value.name+ " - " + value.email, 
    6565                                type: "P" 
    6666                        }; 
     
    7373function updateDynamicPersonalGroups(){ 
    7474        dynamicPersonalGroups = new Array(); 
    75         var contactsData = REST.get("/groups").collection.itens; 
     75        var contactsData = normalizeContacts(REST.get("/groups").collection.itens); 
    7676        if(contactsData){ 
    7777                $.each(contactsData, function(index, value){ 
    7878                        var contact = { 
    79                                 id : parseInt(value.data[0].value), 
    80                                 owner : value.data[1].value, 
    81                                 name : value.data[2].value, 
    82                                 email: value.data[3].value, 
     79                                id : parseInt(value.id), 
     80                                owner : value.owner, 
     81                                name : value.name, 
     82                                email: value.email, 
    8383                                type: "G" 
    8484                        }; 
Note: See TracChangeset for help on using the changeset viewer.