Merged in victorsl/processmaker (pull request #156)

ProcessMaker-MA "Dynaforms Resources (Fixes)"
This commit is contained in:
erik ao
2014-02-06 15:58:55 -04:00
7 changed files with 467 additions and 341 deletions

View File

@@ -91,14 +91,6 @@ Feature: Dynaform Main Tests
{
"fld_name": "<fld_name_01>",
"pro_variable": "<pro_variable_01>"
},
{
"fld_name": "<fld_name_02>",
"pro_variable": "<pro_variable_02>"
},
{
"fld_name": "<fld_name_03",
"pro_variable": "<pro_variable_03>"
}
]
}
@@ -113,9 +105,9 @@ Feature: Dynaform Main Tests
Examples:
| test_description | project | dyn_title | dyn_description | dyn_type | dyn_uid_number | tab_uid | fld_name_01 | pro_variable_01 | fld_name_02 | pro_variable_02 | fld_name_03 | pro_variable_03 |
| create dynaform pmtable 1 | 14414793652a5d718b65590036026581 | Dynaform - pmtable 1 | dyn from pmtable1 | xmlform | 7 | 65193158852cc1a93a5a535084878044 | DYN_UID | @#APPLICATION | DYN_TITLE | @#TITLE | DYN_DESCRIPTION | @#DESCRIPTION |
| create dynaform pmtable 2 | 42445320652cd534acb3824056962285 | Dynaform - pmtable2 | dyn from pmtable2 | xmlform | 8 | 65193158852cc1a93a5a535084878044 | DYN_UID | @#APPLICATION | DYN_TITLE | @#TITLE | DYN_DESCRIPTION | @#DESCRIPTION |
| test_description | project | dyn_title | dyn_description | dyn_type | dyn_uid_number | tab_uid | fld_name_01 | pro_variable_01 |
| create dynaform pmtable 1 | 14414793652a5d718b65590036026581 | Dynaform - pmtable 1 | dyn from pmtable1 | xmlform | 7 | 65193158852cc1a93a5a535084878044 | DYN_UID | @#APPLICATION |
| create dynaform pmtable 2 | 42445320652cd534acb3824056962285 | Dynaform - pmtable2 | dyn from pmtable2 | xmlform | 8 | 65193158852cc1a93a5a535084878044 | DYN_UID | @#APPLICATION |
Scenario Outline: Get a List DynaForms of a Project list when there are 9 records, total in both projects
@@ -214,4 +206,4 @@ Feature: Dynaform Main Tests
| project | records |
| 14414793652a5d718b65590036026581 | 0 |
| 42445320652cd534acb3824056962285 | 1 |
| 42445320652cd534acb3824056962285 | 1 |

View File

@@ -48,8 +48,8 @@ Scenario Outline: Normal Dynaform creation for a project with bad parameters (ne
Examples:
| test_description | project | dyn_title | dyn_description | dyn_type | copy_prj_uid | copy_dyn_uid | error_code | error_message |
| invalid copy_prj_uid | 14414793652a5d718b65590036026581 | Dynaform - Copy 1 | dyn copy | xmlform | 42445320652cd0000000000000000085 | 70070685552cd53605650f7062918505 | 400 | copy_prj_uid |
| invalid copy_dyn_uid | 42445320652cd534acb3824056962285 | Dynaform - Copy 2 | dyn copy | xmlform | 14414793652a5d718b65590036026581 | 70070685500000000000000000000000 | 400 | copy_dyn_uid |
| invalid copy_prj_uid | 14414793652a5d718b65590036026581 | Dynaform - Copy 1 | dyn copy | xmlform | 42445320652cd0000000000000000085 | 70070685552cd53605650f7062918505 | 400 | copy_import.prj_uid |
| invalid copy_dyn_uid | 42445320652cd534acb3824056962285 | Dynaform - Copy 2 | dyn copy | xmlform | 14414793652a5d718b65590036026581 | 70070685500000000000000000000000 | 400 | copy_import.dyn_uid |
Scenario Outline: Create dynaform based on a PMTable for a project with bad parameters (negative tests)
@@ -87,4 +87,4 @@ Scenario Outline: Normal Dynaform creation for a project with bad parameters (ne
| test_description | project | dyn_title | dyn_description | dyn_type | tab_uid | fld_name_01 | pro_variable_01 | fld_name_02 | pro_variable_02 | fld_name_03 | pro_variable_03 | error_code | error_message |
| invalid tab_uid | 14414793652a5d718b65590036026581 | Dynaform - pmtable 1 | dyn from pmtable | xmlform | 65193158852cc1a00000000000000000 | DYN_UID | @#APPLICATION | DYN_TITLE | @#TITLE | DYN_DESCRIPTION | @#DESCRIPTION | 400 | tab_uid |
| invalid fld_name_01 | 42445320652cd534acb3824056962285 | Dynaform - pmtable 2 | dyn from pmtable | xmlform | 65193158852cc1a93a5a535084878044 | DYN_INPUT | @#APPLICATION | DYN_TITLE | @#TITLE | DYN_DESCRIPTION | @#DESCRIPTION | 400 | fld_name_01 |
| invalid fld_name_01 | 42445320652cd534acb3824056962285 | Dynaform - pmtable 2 | dyn from pmtable | xmlform | 65193158852cc1a93a5a535084878044 | DYN_INPUT | @#APPLICATION | DYN_TITLE | @#TITLE | DYN_DESCRIPTION | @#DESCRIPTION | 400 | fld_name |

View File

@@ -374,7 +374,7 @@ class Step extends BaseStep
while ($oDataset->next()) {
$aRow1 = $oDataset->getRow();
//print_r($aRow1);
$dynHandler = new dynaFormHandler( PATH_DYNAFORM . $_POST['PRO_UID'] . "/" . $aRow1['DYN_UID'] . ".xml" );
$dynHandler = new dynaFormHandler(PATH_DYNAFORM . $sproUid . PATH_SEP . $aRow1["DYN_UID"] . ".xml");
$dynFields = $dynHandler->getFields();
$sxmlgrid = '';
$sType = '';

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -204,14 +204,18 @@ class Project extends Api
}
/**
* @url GET /:projectUid/dynaforms
* @url GET /:prj_uid/dynaforms
*
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doGetDynaForms($projectUid)
public function doGetDynaForms($prj_uid)
{
try {
$process = new \BusinessModel\Process();
$process->setFormatFieldNameInUppercase(false);
$process->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$response = $process->getDynaForms($projectUid);
$response = $process->getDynaForms($prj_uid);
return $response;
} catch (\Exception $e) {
@@ -220,16 +224,16 @@ class Project extends Api
}
/**
* @url GET /:projectUid/input-documents
* @url GET /:prj_uid/input-documents
*
* @param string $projectUid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doGetInputDocuments($projectUid)
public function doGetInputDocuments($prj_uid)
{
try {
$process = new \BusinessModel\Process();
$response = $process->getInputDocuments($projectUid);
$response = $process->getInputDocuments($prj_uid);
return $response;
} catch (\Exception $e) {

View File

@@ -12,14 +12,18 @@ use \Luracast\Restler\RestException;
class DynaForm extends Api
{
/**
* @url GET /:projectUid/dynaform/:dynaFormUid
* @url GET /:prj_uid/dynaform/:dyn_uid
*
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doGetDynaForm($dynaFormUid, $projectUid)
public function doGetDynaForm($dyn_uid, $prj_uid)
{
try {
$dynaForm = new \BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
$response = $dynaForm->getDynaForm($dynaFormUid);
$response = $dynaForm->getDynaForm($dyn_uid);
return $response;
} catch (\Exception $e) {
@@ -28,21 +32,21 @@ class DynaForm extends Api
}
/**
* @url POST /:projectUid/dynaform
* @url POST /:prj_uid/dynaform
*
* @param string $projectUid
* @param DynaFormPostStructure $request_data
* @param string $prj_uid {@min 32}{@max 32}
* @param array $request_data
*
* @status 201
*/
public function doPostDynaForm($projectUid, DynaFormPostStructure $request_data = null)
public function doPostDynaForm($prj_uid, $request_data)
{
try {
$dynaForm = new \BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
$dynaForm->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$arrayData = $dynaForm->getArrayDataFromRequestData($request_data);
$arrayData = $dynaForm->defineCreate($projectUid, $arrayData);
$arrayData = $dynaForm->defineCreate($prj_uid, $request_data);
$response = $arrayData;
@@ -53,83 +57,40 @@ class DynaForm extends Api
}
/**
* @url PUT /:projectUid/dynaform/:dynaFormUid
* @url PUT /:prj_uid/dynaform/:dyn_uid
*
* @param string $dynaFormUid
* @param string $projectUid
* @param DynaFormPutStructure $request_data
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
* @param array $request_data
*/
public function doPutDynaForm($dynaFormUid, $projectUid, DynaFormPutStructure $request_data = null)
public function doPutDynaForm($dyn_uid, $prj_uid, $request_data)
{
try {
$dynaForm = new \BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
$arrayData = $dynaForm->getArrayDataFromRequestData($request_data);
$arrayData = $dynaForm->update($dynaFormUid, $arrayData);
$arrayData = $dynaForm->update($dyn_uid, $request_data);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url DELETE /:projectUid/dynaform/:dynaFormUid
* @url DELETE /:prj_uid/dynaform/:dyn_uid
*
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doDeleteDynaForm($dynaFormUid, $projectUid)
public function doDeleteDynaForm($dyn_uid, $prj_uid)
{
try {
$dynaForm = new \BusinessModel\DynaForm();
$dynaForm->setFormatFieldNameInUppercase(false);
$dynaForm->delete($dynaFormUid);
$dynaForm->delete($dyn_uid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
}
class DynaFormPostStructure
{
/**
* @var string {@from body}{@required true}
*/
public $dyn_title;
/**
* @var string {@from body}
*/
public $dyn_description;
/**
* @var string {@from body}{@choice xmlform,grid}{@required true}
*/
public $dyn_type;
/**
* @var array {@from body}{@type associative}
*/
public $copy_import;
/**
* @var array {@from body}{@type associative}
*/
public $pmtable;
}
class DynaFormPutStructure
{
/**
* @var string {@from body}
*/
public $dyn_title;
/**
* @var string {@from body}
*/
public $dyn_description;
/**
* @var string {@from body}{@choice xmlform,grid}{@required true}
*/
public $dyn_type;
}