Changeset 6578


Ignore:
Timestamp:
06/22/12 14:47:14 (9 years ago)
Author:
tezza
Message:

Ticket #2766 - Acrescentado/corrigindo recursos de contatos/grupos compartilhados.

Location:
trunk/prototype
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/config/Tonic.srv

    r6559 r6578  
    1515 
    1616[/sharedcontact/:id] 
    17 SharedContactsResource = /catalog/SharedContactResource.php 
     17SharedContactResource = /catalog/SharedContactResource.php 
    1818 
    1919[/groups] 
     
    2424 
    2525[/sharedgroup/:id] 
    26 SharedGroupsResource = /catalog/SharedGroupResource.php 
     26SharedGroupResource = /catalog/SharedGroupResource.php 
    2727 
    2828[/dynamiccontacts] 
  • trunk/prototype/config/contact.ini

    r6528 r6578  
    33 
    44[after.find] 
    5 findConnections = modules/catalog/interceptors/DBMapping.php 
     5findConnections = modules/catalog/interceptors/CatalogDBMapping.php 
    66 
    77[PostgreSQL.mapping] 
  • trunk/prototype/config/contactGroup.ini

    r6528 r6578  
    33 
    44[after.find] 
    5 findGroupConnections = modules/catalog/interceptors/DBMapping.php 
     5findGroupConnections = modules/catalog/interceptors/CatalogDBMapping.php 
    66 
    77[PostgreSQL.mapping] 
  • trunk/prototype/rest/catalog/DynamicContactsResource.php

    r6528 r6578  
    189189        } 
    190190 
    191         //recupera os atributos definidos no conceito 'user' 
     191        //recuperar os atributos definidos no conceito 'user' 
    192192        $map = Config::get('dynamicContact', 'PostgreSQL.mapping'); 
    193193 
     
    207207        } 
    208208 
    209  
    210209        $response = new Response($request); 
    211210        $response->addHeader('Content-type', 'aplication/json'); 
     
    220219 
    221220        try { 
    222             $idDynamicContact = Controller::create( 
    223                             array('concept' => 'dynamicContact'), $params 
    224             ); 
    225  
    226             if (!$idDynamicContact) { 
    227                 throw new Exception(Controller::service('PostgreSQL')->error); 
    228             } 
     221 
     222                //verificar o limite maximo de contatos dinamicos nas preferencias do administrador 
     223                $sql =  "SELECT config_value ". 
     224                        "FROM phpgw_config ". 
     225                        "WHERE config_app = 'expressoMail1_2' ". 
     226                                "AND config_name = 'expressoMail_Number_of_dynamic_contacts'"; 
     227 
     228                $numberOfMessages = Controller::service('PostgreSQL')->execResultSql($sql, true); 
     229                $numberOfMessages = (count($numberOfMessages) > 0) ? (int)$numberOfMessages['config_value'] : 0; 
     230 
     231                //realizar busca de contatos dinamicos ordenados pela data de utilizacao 
     232                $dynamicContacts = Controller::find(array('concept' => 'dynamicContact'), false, array('filter' => array('=', 'owner', Config::me("uidNumber")), 'order' => array('timestamp') ) ); 
     233                $numberOfDynamicContacts = ($dynamicContacts !== false) ? count($dynamicContacts) : 0; 
     234 
     235 
     236                //se a quantidade de contatos dinamicos de usuario exceder o limite maximo definido nas preferencias do administrador, 
     237                //remover o contato dinamico mais antigo 
     238                if($numberOfDynamicContacts >= $numberOfMessages){ 
     239                        $id = $dynamicContacts[0]['id']; 
     240                        $delete = Controller::delete(array('concept' => 'dynamicContact', 'id' => $id)); 
     241 
     242                        if (!$delete) { 
     243                                $this->createException($request, $response, Response::INTERNALSERVERERROR, 'Internal Server Error', Controller::service('PostgreSQL')->error); 
     244                                return $response; 
     245                        } 
     246                }        
     247 
     248                //inserir o novo contato dinamico 
     249                $create = Controller::create( array('concept' => 'dynamicContact'), $params ); 
     250 
     251                if (!$create) { 
     252                        throw new Exception(Controller::service('PostgreSQL')->error); 
     253                } 
     254 
    229255        } catch (Exception $ex) { 
     256 
    230257            $response->code = Response::INTERNALSERVERERROR; 
    231258            return $response; 
    232259        } 
    233  
    234260        $response->body = json_encode(null); 
    235261 
  • trunk/prototype/rest/user/UserResource.php

    r6528 r6578  
    3131            $this->secured(); 
    3232 
    33             $user = Controller::find(array('concept' => 'user','service'=>'OpenLDAP'), false, array('filter' => array('=', 'uid', $id ))); 
     33            $user = Controller::find( 
     34                                        array('concept' => 'user','service'=>'OpenLDAP'),  
     35                                        false,  
     36                                        array('filter' => array('=', 'uid', $id ), 
     37                                              'notExternal' => true) 
     38            ); 
    3439 
    3540            //Se nao foi encontrado usuario na consulta 
  • trunk/prototype/rest/user/UsersResource.php

    r6543 r6578  
    3030 
    3131        $this->secured(); 
    32          
     32 
     33 
    3334        try {        
    3435            //Executa uma consulta de usuários do LDAP a partir de um determinado atributo e valor 
     
    4041                    //verifica se o campo(atributo) passado pelo usuário está definido no conceito 'user' 
    4142                    if(isset($map[ $_GET['field'] ])){ 
    42                             $users = Controller::find(array('concept' => 'user','service'=>'OpenLDAP'), false, array('filter' => array('=', $_GET['field'],$_GET['value'] ))); 
     43                            $users = Controller::find( 
     44                                                        array('concept' => 'user','service'=>'OpenLDAP'),  
     45                                                        false,  
     46                                                        array('filter' => array('=', $_GET['field'],$_GET['value'] ), 'notExternal' => true) 
     47                            ); 
    4348                    } 
    4449                    else{ 
     
    6671            else{ 
    6772                    //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)); 
     73                    $users = Controller::find( 
     74                                                array('concept' => 'user','service'=>'OpenLDAP'),  
     75                                                false,  
     76                                                array('filter' => array('=', 'phpgwAccountType', 'u'), 
     77                                                      'limit' => 20, 
     78                                                      'notExternal' => true) 
     79                    ); 
    6980            } 
    7081 
Note: See TracChangeset for help on using the changeset viewer.