Changeset 6437


Ignore:
Timestamp:
06/06/12 15:15:49 (8 years ago)
Author:
gustavo
Message:

Ticket #2766 - Ajustado padrao das hipermedias e reajuste de recursos

Location:
sandbox/2.4.1-3/prototype
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-3/prototype/config/contactGroup.ini

    r6429 r6437  
    88id  = id_group 
    99user = owner 
    10 name = title  
     10name = title 
     11email = short_name  
  • sandbox/2.4.1-3/prototype/modules/catalog/interceptors/DBMapping.php

    r6396 r6437  
    1 <?php 
     1 <?php 
    22 
    33//Definindo Constantes 
     
    1313    public function findConnections(&$uri, &$params, &$criteria, $original) { 
    1414 
    15         if(count($params)>0 && isset($params[0]['id'])){ 
    16                 for($i=0; $i < count($params); $i++){ 
    17                         //Retorna o telefone e o e-mail padrao de um determinado contato 
    18                         $sql = ' SELECT phpgw_cc_contact_conns.id_typeof_contact_connection as type, phpgw_cc_connections.connection_value as value ' 
    19                                 .'FROM phpgw_cc_contact_conns ' 
    20                                 .'JOIN phpgw_cc_connections ' 
    21                                 .'ON (phpgw_cc_connections.id_connection = phpgw_cc_contact_conns.id_connection) ' 
    22                                 .'WHERE phpgw_cc_contact_conns.id_contact = ' . $params[$i]['id'] . ' AND ' 
    23                                 .'phpgw_cc_connections.connection_is_default = TRUE '; 
     15                if(count($params)>0 && isset($params[0]['id'])){ 
     16                        for($i=0; $i < count($params); $i++){ 
     17                                //Retorna o telefone e o e-mail padrao de um determinado contato 
     18                                $sql = ' SELECT phpgw_cc_contact_conns.id_typeof_contact_connection as type, phpgw_cc_connections.connection_value as value ' 
     19                                        .'FROM phpgw_cc_contact_conns ' 
     20                                        .'JOIN phpgw_cc_connections ' 
     21                                        .'ON (phpgw_cc_connections.id_connection = phpgw_cc_contact_conns.id_connection) ' 
     22                                        .'WHERE phpgw_cc_contact_conns.id_contact = ' . $params[$i]['id'] . ' AND ' 
     23                                        .'phpgw_cc_connections.connection_is_default = TRUE '; 
    2424 
    25                         $array = Controller::service('PostgreSQL')->execResultSql($sql); 
    26                         if(count($array)>0){ 
    27                                 foreach($array as $connection){ 
    28                                         switch($connection['type']){ 
    29                                                 case TYPE_EMAIL         : $params[$i][INDEX_EMAIL]      = $connection['value']; break; 
    30                                                 case TYPE_TELEPHONE     : $params[$i][INDEX_TELEPHONE]  = $connection['value']; break; 
    31                                          
    32                                                 default                 : $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = ''; 
     25                                $array = Controller::service('PostgreSQL')->execResultSql($sql); 
     26                                if(count($array)>0){ 
     27                                        foreach($array as $connection){ 
     28                                                switch($connection['type']){ 
     29                                                        case TYPE_EMAIL         : $params[$i][INDEX_EMAIL]      = $connection['value']; break; 
     30                                                        case TYPE_TELEPHONE     : $params[$i][INDEX_TELEPHONE]  = $connection['value']; break; 
     31                                                        default                 : $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = ''; 
     32                                                } 
     33 
    3334                                        } 
    34  
     35                                } 
     36                                else{ 
     37                                        $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = ''; 
    3538                                } 
    3639                        } 
    37                         else{ 
    38                                 $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = ''; 
     40                } 
     41    } 
     42 
     43        public function findGroupConnections(&$uri, &$params, &$criteria, $original) { 
     44 
     45                if(count($params)>0 && isset($params[0]['id'])){ 
     46                $z = 0; 
     47                $count = count($params); 
     48                for($i=0; $i < $count; $i++){ 
     49                                //Retorna o telefone e o e-mail padrao de um determinado contato 
     50                                $sql = 'SELECT contato.names_ordered as name, contato.id_contact as id, conexao.connection_value as value ' 
     51                                        .'FROM phpgw_cc_groups grupo ' 
     52                                        .'JOIN phpgw_cc_contact_grps grupo_contato ' 
     53                                        .'ON (grupo.id_group = grupo_contato.id_group) ' 
     54                                        .'JOIN phpgw_cc_connections conexao ' 
     55                                        .'ON (grupo_contato.id_connection = conexao.id_connection) ' 
     56                                        .'JOIN phpgw_cc_contact_conns conexaoCon ' 
     57                                        .'ON (conexao.id_connection = conexaoCon.id_connection) ' 
     58                                        .'JOIN phpgw_cc_contact contato ' 
     59                                        .'ON (contato.id_contact = conexaoCon.id_contact) ' 
     60                                        .'WHERE grupo.id_group = ' . $params[$i]['id'] . ' AND ' 
     61                                        .'conexao.connection_is_default = TRUE'; 
     62 
     63                                $array = Controller::service('PostgreSQL')->execResultSql($sql); 
     64 
     65                                if(count($array)>0){ 
     66                                        $params[$i]['contacts'][$z] = array(); 
     67                                        foreach($array as $connection){ 
     68                                                $params[$i]['contacts'][$z]['id'] = $connection['id'];           
     69                                                $params[$i]['contacts'][$z]['name'] = $connection['name'];                                                       
     70                                                $params[$i]['contacts'][$z][INDEX_EMAIL] = $connection['value'];                                                         
     71                                                $z++; 
     72                                        } 
     73                                } 
     74                                else{ 
     75                                        $params[$i][INDEX_EMAIL] = ''; 
     76                                } 
    3977                        } 
    4078                } 
    41         } 
    42         return false; 
    4379    } 
    44  
     80         
    4581} 
    4682 
  • sandbox/2.4.1-3/prototype/rest/catalog/ContactResource.php

    r6429 r6437  
    4848                return $response; 
    4949            } 
    50  
    51             foreach($contact as $value){ 
     50                         
     51                $t = new Template(); 
    5252                $d = new Data(); 
    53                 $i = new Item($request->resources, 'ContactResource', $value['id']); 
    5453 
    5554                $d->setName('name'); 
    56                 $d->setValue($value['name']); 
    57                 $d->setPrompt('Nome do Contato'); 
    58                 $d->setDataType('string'); 
    59                 $d->setMaxLength('100'); 
    60                 $d->setMinLength(null); 
    61                 $d->setRequired(true); 
     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); 
    6261 
    63                 $i->addData($d); 
     62                $t->addData($d); 
    6463 
    6564                $d = new Data(); 
    66                 $d->setName('email'); 
    67                 $d->setValue($value['email']); 
    68                 $d->setPrompt('Email do Contato'); 
    69                 $d->setDataType('string'); 
    70                 $d->setMaxLength('100'); 
    71                 $d->setMinLength(null); 
    72                 $d->setRequired(true); 
     65                $d->setName('email'); 
     66                $d->setValue(null); 
     67                $d->setPrompt('Email do Contato'); 
     68                $d->setDataType('string'); 
     69                $d->setMaxLength(100); 
     70                $d->setMinLength(null); 
     71                $d->setRequired(true); 
    7372 
    74                 $i->addData($d); 
     73                $t->addData($d); 
    7574 
    7675                $d = new Data(); 
    77                 $d->setName('telephone'); 
    78                 $d->setValue($value['telephone']); 
    79                 $d->setPrompt('Telefone do Contato'); 
    80                 $d->setDataType('string'); 
    81                 $d->setMaxLength('100'); 
    82                 $d->setMinLength(null); 
    83                 $d->setRequired(true); 
     76                $d->setName('telefone'); 
     77                $d->setValue(null); 
     78                $d->setPrompt('Telefone do Contato'); 
     79                $d->setDataType('string'); 
     80                $d->setMaxLength(100); 
     81                $d->setMinLength(null); 
     82                $d->setRequired(true); 
    8483 
    85                 $i->addData($d); 
     84                $t->addData($d); 
    8685 
    87                 $l = new Link(); 
     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); 
    8896 
    89                 $l->setHref(''); 
    90                 $l->setRel('delete'); 
    91                 $l->setAlt('Remover'); 
    92                 $l->setPrompt('Remover'); 
    93                 $l->setRender('link'); 
     97                $c->addData($d); 
     98                 
     99                $d = new Data(); 
     100                $d->setName('email'); 
     101                $d->setValue($value['email']); 
     102                $d->setPrompt('Email do Contato'); 
     103                $d->setDataType('string'); 
     104                $d->setMaxLength('100'); 
     105                $d->setMinLength(null); 
     106                $d->setRequired(true); 
    94107 
    95                 $i->addLink($l); 
     108                $c->addData($d); 
     109                 
     110                $d = new Data(); 
     111                $d->setName('telephone'); 
     112                $d->setValue($value['telephone']); 
     113                $d->setPrompt('Telefone do Contato'); 
     114                $d->setDataType('string'); 
     115                $d->setMaxLength('100'); 
     116                $d->setMinLength(null); 
     117                $d->setRequired(true); 
    96118 
    97                 $l = new Link(); 
    98                 $l->setHref(''); 
    99                 $l->setRel('put'); 
    100                 $l->setAlt('Atualizar'); 
    101                 $l->setPrompt('Atualizar'); 
    102                 $l->setRender('link'); 
     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'); 
    103145 
    104                 $i->addLink($l); 
    105  
    106                 $l = new Link(); 
    107                 $l->setHref('/contact/'.$value['id']); 
    108                 $l->setRel('get'); 
    109                 $l->setAlt('Buscar'); 
    110                 $l->setPrompt('Buscar'); 
    111                 $l->setRender('link'); 
    112  
    113                 $i->addLink($l); 
    114                 $c->addItem($i); 
    115             } 
    116  
    117             $t = new Template(); 
    118             $d = new Data(); 
    119  
    120             $d->setName('name'); 
    121             $d->setValue(null); 
    122             $d->setPrompt('Nome do Contato'); 
    123             $d->setDataType('string'); 
    124             $d->setMaxLength(100); 
    125             $d->setMinLength(null); 
    126             $d->setRequired(true); 
    127  
    128             $t->addData($d); 
    129  
    130             $d = new Data(); 
    131             $d->setName('email'); 
    132             $d->setValue(null); 
    133             $d->setPrompt('Email do Contato'); 
    134             $d->setDataType('string'); 
    135             $d->setMaxLength(100); 
    136             $d->setMinLength(null); 
    137             $d->setRequired(true); 
    138  
    139             $t->addData($d); 
    140  
    141             $d = new Data(); 
    142             $d->setName('telefone'); 
    143             $d->setValue(null); 
    144             $d->setPrompt('Telefone do Contato'); 
    145             $d->setDataType('string'); 
    146             $d->setMaxLength(100); 
    147             $d->setMinLength(null); 
    148             $d->setRequired(true); 
    149  
    150             $t->addData($d); 
    151  
    152             $c->setTemplate($t); 
    153  
    154             $d = new Data(); 
    155             $d->setName('Contato'); 
    156             $d->setValue(null); 
    157             $d->setPrompt('Contato'); 
    158             $d->setDataType(null); 
    159             $d->setMaxLength(null); 
    160             $d->setMinLength(null); 
    161             $d->setRequired(null); 
    162  
    163             $c->addData($d); 
    164  
    165             $h->setCollection($c); 
     146                $c->addLink($l); 
     147                         
     148                $h->setCollection($c); 
    166149 
    167150        }catch (Exception $ex){ 
  • sandbox/2.4.1-3/prototype/rest/catalog/ContactsResource.php

    r6429 r6437  
    152152            $c->setTemplate($t); 
    153153 
    154             $d = new Data(); 
    155             $d->setName('Contato'); 
    156             $d->setValue(null); 
    157             $d->setPrompt('Contato'); 
    158             $d->setDataType(null); 
    159             $d->setMaxLength(null); 
    160             $d->setMinLength(null); 
    161             $d->setRequired(null); 
    162  
    163             $c->addData($d); 
    164  
    165154            $h->setCollection($c); 
    166155 
  • sandbox/2.4.1-3/prototype/rest/hypermedia/collection.php

    r6429 r6437  
    77include_once('query.php'); 
    88include_once('error.php'); 
     9/* 
     10Valores padrão 
    911 
     12Números são enviados como números, sem aspas; 
     13Atributos não obrigatórios sem valor serão nulos; 
     14Strings vazias serão nulos; 
     15Todos os indices / chaves estarão sempre presentes na mensagem; 
     16Arrays vazios serão nulos; 
     17Objetos vazios serão nulos; 
     18Números sem valor serão nulos; 
     19valores booleanos são escritos como booleanos (sem aspas); 
     20*/ 
    1021class Collection { 
    1122 
    12     public $itens = array(); 
     23    public $itens; 
    1324    public $href; 
    1425    public $error; 
    1526    public $pagination; 
    16     public $queries = array(); 
     27    public $queries; 
    1728    public $template; 
    1829    public $type; 
    19     public $data = array(); 
     30    public $data; 
     31        public $links; 
    2032 
    2133    function __construct($config, $className) { 
     
    2941    } 
    3042 
     43        function addLink($link) { 
     44        $this->links[] = $link; 
     45    } 
     46         
    3147    function addItem($item) { 
    3248        $this->itens[] = $item; 
  • sandbox/2.4.1-3/prototype/rest/user/UsersResource.php

    r6429 r6437  
    185185                $t->addData($d); 
    186186 
    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  
    200187            $queries = new Querie();     
    201188                $queries->setHref($c->href); 
Note: See TracChangeset for help on using the changeset viewer.