BUG 8596 "Web Services needs a userInfo() function" SOLVED

- New feature
- Web Services for getting information of user
- Added functions "PMFInformationUser, WSInformationUser" in "class.pmFunctions.php"
- Added function "informationUser" in "class.wsBase.php"
- Added functionality for applications using Web Services
* Available from version 2.0.46
This commit is contained in:
Victor Saisa Lopez
2012-11-15 12:56:33 -04:00
parent 520baa83f2
commit ebd1a4747c
4 changed files with 237 additions and 62 deletions

View File

@@ -225,6 +225,50 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="informationUserStruct">
<xs:sequence>
<xs:element name="username" type="xs:string"/>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="mail" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="zipcode" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="state" type="xs:string"/>
<xs:element name="location" type="xs:string"/>
<xs:element name="phone" type="xs:string"/>
<xs:element name="fax" type="xs:string"/>
<xs:element name="cellular" type="xs:string"/>
<xs:element name="birthday" type="xs:string"/>
<xs:element name="position" type="xs:string"/>
<xs:element name="replacedby" type="xs:string"/>
<xs:element name="duedate" type="xs:string"/>
<xs:element name="calendar" type="xs:string"/>
<xs:element name="status" type="xs:string"/>
<xs:element name="department" type="xs:string"/>
<xs:element name="reportsto" type="xs:string"/>
<xs:element name="userexperience" type="xs:string"/>
<xs:element name="photo" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="informationUserRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sessionId" type="xs:string"/>
<xs:element name="userUid" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="informationUserResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="status_code" type="xs:integer"/>
<xs:element name="message" type="xs:string"/>
<xs:element name="timestamp" type="xs:string"/>
<xs:element name="info" minOccurs="0" maxOccurs="unbounded" type="xs0:informationUserStruct"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createGroupRequest">
<xs:complexType>
<xs:sequence>
@@ -896,6 +940,12 @@
<message name="updateUserResponse">
<part name="parameters" element="xs0:updateUserResponse"/>
</message>
<message name="informationUserRequest">
<part name="parameters" element="xs0:informationUserRequest"/>
</message>
<message name="informationUserResponse">
<part name="parameters" element="xs0:informationUserResponse"/>
</message>
<message name="createGroupRequest">
<part name="parameters" element="xs0:createGroupRequest"/>
</message>
@@ -1091,6 +1141,10 @@
<input message="xs0:updateUserRequest"/>
<output message="xs0:updateUserResponse"/>
</operation>
<operation name="informationUser">
<input message="xs0:informationUserRequest"/>
<output message="xs0:informationUserResponse"/>
</operation>
<operation name="createGroup">
<input message="xs0:createGroupRequest"/>
<output message="xs0:createGroupResponse"/>
@@ -1301,6 +1355,15 @@
<soap12:body use="literal"/>
</output>
</operation>
<operation name="informationUser">
<soap12:operation soapAction="urn:informationUser" soapActionRequired="true" style="document"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
<operation name="createGroup">
<soap12:operation soapAction="urn:createGroup" soapActionRequired="true" style="document"/>
<input>

View File

@@ -873,6 +873,26 @@ function updateUser ($params)
return $result;
}
function informationUser($params)
{
$result = isValidSession($params->sessionId);
if ($result->status_code != 0) {
return $result;
}
if (ifPermission($params->sessionId, "PM_USERS") == 0) {
$result = new wsResponse(2, "You do not have privileges");
return $result;
}
$ws = new wsBase();
$result = $ws->informationUser($params->userUid);
return $result;
}
function CreateGroup ($params)
{
$vsResult = isValidSession( $params->sessionId );
@@ -1170,46 +1190,48 @@ function unpauseCase ($params)
return $result;
}
$server = new SoapServer( $wsdl );
$server->addFunction( "Login" );
$server->addFunction( "ProcessList" );
$server->addFunction( "CaseList" );
$server->addFunction( "UnassignedCaseList" );
$server->addFunction( "RoleList" );
$server->addFunction( "GroupList" );
$server->addFunction( "DepartmentList" );
$server->addFunction( "UserList" );
$server->addFunction( "TriggerList" );
$server->addFunction( "outputDocumentList" );
$server->addFunction( "inputDocumentList" );
$server->addFunction( "inputDocumentProcessList" );
$server->addFunction( "removeDocument" );
$server->addFunction( "SendMessage" );
$server->addFunction( "SendVariables" );
$server->addFunction( "GetVariables" );
$server->addFunction( "GetVariablesNames" );
$server->addFunction( "DerivateCase" );
$server->addFunction( "RouteCase" );
$server->addFunction( "executeTrigger" );
$server->addFunction( "NewCaseImpersonate" );
$server->addFunction( "NewCase" );
$server->addFunction( "AssignUserToGroup" );
$server->addFunction( "AssignUserToDepartment" );
$server->addFunction( "CreateGroup" );
$server->addFunction( "CreateDepartment" );
$server->addFunction( "CreateUser" );
$server->addFunction( "updateUser" );
$server->addFunction( "getCaseInfo" );
$server->addFunction( "TaskList" );
$server->addFunction( "TaskCase" );
$server->addFunction( "ReassignCase" );
$server->addFunction( "systemInformation" );
$server->addFunction( "importProcessFromLibrary" );
$server->addFunction( "removeUserFromGroup" );
$server->addFunction( "getCaseNotes" );
$server->addFunction( "deleteCase" );
$server->addFunction( "cancelCase" );
$server->addFunction( "pauseCase" );
$server->addFunction( "unpauseCase" );
$server = new SoapServer($wsdl);
$server->addFunction("Login");
$server->addFunction("ProcessList");
$server->addFunction("CaseList");
$server->addFunction("UnassignedCaseList");
$server->addFunction("RoleList");
$server->addFunction("GroupList");
$server->addFunction("DepartmentList");
$server->addFunction("UserList");
$server->addFunction("TriggerList");
$server->addFunction("outputDocumentList");
$server->addFunction("inputDocumentList");
$server->addFunction("inputDocumentProcessList");
$server->addFunction("removeDocument");
$server->addFunction("SendMessage");
$server->addFunction("SendVariables");
$server->addFunction("GetVariables");
$server->addFunction("GetVariablesNames");
$server->addFunction("DerivateCase");
$server->addFunction("RouteCase");
$server->addFunction("executeTrigger");
$server->addFunction("NewCaseImpersonate");
$server->addFunction("NewCase");
$server->addFunction("AssignUserToGroup");
$server->addFunction("AssignUserToDepartment");
$server->addFunction("CreateGroup");
$server->addFunction("CreateDepartment");
$server->addFunction("CreateUser");
$server->addFunction("updateUser");
$server->addFunction("informationUser");
$server->addFunction("getCaseInfo");
$server->addFunction("TaskList");
$server->addFunction("TaskCase");
$server->addFunction("ReassignCase");
$server->addFunction("systemInformation");
$server->addFunction("importProcessFromLibrary");
$server->addFunction("removeUserFromGroup");
$server->addFunction("getCaseNotes");
$server->addFunction("deleteCase");
$server->addFunction("cancelCase");
$server->addFunction("pauseCase");
$server->addFunction("unpauseCase");
$server->handle();