BUG 5494 "Request for a web service function to cancel..." SOLVED

- New feature
- Web Services for pause and unpause case
- Added functions "PMFPauseCase, PMFUnpauseCase, WSPauseCase, WSUnpauseCase" in "class.pmFunctions.php"
- Added function "pauseCase, unpauseCase" in "class.wsBase.php"
- Added functionality for applications using Web Services
- Cancel case it's solved in bug 7385
- Function "pauseCase" from "class.pmFunctions.php" has changed its name to "PMFPauseCase"
* Available from version 2.0.44
This commit is contained in:
Victor Saisa Lopez
2012-09-12 14:46:26 -04:00
parent 00492b47a7
commit 3fc8719472
4 changed files with 366 additions and 36 deletions

View File

@@ -761,6 +761,45 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pauseCaseRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sessionId" type="xs:string"/>
<xs:element name="caseUid" type="xs:string"/>
<xs:element name="delIndex" type="xs:string"/>
<xs:element name="userUid" type="xs:string"/>
<xs:element name="unpauseDate" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pauseCaseResponse">
<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:element name="unpauseCaseRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sessionId" type="xs:string"/>
<xs:element name="caseUid" type="xs:string"/>
<xs:element name="delIndex" type="xs:string"/>
<xs:element name="userUid" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="unpauseCaseResponse">
<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>
@@ -965,6 +1004,18 @@
<message name="cancelCaseResponse">
<part name="parameters" element="xs0:cancelCaseResponse"/>
</message>
<message name="pauseCaseRequest">
<part name="parameters" element="xs0:pauseCaseRequest"/>
</message>
<message name="pauseCaseResponse">
<part name="parameters" element="xs0:pauseCaseResponse"/>
</message>
<message name="unpauseCaseRequest">
<part name="parameters" element="xs0:unpauseCaseRequest"/>
</message>
<message name="unpauseCaseResponse">
<part name="parameters" element="xs0:unpauseCaseResponse"/>
</message>
<portType name="ProcessMakerServiceSoap">
<operation name="login">
@@ -1111,6 +1162,14 @@
<input message="xs0:cancelCaseRequest"/>
<output message="xs0:cancelCaseResponse"/>
</operation>
<operation name="pauseCase">
<input message="xs0:pauseCaseRequest"/>
<output message="xs0:pauseCaseResponse"/>
</operation>
<operation name="unpauseCase">
<input message="xs0:unpauseCaseRequest"/>
<output message="xs0:unpauseCaseResponse"/>
</operation>
</portType>
<binding name="ProcessMakerServiceSoap" type="xs0:ProcessMakerServiceSoap">
@@ -1439,6 +1498,24 @@
<soap12:body use="literal"/>
</output>
</operation>
<operation name="pauseCase">
<soap12:operation soapAction="urn:pauseCase" soapActionRequired="true" style="document"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
<operation name="unpauseCase">
<soap12:operation soapAction="urn:unpauseCase" soapActionRequired="true" style="document"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
</binding>
<service name="ProcessMakerService">

View File

@@ -1102,6 +1102,52 @@ function cancelCase($params)
return $result;
}
function pauseCase($params)
{
$result = isValidSession($params->sessionId);
if ($result->status_code != 0) {
return $result;
}
if (ifPermission($params->sessionId, "PM_CASES") == 0) {
$result = new wsResponse(2, "You do not have privileges");
return $result;
}
$ws = new wsBase();
$result = $ws->pauseCase(
$params->caseUid,
$params->delIndex,
$params->userUid,
((isset($params->unpauseDate))? $params->unpauseDate : null)
);
return $result;
}
function unpauseCase($params)
{
$result = isValidSession($params->sessionId);
if ($result->status_code != 0) {
return $result;
}
if (ifPermission($params->sessionId, "PM_CASES") == 0) {
$result = new wsResponse(2, "You do not have privileges");
return $result;
}
$ws = new wsBase();
$result = $ws->unpauseCase($params->caseUid, $params->delIndex, $params->userUid);
return $result;
}
@@ -1144,5 +1190,7 @@ $server->addFunction("removeUserFromGroup");
$server->addFunction("getCaseNotes");
$server->addFunction("deleteCase");
$server->addFunction("cancelCase");
$server->addFunction("pauseCase");
$server->addFunction("unpauseCase");
$server->handle();