Changeset 3335 for branches


Ignore:
Timestamp:
10/06/10 17:24:40 (14 years ago)
Author:
eduardoalex
Message:

Ticket #1236 - Corrigida a forma de carregar o combo contendo os usuarios para adicao compartilhada

Location:
branches/2.2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/contactcenter/inc/class.ui_data.inc.php

    r3334 r3335  
    440440                                case 'get_qtds_compartilhado': 
    441441                                        return $this->get_qtds_compartilhado(); 
     442                                case 'get_list_owners_perms_add': 
     443                                        echo $this->get_list_owners_perms_add(); 
     444                                        return; 
    442445 
    443446                        } 
     
    15891592                        echo serialize($final); 
    15901593                } 
     1594                 
     1595                 
     1596                function get_list_owners_perms_add(){ 
     1597                        $acl = CreateObject('phpgwapi.acl'); 
     1598                        $find_result = $acl->get_rights_and_owners($GLOBALS['phpgw_info']['user']['account_id'],'contactcenter'); 
     1599                        if($find_result){ 
     1600                                $owner_names = array(); 
     1601                                $filter = "(|"; 
     1602                                foreach($find_result as $owner) { 
     1603                                        if(($owner['acl_rights'] & PHPGW_ACL_ADD) == PHPGW_ACL_ADD){ 
     1604                                                $filter .= "(uidNumber=".$owner['acl_account'].")"; 
     1605                                        } 
     1606                                } 
     1607                                if(!$this->bo->catalog->src_info) { 
     1608                                        $ldap = CreateObject('contactcenter.bo_ldap_manager'); 
     1609                                        $this->bo->catalog->src_info = $ldap->srcs[1]; 
     1610                                } 
     1611                                $ds = $GLOBALS['phpgw']->common->ldapConnect($this->bo->catalog->src_info['host'], $this->bo->catalog->src_info['acc'], $this->bo->catalog->src_info['pw'], false); 
     1612                                $filter .= ")"; 
     1613                                $dn=$this->bo->catalog->src_info['dn']; 
     1614                                $justThese = array("cn","uidnumber","uid"); 
     1615                                $sr = ldap_search($ds,$dn, $filter,$justThese); 
     1616                                $info = ldap_get_entries($ds, $sr); 
     1617                                for($z = 0; $z < $info['count']; $z++) { 
     1618                                        $owner_names[$info[$z]['uidnumber'][0]] = array("cn" => $info[$z]['cn'][0], "uid" => $info[$z]['uid'][0]); 
     1619                                } 
     1620                                ldap_close($ds); 
     1621                        } 
     1622                        echo serialize ($owner_names);   
     1623                } 
    15911624 
    15921625                function get_visible_all_ldap() 
  • branches/2.2/contactcenter/js/cc.js

    r3315 r3335  
    261261        var handler = function(responseText) 
    262262        { 
    263                 var data = unserialize(responseText); 
    264                 var sharers = Element('cc_contact_shared_types'); 
     263                var data = unserialize(responseText); 
     264                        var sharers = Element('cc_contact_shared_types'); 
    265265 
    266266                if (typeof(data) != 'object') 
    267                 { 
    268                         showMessage(Element('cc_msg_err_contacting_server').value); 
    269                         return; 
    270                 } 
    271  
    272                 if (typeof(data[3]) == 'object') 
    273                 { 
    274                         sharers.disabled = false; 
    275                         var i = 1; 
    276                         if (data[6].length != 0) 
    277                         { 
    278                                 for (var j in data[6]) 
     267            { 
     268                showMessage(Element('cc_msg_err_contacting_server').value); 
     269                fullAddWin.close(); 
     270                                return; 
     271            }else{ 
     272                                sharers.disabled = false; 
     273                                j = 1; 
     274                                for (var i in data) 
    279275                                { 
    280                                         sharers.options[i] = new Option(data[6][j]['cn'], j); 
    281                                         owners[i] = j; 
    282                                         i++; 
     276                                                sharers.options[j] = new Option(data[i]['cn'], i); 
     277                                                owners[j] = i; 
     278                                                j++; 
    283279                                } 
    284                         } else 
    285                                 sharers.disabled = true; 
    286                         return; 
    287                 } else 
    288                 { 
    289                         showMessage(Element('cc_msg_err_contacting_server').value); 
    290                         fullAddWin.close(); 
    291                         return; 
    292                 } 
    293  
     280                                return; 
     281                 } 
    294282        }; 
    295         Connector.newRequest('populateSharingSelect', '../index.php?menuaction=contactcenter.ui_data.data_manager&method=get_cards_data', 'POST', handler); 
     283        Connector.newRequest('populateSharingSelect', '../index.php?menuaction=contactcenter.ui_data.data_manager&method=get_list_owners_perms_add', 'POST', handler); 
    296284} 
    297285 
  • branches/2.2/phpgwapi/inc/class.acl.inc.php

    r1280 r3335  
    634634                } 
    635635                 
     636                function get_rights_and_owners($user,$appname = False) 
     637                { 
     638                         
     639                        if (!$appname) $appname = $GLOBALS['phpgw_info']['flags']['currentapp']; 
     640 
     641                        if (!count($this->data) && $GLOBALS['phpgw_info']['server']['acl_default'] != 'deny') 
     642                        { 
     643                                return True; 
     644                        } 
     645                         
     646                        $db2 = clone($this->db); 
     647                        $db2->select($this->table_name,array('acl_account','acl_rights'),array( 
     648                                'acl_appname'  => $appname, 
     649                                'acl_location' => $user, 
     650                        ),__LINE__,__FILE__); 
     651                        $return = array(); 
     652                        while ($db2->next_record()) 
     653                        { 
     654                                $return[] = array( 
     655                                        'acl_rights' => $db2->f('acl_rights'), 
     656                                        'acl_account' =>  $db2->f('acl_account') 
     657                                        );                               
     658                        } 
     659                        return $return; 
     660                } 
     661                 
    636662                /** 
    637663                 * Deletes all ACL entries for an account (user or group) 
Note: See TracChangeset for help on using the changeset viewer.