Changeset 7221 for trunk/prototype/rest/catalog/PersonalContactResource.php
- Timestamp:
- 09/14/12 14:48:28 (12 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
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 ?>
Note: See TracChangeset
for help on using the changeset viewer.