Merged in bugfix/PMCORE-1163 (pull request #7254)

PMCORE-1163

Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
Paula Quispe
2020-02-14 17:05:07 +00:00
committed by Julio Cesar Laura Avendaño
3 changed files with 115 additions and 639 deletions

View File

@@ -3,18 +3,49 @@
* Model factory for a list unassigned
*/
use Faker\Generator as Faker;
use ProcessMaker\Model\Application;
use ProcessMaker\Model\Process;
use ProcessMaker\Model\Task;
use ProcessMaker\Model\User;
$factory->define(\ProcessMaker\Model\ListUnassigned::class, function (Faker $faker) {
$app = factory(\ProcessMaker\Model\Application::class)->states('foreign_keys')->create();
$user = factory(\ProcessMaker\Model\User::class)->create();
$process = \ProcessMaker\Model\Process::where('PRO_UID', $app->PRO_UID)->first();
$task = $process->tasks->first();
$factory->define(\ProcessMaker\Model\ListUnassigned::class, function(Faker $faker) {
return [
'APP_UID' => G::generateUniqueID(),
'DEL_INDEX' => 2,
'TAS_UID' => G::generateUniqueID(),
'PRO_UID' => G::generateUniqueID(),
'APP_NUMBER' => $faker->unique()->numberBetween(1000),
'APP_TITLE' => $faker->sentence(3),
'APP_PRO_TITLE' => $faker->sentence(3),
'APP_TAS_TITLE' => $faker->sentence(3),
'DEL_PREVIOUS_USR_USERNAME' => $faker->name,
'DEL_PREVIOUS_USR_FIRSTNAME' => $faker->firstName,
'DEL_PREVIOUS_USR_LASTNAME' => $faker->lastName,
'APP_UPDATE_DATE' => $faker->dateTime(),
'DEL_PREVIOUS_USR_UID' => G::generateUniqueID(),
'DEL_DELEGATE_DATE' => $faker->dateTime(),
'DEL_DUE_DATE' => $faker->dateTime(),
'DEL_PRIORITY' => 3,
'PRO_ID' => $faker->unique()->numberBetween(1000),
'TAS_ID' => $faker->unique()->numberBetween(1000),
];
});
$factory->state(\ProcessMaker\Model\ListUnassigned::class, 'foreign_keys', function (Faker $faker) {
$process = factory(Process::class)->create();
$app = factory(Application::class)->create(['PRO_UID' => $process->PRO_UID]);
$user = factory(User::class)->create();
$task = factory(Task::class)->create([
'TAS_ASSIGN_TYPE' => 'SELF_SERVICE', // Define a self-service type
'TAS_GROUP_VARIABLE' => '',
'PRO_UID' => $process->PRO_UID
]);
return [
'APP_UID' => $app->APP_UID,
'DEL_INDEX' => 1,
'DEL_INDEX' => 2,
'TAS_UID' => $task->TAS_UID,
'PRO_UID' => $app->PRO_UID,
'PRO_UID' => $process->PRO_UID,
'APP_NUMBER' => $app->APP_NUMBER,
'APP_TITLE' => $app->APP_TITLE,
'APP_PRO_TITLE' => $process->PRO_TITLE,

View File

@@ -110,43 +110,6 @@ class ListUnassigned extends Model
return $result;
}
/**
* Count the self-services cases by user
*
* @param string $usrUid
*
* @return integer
*/
public static function countSelfService($usrUid)
{
//Get the task self services related to the user
$taskSelfService = TaskUser::getSelfServicePerUser($usrUid);
//Get the task self services value based related to the user
$selfServiceValueBased = AppAssignSelfServiceValue::getSelfServiceCasesByEvaluatePerUser($usrUid);
//Start the query for get the cases related to the user
$query = ListUnassigned::query()->select('APP_NUMBER');
//Get the cases unassigned
if (!empty($selfServiceValueBased)) {
$query->where(function ($query) use ($selfServiceValueBased, $taskSelfService) {
//Get the cases related to the task self service
$query->tasksIn($taskSelfService);
foreach ($selfServiceValueBased as $case) {
//Get the cases related to the task self service value based
$query->orWhere(function ($query) use ($case) {
$query->case($case['APP_NUMBER'])->index($case['DEL_INDEX'])->task($case['TAS_ID']);
});
}
});
} else {
//Get the cases related to the task self service
$query->tasksIn($taskSelfService);
}
return $query->count();
}
/**
* Search data
*