Merged in darojas/processmaker (pull request #146)

Se agregan validaciones en ASSIGNEE. Se ajustan main_test BEHAT para ASSIGNEE
This commit is contained in:
erik ao
2014-02-05 11:41:33 -04:00
5 changed files with 162 additions and 10 deletions

View File

@@ -66,7 +66,7 @@ Feature: Project Properties -Adhoc Assignee Resources
Examples:
| test_description | project | activity | records | ada_uid | ada_type |
| Verify that the activity has expected quantity of asignees | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 5 | 54731929352d56741de9d42002704749 | group |
| Verify that the activity has expected quantity of asignees | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 4 | 54731929352d56741de9d42002704749 | group |
| Verify that the activity has expected quantity of asignees | 4224292655297723eb98691001100052 | 68911670852a22d93c22c06005808422 | 1 | 36775342552d5674146d9c2078497230 | group |
@@ -119,7 +119,7 @@ Feature: Project Properties -Adhoc Assignee Resources
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "array"
And the response has 2 records
And the response has 1 records

View File

@@ -19,7 +19,7 @@ Feature: Assignee Resources
Examples:
| test_description | project | activity | records | aas_uid | aas_type |
| check if the list of possible users and groups to be assigned is correct | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 82 | 54731929352d56741de9d42002704749 | group |
| check if the list of possible users and groups to be assigned is correct | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 81 | 54731929352d56741de9d42002704749 | group |
Scenario Outline: Get the list of available users and groups to be assigned to an activity using filter
Given I request "project/4224292655297723eb98691001100052/activity/65496814252977243d57684076211485/available-assignee?filter=<filter>&start=<start>&limit=<limit>"

View File

@@ -19,7 +19,7 @@ Feature: Assignee Resources
Examples:
| test_description | project | activity | records | aas_uid | aas_type |
| check if the list of possible users and groups to be assigned is correct | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 82 | 54731929352d56741de9d42002704749 | group |
| check if the list of possible users and groups to be assigned is correct | 4224292655297723eb98691001100052 | 65496814252977243d57684076211485 | 81 | 54731929352d56741de9d42002704749 | group |
Scenario Outline: Get the list of available users and groups to be assigned to an activity using filter
Given I request "project/<project>/activity/<activity>/available-assignee?filter=<filter>&start=<start>&limit=<limit>"

View File

@@ -39,7 +39,7 @@ Feature: Process supervisor Resources
Examples:
| test_description | project | records |
| List users and groups available to be supervisors | 85794888452ceeef3675164057928956 | 24 |
| List users and groups available to be supervisors | 85794888452ceeef3675164057928956 | 23 |
Scenario Outline: Get a List of available groups process supervisor of a project
@@ -52,7 +52,7 @@ Feature: Process supervisor Resources
Examples:
| test_description | project | records |
| List the 23 groups available to be supervisors | 85794888452ceeef3675164057928956 | 23 |
| List the 23 groups available to be supervisors | 85794888452ceeef3675164057928956 | 22 |
Scenario Outline: Get a List of available users elegible as process supervisor

View File

@@ -656,6 +656,9 @@ class Task
public function getTaskAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
{
try {
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "RbacUsers.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "TaskUser.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "GroupUser.php");
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
if (is_null($oProcess)) {
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
@@ -697,7 +700,42 @@ class Task
return $aUsers;
}
}
$result = $groups->getAllGroup($start, $limit, $filter);
$totalCount = 0;
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
$totalRows = \GroupwfPeer::doCount( $criteria );
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addSelectColumn( \GroupwfPeer::GRP_STATUS );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UX );
$criteria->addAsColumn( 'GRP_TITLE', \ContentPeer::CON_VALUE );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
if ($start != '') {
$criteria->setOffset( $start );
}
if ($limit != '') {
$criteria->setLimit( $limit );
}
if ($filter != '') {
$criteria->add( \ContentPeer::CON_VALUE, '%' . $filter . '%', \Criteria::LIKE );
}
$oDataset = \GroupwfPeer::doSelectRS( $criteria );
$oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$processes = Array ();
$uids = array ();
$groups = array ();
$aGroups = array ();
while ($oDataset->next()) {
$groups[] = $oDataset->getRow();
}
$result = array ('rows' => $groups,'totalCount' => $totalRows);
foreach ($result['rows'] as $results) {
if (in_array($results['GRP_UID'], $aUIDS1)) {
$c++;
@@ -785,6 +823,9 @@ class Task
public function getTaskAvailableAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
{
try {
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "RbacUsers.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "TaskUser.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "GroupUser.php");
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
if (is_null($oProcess)) {
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
@@ -823,7 +864,42 @@ class Task
return $aUsers;
}
}
$result = $groups->getAllGroup($start, $limit, $filter);
$totalCount = 0;
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
$totalRows = \GroupwfPeer::doCount( $criteria );
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addSelectColumn( \GroupwfPeer::GRP_STATUS );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UX );
$criteria->addAsColumn( 'GRP_TITLE', \ContentPeer::CON_VALUE );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
if ($start != '') {
$criteria->setOffset( $start );
}
if ($limit != '') {
$criteria->setLimit( $limit );
}
if ($filter != '') {
$criteria->add( \ContentPeer::CON_VALUE, '%' . $filter . '%', \Criteria::LIKE );
}
$oDataset = \GroupwfPeer::doSelectRS( $criteria );
$oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$processes = Array ();
$uids = array ();
$groups = array ();
$aGroups = array ();
while ($oDataset->next()) {
$groups[] = $oDataset->getRow();
}
$result = array ('rows' => $groups,'totalCount' => $totalRows);
foreach ($result['rows'] as $results) {
if (! in_array($results['GRP_UID'], $aUIDS1)) {
$c++;
@@ -1129,6 +1205,9 @@ class Task
public function getTaskAdhocAssignees($sProcessUID, $sTaskUID, $filter, $start, $limit)
{
try {
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "RbacUsers.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "TaskUser.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "GroupUser.php");
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
if (is_null($oProcess)) {
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
@@ -1170,7 +1249,42 @@ class Task
return $aUsers;
}
}
$result = $groups->getAllGroup($start, $limit, $filter);
$totalCount = 0;
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
$totalRows = \GroupwfPeer::doCount( $criteria );
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addSelectColumn( \GroupwfPeer::GRP_STATUS );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UX );
$criteria->addAsColumn( 'GRP_TITLE', \ContentPeer::CON_VALUE );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
if ($start != '') {
$criteria->setOffset( $start );
}
if ($limit != '') {
$criteria->setLimit( $limit );
}
if ($filter != '') {
$criteria->add( \ContentPeer::CON_VALUE, '%' . $filter . '%', \Criteria::LIKE );
}
$oDataset = \GroupwfPeer::doSelectRS( $criteria );
$oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$processes = Array ();
$uids = array ();
$groups = array ();
$aGroups = array ();
while ($oDataset->next()) {
$groups[] = $oDataset->getRow();
}
$result = array ('rows' => $groups,'totalCount' => $totalRows);
foreach ($result['rows'] as $results) {
if (in_array($results['GRP_UID'], $aUIDS1)) {
$c++;
@@ -1255,6 +1369,9 @@ class Task
public function getTaskAvailableAdhocAssignee($sProcessUID, $sTaskUID, $filter, $start, $limit)
{
try {
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "RbacUsers.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "TaskUser.php");
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "GroupUser.php");
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );
if (is_null($oProcess)) {
throw (new \Exception( 'This id for `prj_uid`: '. $sProcessUID .' do not correspond to a registered process'));
@@ -1293,7 +1410,42 @@ class Task
return $aUsers;
}
}
$result = $groups->getAllGroup($start, $limit, $filter);
$totalCount = 0;
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
$totalRows = \GroupwfPeer::doCount( $criteria );
$criteria = new \Criteria( 'workflow' );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UID );
$criteria->addSelectColumn( \GroupwfPeer::GRP_STATUS );
$criteria->addSelectColumn( \GroupwfPeer::GRP_UX );
$criteria->addAsColumn( 'GRP_TITLE', \ContentPeer::CON_VALUE );
$criteria->addJoin( \GroupwfPeer::GRP_UID, \ContentPeer::CON_ID, \Criteria::LEFT_JOIN );
$criteria->add( \ContentPeer::CON_CATEGORY, 'GRP_TITLE' );
$criteria->add( \ContentPeer::CON_LANG, SYS_LANG );
$criteria->addAscendingOrderByColumn( \ContentPeer::CON_VALUE );
if ($start != '') {
$criteria->setOffset( $start );
}
if ($limit != '') {
$criteria->setLimit( $limit );
}
if ($filter != '') {
$criteria->add( \ContentPeer::CON_VALUE, '%' . $filter . '%', \Criteria::LIKE );
}
$oDataset = \GroupwfPeer::doSelectRS( $criteria );
$oDataset->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
$processes = Array ();
$uids = array ();
$groups = array ();
$aGroups = array ();
while ($oDataset->next()) {
$groups[] = $oDataset->getRow();
}
$result = array ('rows' => $groups,'totalCount' => $totalRows);
foreach ($result['rows'] as $results) {
if (! in_array($results['GRP_UID'], $aUIDS1)) {
$c++;