2013-03-12 4 views
0

내가 (ID로) 일부 사용자의 역할을 얻기 위해 노력하고있어 현재 나는이 방법을 수행얻기 역할

을 $이 외부에서 집에서 만든 API 액세스입니다 슈가 CRM은, 세션은 암시 적으로 전 사용자가 있는지 확인하는 동안 모든 역할을 반복 할 필요가 때문에 나는, 그러나, 내가보고되었습니다 ...이 비효율적 인 솔루션을 고려

$roles = $this->get_entry_list('ACLRoles', null, null, null, array('name')); 
     if ($roles) { 
      foreach ($roles->entry_list as $role) { 
       $result = $this->get_relationships('ACLRoles', $role->id, 'users', 'user_id=' . $userId); 
       if (count($result->entry_list) > 0) { 
        return array(
         'id' => $role->id, 
         'name' => $role->name_value_list->name->value 
        ); 
       } 
      } 
     } 

를 전송 API 및 다른 방법을 시도하고 있지만 관계 사용자 -> ACLRoles, ACLRoles -> 사용자 ...

사용자의 역할을 얻는 더 좋은 방법이 있습니까?

+0

불행히도 최선의 선택이라고 생각합니다. – jmertic

+0

그래도 나는 다른 누군가가 저에게 다른 것을 가르쳐 주길 바랬습니다. 감사합니다. – Josejulio

답변

1

또 다른 옵션은 사용자 정의 엔드 포인트를 통해 새 웹 서비스 호출을 추가하는 것입니다. 이것은 실제로 할 매우 간단합니다, 나는 SOAP 서비스를 통해 특정 사용자에 대한 역할을 검색하기 위해 설탕 6.5.8에 get_relationships을 사용하고 있습니다 ... 자세한 내용은

http://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.6/02_Application_Framework/Web_Services/06_Extending_Web_Services

+0

갈 길이 멀어졌습니다! – Josejulio

0

을이 KB 문서를 참조하십시오.

get_relationships(sessionId, "Users", userId, "aclroles", "", array("id", "name")) 

참고 : link_field_name은 (4) 매개 변수는 그냥 무시하고 레코드가 반환됩니다 ... 대소 문자를 구별 것으로 보인다,하지만 당신은 모듈 이름 매개 변수와 같은 만약 틀렸을 경우 오류가 발생하지 않습니다.