Changeset 7221
- Timestamp:
- 09/14/12 14:48:28 (12 years ago)
- Location:
- trunk
- Files:
-
- 1 deleted
- 6 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/calendar/templates/default/listContacts.ejs
r7147 r7221 6 6 text: 'Contato dinâmico' 7 7 }, 8 '/ contacts':{8 '/personalContact':{ 9 9 css: 'personal', 10 10 img: 'personal', 11 text: 'Contato pessoal' ,11 text: 'Contato pessoal' 12 12 }, 13 13 '/sharedcontact':{ 14 14 css: 'personal', 15 15 img: 'sharedcontact', 16 text: 'Contato compartilhado' ,16 text: 'Contato compartilhado' 17 17 }, 18 18 '/groups':{ 19 19 css: 'group', 20 20 img: 'group', 21 text: 'Grupo pessoal' ,21 text: 'Grupo pessoal' 22 22 }, 23 23 '/sharedgroup':{ 24 24 css: 'group', 25 25 img: 'sharedgroup', 26 text: 'Grupo compartilhado' ,26 text: 'Grupo compartilhado' 27 27 } 28 28 } -
trunk/expressoMail1_2/js/doiMenuData.js
r7053 r7221 304 304 305 305 function 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 306 320 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){ 310 324 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"){ 315 329 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}; 317 331 } 318 332 } -
trunk/expressoMail1_2/js/draw_api.js
r7198 r7221 4132 4132 box.find(".box-loading").remove(); 4133 4133 else{ 4134 4134 box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 4135 4135 box.addClass("box-"+value).removeClass("invalid-email-box"); 4136 4136 loadGroupBox(data.collection, ".box-"+value); … … 4153 4153 4154 4154 if(personal){ 4155 REST.get("/"+ (shared ? "shared" : "") +" contact/"+value, {}, function(data){4155 REST.get("/"+ (shared ? "shared" : "") +"personalContact/"+value, {}, function(data){ 4156 4156 if(!data.error){ 4157 4157 if(data.collection.error) 4158 4158 box.find(".box-loading").remove(); 4159 4159 else{ 4160 var item = normalizeContact(data.collection.itens[0].data); 4160 4161 box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 4161 4162 box.addClass("box-"+value).removeClass("invalid-email-box"); 4162 loadExtraLDAPBox( data.collection.data, ".box-"+value);4163 loadExtraLDAPBox(item, ".box-"+value); 4163 4164 box.unbind("dblclick").bind("dblclick", function(e){ 4164 4165 new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { … … 4168 4169 'auto_close': 3000 4169 4170 }); 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)); 4175 4174 } 4176 4175 }else{ … … 4186 4185 box.find(".box-loading").remove(); 4187 4186 else{ 4187 var item = normalizeContact(data.collection.itens[0].data); 4188 4188 box.find(".box-loading").removeClass("box-loading").addClass("box-info"); 4189 4189 box.addClass("box-"+value).removeClass("invalid-email-box"); 4190 loadExtraLDAPBox( data.collection.itens[0].data, ".box-"+value);4190 loadExtraLDAPBox(item, ".box-"+value); 4191 4191 box.unbind("dblclick").bind("dblclick", function(e){ 4192 4192 new $.Zebra_Dialog(get_lang("Impossible editing this contact, but it's possible to remove it"), { … … 4196 4196 'auto_close': 3000 4197 4197 }); 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"); 4205 4203 } 4206 4204 } … … 4210 4208 }); 4211 4209 } 4210 4211 function 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 4219 function normalizeContact(data){ 4220 var item = {}; 4221 $.each(data, function(j, e){ 4222 item[e.name] = e.value; 4223 }); 4224 4225 return item; 4226 } 4227 4228 function 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 4212 4243 4213 4244 //FUNÇÃO QUE "SETA" OS BINDS DOS CAMPOS PARA - CC - CCO … … 4265 4296 if(item.typel == "/groups" && $(ul).find(".dynamic-recent").length) 4266 4297 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)) 4268 4299 self._renderItem( ul, {name:"", value:"", type:"linha"} ); 4269 4300 currentType = item.typel; … … 4325 4356 event.preventDefault(); 4326 4357 $(this).val(""); 4327 if(ui.item.typel == "/ contacts")4358 if(ui.item.typel == "/personalContact") 4328 4359 draw_email_box(""+ui.item.id, $(this), true, (ui.item.type.substring(0,7) == "/shared" ? true : false)); 4329 4360 else if(ui.item.typel == "/groups") -
trunk/expressoMail1_2/js/main.js
r7200 r7221 55 55 function updateDynamicPersonalContacts(){ 56 56 dynamicPersonalContacts = new Array(); 57 var contactsData = REST.get("/contacts").collection.itens;57 var contactsData = normalizeContacts(REST.get("/personalContact").collection.itens); 58 58 if(contactsData){ 59 59 $.each(contactsData, function(index, value){ 60 60 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, 65 65 type: "P" 66 66 }; … … 73 73 function updateDynamicPersonalGroups(){ 74 74 dynamicPersonalGroups = new Array(); 75 var contactsData = REST.get("/groups").collection.itens;75 var contactsData = normalizeContacts(REST.get("/groups").collection.itens); 76 76 if(contactsData){ 77 77 $.each(contactsData, function(index, value){ 78 78 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, 83 83 type: "G" 84 84 }; -
trunk/prototype/modules/mail/templates/listContacts.ejs
r7007 r7221 6 6 text: 'Contato Recente' 7 7 }, 8 '/ contacts':{8 '/personalContact':{ 9 9 css: 'personal', 10 10 img: 'personal', 11 text: 'Contato pessoal' ,11 text: 'Contato pessoal' 12 12 }, 13 13 '/sharedcontact':{ 14 14 css: 'personal', 15 15 img: 'sharedcontact', 16 text: 'Contato compartilhado' ,16 text: 'Contato compartilhado' 17 17 }, 18 18 '/groups':{ 19 19 css: 'group', 20 20 img: 'group', 21 text: 'Grupo pessoal' ,21 text: 'Grupo pessoal' 22 22 }, 23 23 '/sharedgroup':{ 24 24 css: 'group', 25 25 img: 'sharedgroup', 26 text: 'Grupo compartilhado' ,26 text: 'Grupo compartilhado' 27 27 } 28 28 } -
trunk/prototype/rest/catalog/PersonalContactResource.php
r6528 r7221 8 8 use prototype\api\Config as Config; 9 9 10 class ContactResource extends Resource {10 class PersonalContactResource extends Resource { 11 11 12 12 /** … … 16 16 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 17 17 * @sponsor Caixa Econômica Federal 18 * @author José Vicente Tezza Jr. 18 * @author José Vicente Tezza Jr. 19 19 * @return Retorna uma lista de usuários do LDAP 20 20 * @access public … … 22 22 function get($request, $id) { 23 23 24 25 26 24 $response = new Response($request); 25 $response->addHeader('Content-type', 'aplication/json'); 26 $response->code = Response::OK; 27 27 28 29 $c = new Collection($request->resources, 'ContactResource');28 $h = new Hypermedia(); 29 $c = new Collection($request->resources, 'PersonalContactResource'); 30 30 31 32 31 try { 32 $this->secured(); 33 33 34 $contact = Controller::find( array( 'concept' => 'contact' ), false, array( 'filter' => array( 'AND', array('=', 'user', Config::me("uidNumber") ), array('=', 'id', $id) ) ) ); 34 $contacts = !!$id ? Controller::find( array( 'concept' => 'contact' ), false, array( 'filter' => array( 'AND', array('=', 'user', Config::me("uidNumber") ), array('=', 'id', $id) ) ) ) : 35 Controller::find( array( 'concept' => 'contact' ), false, array( 'filter' => array('=', 'user', Config::me("uidNumber")))); 35 36 36 37 if($contact===false){38 39 40 $error->setTitle('Contactnot found');41 $error->setDescription('Contactnot found.');37 //Se nao foi encontrado contatos na consulta 38 if($contacts===false){ 39 $error = new Error(); 40 $error->setCode(Response::NOTFOUND); 41 $error->setTitle('Contacts not found'); 42 $error->setDescription('Contacts not found.'); 42 43 43 44 44 $c->setError($error); 45 $h->setCollection($c); 45 46 46 $response->code = Response::NOTFOUND; 47 $response->body = $h->getHypermedia($request->accept[10][0]); 48 return $response; 49 } 50 51 $t = new Template(); 52 $d = new Data(); 47 $response->code = Response::NOTFOUND; 48 $response->body = $h->getHypermedia($request->accept[10][0]); 49 return $response; 50 } 53 51 54 $d->setName('name'); 55 $d->setValue(null); 56 $d->setPrompt('Nome do Contato'); 57 $d->setDataType('string'); 58 $d->setMaxLength(100); 59 $d->setMinLength(null); 60 $d->setRequired(true); 52 foreach($contacts as $value){ 61 53 62 $t->addData($d);54 $i = new Item($request->resources, 'PersonalContactResource', $value['id']); 63 55 64 65 $d->setName('email');66 $d->setValue(null);67 $d->setPrompt('Emaildo Contato');68 69 $d->setMaxLength(100);70 71 56 $d = new Data(); 57 $d->setName('name'); 58 $d->setValue($value['name']); 59 $d->setPrompt('Nome do Contato'); 60 $d->setDataType('string'); 61 $d->setMaxLength('100'); 62 $d->setMinLength(null); 63 $d->setRequired(true); 72 64 73 $t->addData($d);65 $i->addData($d); 74 66 75 76 $d->setName('telefone');77 $d->setValue(null);78 $d->setPrompt('Telefonedo Contato');79 80 $d->setMaxLength(100);81 82 67 $d = new Data(); 68 $d->setName('id'); 69 $d->setValue($value['id']); 70 $d->setPrompt('Id do Contato'); 71 $d->setDataType('string'); 72 $d->setMaxLength('100'); 73 $d->setMinLength(null); 74 $d->setRequired(true); 83 75 84 $t->addData($d);76 $i->addData($d); 85 77 86 $c->setTemplate($t); 87 88 $d = new Data(); 89 $d->setName('name'); 90 $d->setValue($contact[0]['name']); 91 $d->setPrompt('Nome do Contato'); 92 $d->setDataType('string'); 93 $d->setMaxLength('100'); 94 $d->setMinLength(null); 95 $d->setRequired(true); 78 $d = new Data(); 79 $d->setName('email'); 80 $d->setValue($value['email']); 81 $d->setPrompt('Email do Contato'); 82 $d->setDataType('string'); 83 $d->setMaxLength('100'); 84 $d->setMinLength(null); 85 $d->setRequired(true); 96 86 97 $c->addData($d); 98 99 $d = new Data(); 100 $d->setName('email'); 101 $d->setValue($contact[0]['email']); 102 $d->setPrompt('Email do Contato'); 103 $d->setDataType('string'); 104 $d->setMaxLength('100'); 105 $d->setMinLength(null); 106 $d->setRequired(true); 87 $i->addData($d); 107 88 108 $c->addData($d); 109 110 $d = new Data(); 111 $d->setName('telephone'); 112 $d->setValue($contact[0]['telephone']); 113 $d->setPrompt('Telefone do Contato'); 114 $d->setDataType('string'); 115 $d->setMaxLength('100'); 116 $d->setMinLength(null); 117 $d->setRequired(true); 89 $l = new Link(); 118 90 119 $c->addData($d); 120 121 $l = new Link(); 122 $l->setHref(''); 123 $l->setRel('delete'); 124 $l->setAlt('Remover'); 125 $l->setPrompt('Remover'); 126 $l->setRender('link'); 127 128 $c->addLink($l); 129 130 $l = new Link(); 131 $l->setHref(''); 132 $l->setRel('put'); 133 $l->setAlt('Atualizar'); 134 $l->setPrompt('Atualizar'); 135 $l->setRender('link'); 136 137 $c->addLink($l); 138 139 $l = new Link(); 140 $l->setHref('/contact/'.$value['id']); 141 $l->setRel('get'); 142 $l->setAlt('Buscar'); 143 $l->setPrompt('Buscar'); 144 $l->setRender('link'); 91 $l->setHref(''); 92 $l->setRel('delete'); 93 $l->setAlt('Remover'); 94 $l->setPrompt('Remover'); 95 $l->setRender('link'); 145 96 146 $c->addLink($l); 147 148 $h->setCollection($c); 97 $i->addLink($l); 149 98 150 }catch (Exception $ex){ 151 $error = new Error(); 152 $error->setCode(Response::INTERNALSERVERERROR); 153 $error->setTitle('Internal Server Error'); 154 $error->setDescription($ex); 99 $l = new Link(); 100 $l->setHref(''); 101 $l->setRel('put'); 102 $l->setAlt('Atualizar'); 103 $l->setPrompt('Atualizar'); 104 $l->setRender('link'); 155 105 156 $c->setError($error); 157 $h->setCollection($c); 106 $i->addLink($l); 158 107 159 $response->code = Response::INTERNALSERVERERROR; 160 $response->body = $h->getHypermedia($request->accept[10][0]); 161 return $response; 162 } 108 $l = new Link(); 109 $l->setHref('/contact/'.$value['id']); 110 $l->setRel('get'); 111 $l->setAlt('Buscar'); 112 $l->setPrompt('Buscar'); 113 $l->setRender('link'); 163 114 164 $response->body = $h->getHypermedia($request->accept[10][0]); 165 return $response; 166 } 115 $i->addLink($l); 116 $c->addItem($i); 117 } 118 119 $t = new Template(); 120 $d = new Data(); 121 122 $d->setName('name'); 123 $d->setValue(null); 124 $d->setPrompt('Nome do Contato'); 125 $d->setDataType('string'); 126 $d->setMaxLength(100); 127 $d->setMinLength(null); 128 $d->setRequired(true); 129 130 $t->addData($d); 131 132 $d = new Data(); 133 $d->setName('email'); 134 $d->setValue(null); 135 $d->setPrompt('Email do Contato'); 136 $d->setDataType('string'); 137 $d->setMaxLength(100); 138 $d->setMinLength(null); 139 $d->setRequired(true); 140 141 $t->addData($d); 142 143 $d = new Data(); 144 $d->setName('telefone'); 145 $d->setValue(null); 146 $d->setPrompt('Telefone do Contato'); 147 $d->setDataType('string'); 148 $d->setMaxLength(100); 149 $d->setMinLength(null); 150 $d->setRequired(true); 151 152 $t->addData($d); 153 154 $c->setTemplate($t); 155 156 $h->setCollection($c); 157 158 }catch (Exception $ex){ 159 $error = new Error(); 160 $error->setCode(Response::INTERNALSERVERERROR); 161 $error->setTitle('Internal Server Error'); 162 $error->setDescription($ex); 163 164 $c->setError($error); 165 $h->setCollection($c); 166 167 $response->code = Response::INTERNALSERVERERROR; 168 $response->body = $h->getHypermedia($request->accept[10][0]); 169 return $response; 170 } 171 172 $response->body = $h->getHypermedia($request->accept[10][0]); 173 return $response; 174 } 167 175 } 168 176 ?> -
trunk/prototype/rest/catalog/UserContactsResource.php
r6783 r7221 282 282 283 283 $d = new Data(); 284 $i = new Item($request->resources, (($value['user'] == Config::me("uidNumber")) ? ' ContactsResource' : 'SharedContactResource'), $value['id']);284 $i = new Item($request->resources, (($value['user'] == Config::me("uidNumber")) ? 'PersonalContactResource' : 'SharedContactResource'), $value['id']); 285 285 $d->setName('id'); 286 286 $d->setValue($value['id']);
Note: See TracChangeset
for help on using the changeset viewer.