Merge pull request #2102 from gproly/BUG-12219

Bug 12219
This commit is contained in:
julceslauhub
2013-10-25 08:28:11 -07:00
3 changed files with 87 additions and 0 deletions

View File

@@ -873,6 +873,24 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="claimCaseRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sessionId" type="xs:string"/>
<xs:element name="guid" type="xs:string"/>
<xs:element name="delIndex" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="claimCaseResponse">
<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:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
@@ -1101,6 +1119,12 @@
<message name="addCaseNoteResponse">
<part name="parameters" element="xs0:addCaseNoteResponse"/>
</message>
<message name="claimCaseRequest">
<part name="parameters" element="xs0:claimCaseRequest"/>
</message>
<message name="claimCaseResponse">
<part name="parameters" element="xs0:claimCaseResponse"/>
</message>
<portType name="ProcessMakerServiceSoap">
<operation name="login">
@@ -1263,6 +1287,10 @@
<input message="xs0:addCaseNoteRequest"/>
<output message="xs0:addCaseNoteResponse"/>
</operation>
<operation name="claimCase">
<input message="xs0:claimCaseRequest"/>
<output message="xs0:claimCaseResponse"/>
</operation>
</portType>
<binding name="ProcessMakerServiceSoap" type="xs0:ProcessMakerServiceSoap">
@@ -1627,6 +1655,15 @@
<soap12:body use="literal"/>
</output>
</operation>
<operation name="claimCase">
<soap12:operation soapAction="urn:claimCase" soapActionRequired="true" style="document"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
</binding>
<service name="ProcessMakerService">

View File

@@ -1208,6 +1208,30 @@ function addCaseNote($params)
return $result;
}
function claimCase($params)
{
$vsResult = isValidSession($params->sessionId);
if ($vsResult->status_code !== 0) {
return $vsResult;
}
if (ifPermission($params->sessionId, 'PM_CASES') == 0) {
$result = new wsResponse(2, G::LoadTranslation('ID_NOT_PRIVILEGES'));
return $result;
}
G::LoadClass('sessions');
$oSessions = new Sessions();
$session = $oSessions->getSessionUser($params->sessionId);
$ws = new wsBase();
$res = $ws->claimCase($session['USR_UID'], $params->guid, $params->delIndex);
return $res;
}
$server = new SoapServer($wsdl);
$server->addFunction("Login");
@@ -1251,5 +1275,6 @@ $server->addFunction("cancelCase");
$server->addFunction("pauseCase");
$server->addFunction("unpauseCase");
$server->addFunction("addCaseNote");
$server->addFunction("claimCase");
$server->handle();