Files
luos/database/factories/DelegationFactory.php

194 lines
7.0 KiB
PHP
Raw Normal View History

2019-04-25 21:15:43 -04:00
<?php
2019-09-03 16:06:15 -04:00
2019-04-25 21:15:43 -04:00
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\Delegation::class, function(Faker $faker) {
$user = factory(\ProcessMaker\Model\User::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create();
$task = factory(\ProcessMaker\Model\Task::class)->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = factory(\ProcessMaker\Model\Application::class)->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
2019-09-03 16:06:15 -04:00
// Return with default values
return [
2020-12-09 19:04:05 -04:00
'DELEGATION_ID' => $faker->unique()->numberBetween(5000),
'APP_UID' => $application->APP_UID,
2019-09-03 16:06:15 -04:00
'DEL_INDEX' => 1,
'APP_NUMBER' => $application->APP_NUMBER,
2019-09-03 16:06:15 -04:00
'DEL_PREVIOUS' => 0,
'PRO_UID' => $process->PRO_UID,
'TAS_UID' => $task->TAS_UID,
'USR_UID' => $user->USR_UID,
2019-09-03 16:06:15 -04:00
'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1,
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $faker->dateTime(),
'DEL_INIT_DATE' => $faker->dateTime(),
'DEL_TASK_DUE_DATE' => $faker->dateTime(),
'DEL_RISK_DATE' => $faker->dateTime(),
2020-12-02 17:15:01 -04:00
'DEL_LAST_INDEX' => 0,
'USR_ID' => $user->USR_ID,
'PRO_ID' => $process->PRO_ID,
'TAS_ID' => $task->TAS_ID,
2020-12-07 09:21:51 -04:00
'DEL_DATA' => '',
'DEL_TITLE' => $faker->word()
2019-09-03 16:06:15 -04:00
];
});
2019-09-03 16:06:15 -04:00
// Create a delegation with the foreign keys
$factory->state(\ProcessMaker\Model\Delegation::class, 'foreign_keys', function (Faker $faker) {
// Create values in the foreign key relations
$user = factory(\ProcessMaker\Model\User::class)->create();
2020-10-21 16:56:11 -04:00
$category = factory(\ProcessMaker\Model\ProcessCategory::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create([
'PRO_CATEGORY' => $category->CATEGORY_UID,
'CATEGORY_ID' => $category->CATEGORY_ID
]);
$task = factory(\ProcessMaker\Model\Task::class)->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = factory(\ProcessMaker\Model\Application::class)->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
2019-05-24 12:45:10 -04:00
2021-07-29 17:28:35 -04:00
$delegateDate = $faker->dateTime();
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes');
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day');
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day');
2021-11-19 16:15:02 -04:00
$index = $faker->unique()->numberBetween(2000);
2021-07-29 17:28:35 -04:00
2019-05-24 12:45:10 -04:00
// Return with default values
2019-04-25 21:15:43 -04:00
return [
2020-12-09 19:04:05 -04:00
'DELEGATION_ID' => $faker->unique()->numberBetween(5000),
2019-09-03 16:06:15 -04:00
'APP_UID' => $application->APP_UID,
2021-11-19 16:15:02 -04:00
'DEL_INDEX' => $index,
2019-09-03 16:06:15 -04:00
'APP_NUMBER' => $application->APP_NUMBER,
2021-11-19 16:15:02 -04:00
'DEL_PREVIOUS' => $index - 1,
2019-09-03 16:06:15 -04:00
'PRO_UID' => $process->PRO_UID,
2019-04-25 21:15:43 -04:00
'TAS_UID' => $task->TAS_UID,
'USR_UID' => $user->USR_UID,
'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1,
2020-12-22 15:21:08 -04:00
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_PRIORITY' => 3,
2021-07-29 17:28:35 -04:00
'DEL_DELEGATE_DATE' => $delegateDate,
'DEL_INIT_DATE' => $initDate,
'DEL_TASK_DUE_DATE' => $taskDueDate,
'DEL_RISK_DATE' => $riskDate,
2021-03-30 10:03:46 -04:00
'DEL_LAST_INDEX' => 1,
2020-12-22 15:21:08 -04:00
'USR_ID' => $user->USR_ID,
'PRO_ID' => $process->PRO_ID,
'TAS_ID' => $task->TAS_ID,
'DEL_DATA' => '',
'DEL_TITLE' => $faker->word()
];
});
// Create a delegation with the foreign keys
$factory->state(\ProcessMaker\Model\Delegation::class, 'web_entry', function (Faker $faker) {
// Create values in the foreign key relations
$user = factory(\ProcessMaker\Model\User::class)->create();
$category = factory(\ProcessMaker\Model\ProcessCategory::class)->create();
$process = factory(\ProcessMaker\Model\Process::class)->create([
'PRO_CATEGORY' => $category->CATEGORY_UID,
'CATEGORY_ID' => $category->CATEGORY_ID
]);
$task = factory(\ProcessMaker\Model\Task::class)->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = factory(\ProcessMaker\Model\Application::class)->states('web_entry')->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
// Return with default values
return [
'DELEGATION_ID' => $faker->unique()->numberBetween(5000),
'APP_UID' => $application->APP_UID,
'DEL_INDEX' => 1,
'APP_NUMBER' => $application->APP_NUMBER,
'DEL_PREVIOUS' => 0,
'PRO_UID' => $process->PRO_UID,
'TAS_UID' => $task->TAS_UID,
'USR_UID' => $user->USR_UID,
'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1,
2019-04-25 21:15:43 -04:00
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $faker->dateTime(),
'DEL_INIT_DATE' => $faker->dateTime(),
'DEL_TASK_DUE_DATE' => $faker->dateTime(),
'DEL_RISK_DATE' => $faker->dateTime(),
'USR_ID' => $user->USR_ID,
2019-10-22 11:15:57 -04:00
'PRO_ID' => $process->PRO_ID,
2019-04-25 21:15:43 -04:00
'TAS_ID' => $task->TAS_ID,
2020-12-07 09:21:51 -04:00
'DEL_DATA' => '',
'DEL_TITLE' => $faker->word()
2019-04-25 21:15:43 -04:00
];
2019-05-24 12:45:10 -04:00
});
// Create a open delegation
$factory->state(\ProcessMaker\Model\Delegation::class, 'open', function (Faker $faker) {
// Create dates with sense
$delegateDate = $faker->dateTime();
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes');
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day');
2021-07-29 17:28:35 -04:00
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day');
2019-05-24 12:45:10 -04:00
return [
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_DELEGATE_DATE' => $delegateDate,
'DEL_INIT_DATE' => $initDate,
'DEL_RISK_DATE' => $riskDate,
'DEL_TASK_DUE_DATE' => $taskDueDate,
'DEL_FINISH_DATE' => null
];
});
// Create a closed delegation
$factory->state(\ProcessMaker\Model\Delegation::class, 'closed', function (Faker $faker) {
// Create dates with sense
$delegateDate = $faker->dateTime();
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes');
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day');
2021-07-29 17:28:35 -04:00
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day');
2019-05-24 12:45:10 -04:00
$finishDate = $faker->dateTimeInInterval($initDate, '+10 days');
return [
'DEL_THREAD_STATUS' => 'CLOSED',
'DEL_DELEGATE_DATE' => $delegateDate,
'DEL_INIT_DATE' => $initDate,
'DEL_RISK_DATE' => $riskDate,
'DEL_TASK_DUE_DATE' => $taskDueDate,
'DEL_FINISH_DATE' => $finishDate
];
});
2020-10-21 16:56:11 -04:00
// Create a last delegation
$factory->state(\ProcessMaker\Model\Delegation::class, 'last_thread', function (Faker $faker) {
2021-08-02 13:06:17 -04:00
2020-10-21 16:56:11 -04:00
return [
'DEL_LAST_INDEX' => 1,
];
});
2021-08-02 13:06:17 -04:00
// Create a first delegation
$factory->state(\ProcessMaker\Model\Delegation::class, 'first_thread', function (Faker $faker) {
return [
'DEL_INDEX' => 1,
'DEL_PREVIOUS' => 0,
];
});