Changeset 6429


Ignore:
Timestamp:
06/06/12 09:01:21 (8 years ago)
Author:
gustavo
Message:

Ticket #2766 - Correções na arquitetura REST(campo DATA) e arrumado os recursos

Location:
sandbox/2.4.1-3/prototype
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-3/prototype/config/Tonic.srv

    r6395 r6429  
    2727UserResource = /user/UserResource.php 
    2828 
     29[/contacts] 
     30ContactsResource = /catalog/ContactsResource.php 
     31 
    2932[/contact/:id] 
    3033ContactResource = /catalog/ContactResource.php 
    3134 
     35[/group/:id] 
     36GroupResource = /catalog/GroupResource.php 
  • sandbox/2.4.1-3/prototype/rest/catalog/ContactResource.php

    r6397 r6429  
    161161            $d->setRequired(null); 
    162162 
    163             $c->setData($d); 
     163            $c->addData($d); 
    164164 
    165165            $h->setCollection($c); 
  • sandbox/2.4.1-3/prototype/rest/hypermedia/collection.php

    r6351 r6429  
    1414    public $error; 
    1515    public $pagination; 
    16     public $queries; 
     16    public $queries = array(); 
    1717    public $template; 
    1818    public $type; 
    19     public $data; 
     19    public $data = array(); 
    2020 
    2121    function __construct($config, $className) { 
     
    3232        $this->itens[] = $item; 
    3333    } 
    34  
    35     function setData($data) { 
    36         $this->data = $data; 
     34         
     35        function addData($data) { 
     36        $this->data[] = $data; 
    3737    } 
    3838 
     
    5757    } 
    5858 
    59     function setQueries($queries) { 
    60         $this->queries = $queries; 
     59    function addQueries($queries) { 
     60        $this->queries[] = $queries; 
    6161    } 
    6262 
  • sandbox/2.4.1-3/prototype/rest/user/UserResource.php

    r6360 r6429  
    160160            $d->setRequired(null); 
    161161 
    162             $c->setData($d); 
     162            $c->addData($d); 
    163163 
    164164            $h->setCollection($c); 
  • sandbox/2.4.1-3/prototype/rest/user/UsersResource.php

    r6395 r6429  
    4343                    } 
    4444                    else{ 
    45                         //lança warning no log do Expresso 
    46                         trigger_error("Invalid field (".$_GET['field'].") in the query.", E_USER_WARNING); 
    47  
    48                         //formata os atributos LDAP do conceito 'user' 
    49                         $attributes = implode(', ', $map);  
    50  
    51                         //Configura o erro na hypermedia 
     45                                //lança warning no log do Expresso 
     46                                trigger_error("Invalid field (".$_GET['field'].") in the query.", E_USER_WARNING); 
     47 
     48                                //formata os atributos LDAP do conceito 'user' 
     49                                $attributes = implode(', ', $map);  
     50 
     51                                //Configura o erro na hypermedia 
     52                                $error = new Error(); 
     53                                $error->setCode(Response::NOTFOUND); 
     54                                $error->setTitle('UserLDAP not found'); 
     55                                $error->setDescription("Invalid field (".$_GET['field'].") in the query. Use of these: ".$attributes); 
     56 
     57                                $c->setError($error); 
     58                                $h->setCollection($c); 
     59 
     60                                //retorna a hypermedia 
     61                                $response->code = Response::NOTFOUND; 
     62                                $response->body = $h->getHypermedia($request->accept[10][0]); 
     63                                return $response; 
     64                    } 
     65            } 
     66            else{ 
     67                    //Executa a consulta dos primeiros 20 usuarios do LDAP 
     68                    $users = Controller::find(array('concept' => 'user','service'=>'OpenLDAP'), false, array('filter' => array('=', 'phpgwAccountType', 'u'),'limit'=>20)); 
     69            } 
     70 
     71            //Se nao foi encontrado usuarios na consulta 
     72            if($users===false){ 
    5273                        $error = new Error(); 
    5374                        $error->setCode(Response::NOTFOUND); 
    5475                        $error->setTitle('UserLDAP not found'); 
    55                         $error->setDescription("Invalid field (".$_GET['field'].") in the query. Use of these: ".$attributes); 
     76                        $error->setDescription('Users not found.'); 
    5677 
    5778                        $c->setError($error); 
    5879                        $h->setCollection($c); 
    5980 
    60                         //retorna a hypermedia 
    6181                        $response->code = Response::NOTFOUND; 
    6282                        $response->body = $h->getHypermedia($request->accept[10][0]); 
    6383                        return $response; 
    64                     } 
    65             } 
    66             else{ 
    67                     //Executa a consulta dos primeiros 20 usuarios do LDAP 
    68                     $users = Controller::find(array('concept' => 'user','service'=>'OpenLDAP'), false, array('filter' => array('=', 'phpgwAccountType', 'u'),'limit'=>20)); 
    69             } 
    70  
    71             //Se nao foi encontrado usuarios na consulta 
    72             if($users===false){ 
    73                 $error = new Error(); 
    74                 $error->setCode(Response::NOTFOUND); 
    75                 $error->setTitle('UserLDAP not found'); 
    76                 $error->setDescription('Users not found.'); 
    77  
    78                 $c->setError($error); 
     84            } 
     85 
     86                foreach($users as $value){ 
     87                        $d = new Data(); 
     88                        $i = new Item($request->resources, 'UsersResource', $value['uid']); 
     89 
     90                        $d->setName('name'); 
     91                        $d->setValue($value['name']); 
     92                        $d->setPrompt('Nome do Usuario'); 
     93                        $d->setDataType('string'); 
     94                        $d->setMaxLength('100'); 
     95                        $d->setMinLength(null); 
     96                        $d->setRequired(true); 
     97 
     98                        $i->addData($d); 
     99 
     100                        $d = new Data(); 
     101                        $d->setName('email'); 
     102                        $d->setValue($value['mail']); 
     103                        $d->setPrompt('Email do Usuario'); 
     104                        $d->setDataType('string'); 
     105                        $d->setMaxLength('100'); 
     106                        $d->setMinLength(null); 
     107                        $d->setRequired(true); 
     108 
     109                        $i->addData($d); 
     110 
     111                        $d = new Data(); 
     112                        $d->setName('telephoneNumber'); 
     113                        $d->setValue($value['telephoneNumber']); 
     114                        $d->setPrompt('Telefone do Usuario'); 
     115                        $d->setDataType('string'); 
     116                        $d->setMaxLength('100'); 
     117                        $d->setMinLength(null); 
     118                        $d->setRequired(true); 
     119 
     120                        $i->addData($d); 
     121 
     122                        $l = new Link(); 
     123 
     124                        $l->setHref(''); 
     125                        $l->setRel('delete'); 
     126                        $l->setAlt('Remover'); 
     127                        $l->setPrompt('Remover'); 
     128                        $l->setRender('link'); 
     129 
     130                        $i->addLink($l); 
     131 
     132                        $l = new Link(); 
     133                        $l->setHref(''); 
     134                        $l->setRel('put'); 
     135                        $l->setAlt('Atualizar'); 
     136                        $l->setPrompt('Atualizar'); 
     137                        $l->setRender('link'); 
     138 
     139                        $i->addLink($l); 
     140 
     141                        $l = new Link(); 
     142                        $l->setHref('/userldap/'.$value['uid']); 
     143                        $l->setRel('get'); 
     144                        $l->setAlt('Buscar'); 
     145                        $l->setPrompt('Buscar'); 
     146                        $l->setRender('link'); 
     147 
     148                        $i->addLink($l); 
     149                        $c->addItem($i); 
     150            } 
     151 
     152                $t = new Template(); 
     153                $d = new Data(); 
     154 
     155                $d->setName('name'); 
     156                $d->setValue(null); 
     157                $d->setPrompt('Nome do Usuario'); 
     158                $d->setDataType('string'); 
     159                $d->setMaxLength(100); 
     160                $d->setMinLength(null); 
     161                $d->setRequired(true); 
     162 
     163                $t->addData($d); 
     164 
     165                $d = new Data(); 
     166                $d->setName('email'); 
     167                $d->setValue(null); 
     168                $d->setPrompt('Email do Usuario'); 
     169                $d->setDataType('string'); 
     170                $d->setMaxLength(100); 
     171                $d->setMinLength(null); 
     172                $d->setRequired(true); 
     173 
     174                $t->addData($d); 
     175 
     176                $d = new Data(); 
     177                $d->setName('telefone'); 
     178                $d->setValue(null); 
     179                $d->setPrompt('Telefone do Usuario'); 
     180                $d->setDataType('string'); 
     181                $d->setMaxLength(100); 
     182                $d->setMinLength(null); 
     183                $d->setRequired(true); 
     184 
     185                $t->addData($d); 
     186 
     187                $c->setTemplate($t); 
     188 
     189                $d = new Data(); 
     190                $d->setName('Usuario LDAP'); 
     191                $d->setValue(null); 
     192                $d->setPrompt('Usuario do LDAP'); 
     193                $d->setDataType(null); 
     194                $d->setMaxLength(null); 
     195                $d->setMinLength(null); 
     196                $d->setRequired(null); 
     197 
     198                $c->addData($d); 
     199 
     200            $queries = new Querie();     
     201                $queries->setHref($c->href); 
     202            $queries->setData('field','',true); 
     203            $queries->setData('value','',true); 
     204            $c->addQueries($queries); 
     205 
     206 
    79207                $h->setCollection($c); 
    80  
    81                 $response->code = Response::NOTFOUND; 
    82                 $response->body = $h->getHypermedia($request->accept[10][0]); 
    83                 return $response; 
    84             } 
    85  
    86             foreach($users as $value){ 
    87                 $d = new Data(); 
    88                 $i = new Item($request->resources, 'UsersResource', $value['uid']); 
    89  
    90                 $d->setName('name'); 
    91                 $d->setValue($value['name']); 
    92                 $d->setPrompt('Nome do Usuário'); 
    93                 $d->setDataType('string'); 
    94                 $d->setMaxLength('100'); 
    95                 $d->setMinLength(null); 
    96                 $d->setRequired(true); 
    97  
    98                 $i->addData($d); 
    99  
    100                 $d = new Data(); 
    101                 $d->setName('email'); 
    102                 $d->setValue($value['mail']); 
    103                 $d->setPrompt('Email do Usuário'); 
    104                 $d->setDataType('string'); 
    105                 $d->setMaxLength('100'); 
    106                 $d->setMinLength(null); 
    107                 $d->setRequired(true); 
    108  
    109                 $i->addData($d); 
    110  
    111                 $d = new Data(); 
    112                 $d->setName('telephoneNumber'); 
    113                 $d->setValue($value['telephoneNumber']); 
    114                 $d->setPrompt('Telefone do Usuário'); 
    115                 $d->setDataType('string'); 
    116                 $d->setMaxLength('100'); 
    117                 $d->setMinLength(null); 
    118                 $d->setRequired(true); 
    119  
    120                 $i->addData($d); 
    121  
    122                 $l = new Link(); 
    123  
    124                 $l->setHref(''); 
    125                 $l->setRel('delete'); 
    126                 $l->setAlt('Remover'); 
    127                 $l->setPrompt('Remover'); 
    128                 $l->setRender('link'); 
    129  
    130                 $i->addLink($l); 
    131  
    132                 $l = new Link(); 
    133                 $l->setHref(''); 
    134                 $l->setRel('put'); 
    135                 $l->setAlt('Atualizar'); 
    136                 $l->setPrompt('Atualizar'); 
    137                 $l->setRender('link'); 
    138  
    139                 $i->addLink($l); 
    140  
    141                 $l = new Link(); 
    142                 $l->setHref('/userldap/'.$value['uid']); 
    143                 $l->setRel('get'); 
    144                 $l->setAlt('Buscar'); 
    145                 $l->setPrompt('Buscar'); 
    146                 $l->setRender('link'); 
    147  
    148                 $i->addLink($l); 
    149                 $c->addItem($i); 
    150             } 
    151  
    152             $t = new Template(); 
    153             $d = new Data(); 
    154  
    155             $d->setName('name'); 
    156             $d->setValue(null); 
    157             $d->setPrompt('Nome do Usuário'); 
    158             $d->setDataType('string'); 
    159             $d->setMaxLength(100); 
    160             $d->setMinLength(null); 
    161             $d->setRequired(true); 
    162  
    163             $t->addData($d); 
    164  
    165             $d = new Data(); 
    166             $d->setName('email'); 
    167             $d->setValue(null); 
    168             $d->setPrompt('Email do Usuário'); 
    169             $d->setDataType('string'); 
    170             $d->setMaxLength(100); 
    171             $d->setMinLength(null); 
    172             $d->setRequired(true); 
    173  
    174             $t->addData($d); 
    175  
    176             $d = new Data(); 
    177             $d->setName('telefone'); 
    178             $d->setValue(null); 
    179             $d->setPrompt('Telefone do Usuário'); 
    180             $d->setDataType('string'); 
    181             $d->setMaxLength(100); 
    182             $d->setMinLength(null); 
    183             $d->setRequired(true); 
    184  
    185             $t->addData($d); 
    186  
    187             $c->setTemplate($t); 
    188  
    189             $d = new Data(); 
    190             $d->setName('Usuário LDAP'); 
    191             $d->setValue(null); 
    192             $d->setPrompt('Usuário do LDAP'); 
    193             $d->setDataType(null); 
    194             $d->setMaxLength(null); 
    195             $d->setMinLength(null); 
    196             $d->setRequired(null); 
    197  
    198             $c->setData($d); 
    199  
    200             $queries = array(); 
    201             $queries[0] = new Querie(); 
    202             $queries[0]->setHref($c->href); 
    203             $queries[0]->setData('field','',true); 
    204             $queries[0]->setData('value','',true); 
    205             $c->setQueries($queries); 
    206  
    207  
    208             $h->setCollection($c); 
    209208 
    210209        }catch (Exception $ex){ 
Note: See TracChangeset for help on using the changeset viewer.