PMCORE-3971 (apply changes from feature branch/PMCORE-3871 that were reverted to avoid conflicts) 3.8.x: Solve the conflicts to merge this epic into develop

This commit is contained in:
Roly Gutierrez
2022-09-13 11:32:56 -04:00
parent ea7ca8fb67
commit ab84ba5a2e
5 changed files with 2687 additions and 2006 deletions

4183
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,197 +1,250 @@
<?php <?php
use Faker\Generator as Faker; namespace Database\Factories;
$factory->define(\ProcessMaker\Model\Delegation::class, function(Faker $faker) { use App\Factories\Factory;
$user = factory(\ProcessMaker\Model\User::class)->create(); use Illuminate\Support\Str;
$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
]);
// 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,
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_THREAD_STATUS_ID' => 1,
'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $faker->dateTime(),
'DEL_INIT_DATE' => $faker->dateTime(),
'DEL_TASK_DUE_DATE' => $faker->dateTime(),
'DEL_RISK_DATE' => $faker->dateTime(),
'DEL_LAST_INDEX' => 0,
'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 class DelegationFactory extends Factory
$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();
$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
]);
$delegateDate = $faker->dateTime(); /**
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes'); * Define the model's default state.
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day'); *
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day'); * @return array
$index = $faker->unique()->numberBetween(2000); */
public function definition()
{
$user = \ProcessMaker\Model\User::factory()->create();
$process = \ProcessMaker\Model\Process::factory()->create();
$task = \ProcessMaker\Model\Task::factory()->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = \ProcessMaker\Model\Application::factory()->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' => $this->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,
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_THREAD_STATUS_ID' => 1,
'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $this->faker->dateTime(),
'DEL_INIT_DATE' => $this->faker->dateTime(),
'DEL_TASK_DUE_DATE' => $this->faker->dateTime(),
'DEL_RISK_DATE' => $this->faker->dateTime(),
'DEL_LAST_INDEX' => 0,
'USR_ID' => $user->USR_ID,
'PRO_ID' => $process->PRO_ID,
'TAS_ID' => $task->TAS_ID,
'DEL_DATA' => '',
'DEL_TITLE' => $this->faker->word()
];
}
// Return with default values /**
return [ * Create a delegation with the foreign keys
'DELEGATION_ID' => $faker->unique()->numberBetween(5000), * @return type
'APP_UID' => $application->APP_UID, */
'DEL_INDEX' => $index, public function foreign_keys()
'APP_NUMBER' => $application->APP_NUMBER, {
'DEL_PREVIOUS' => $index - 1, $state = function (array $attributes) {
'PRO_UID' => $process->PRO_UID, // Create values in the foreign key relations
'TAS_UID' => $task->TAS_UID, $user = \ProcessMaker\Model\User::factory()->create();
'USR_UID' => $user->USR_UID, $category = \ProcessMaker\Model\ProcessCategory::factory()->create();
'DEL_TYPE' => 'NORMAL', $process = \ProcessMaker\Model\Process::factory()->create([
'DEL_THREAD' => 1, 'PRO_CATEGORY' => $category->CATEGORY_UID,
'DEL_THREAD_STATUS' => 'OPEN', 'CATEGORY_ID' => $category->CATEGORY_ID
'DEL_THREAD_STATUS_ID' => 1, ]);
'DEL_PRIORITY' => 3, $task = \ProcessMaker\Model\Task::factory()->create([
'DEL_DELEGATE_DATE' => $delegateDate, 'PRO_UID' => $process->PRO_UID,
'DEL_INIT_DATE' => $initDate, 'PRO_ID' => $process->PRO_ID
'DEL_TASK_DUE_DATE' => $taskDueDate, ]);
'DEL_RISK_DATE' => $riskDate, $application = \ProcessMaker\Model\Application::factory()->create([
'DEL_LAST_INDEX' => 1, 'PRO_UID' => $process->PRO_UID,
'USR_ID' => $user->USR_ID, 'APP_INIT_USER' => $user->USR_UID,
'PRO_ID' => $process->PRO_ID, 'APP_CUR_USER' => $user->USR_UID
'TAS_ID' => $task->TAS_ID, ]);
'DEL_DATA' => '',
'DEL_TITLE' => $faker->word()
];
});
// Create a delegation with the foreign keys $delegateDate = $this->faker->dateTime();
$factory->state(\ProcessMaker\Model\Delegation::class, 'web_entry', function (Faker $faker) { $initDate = $this->faker->dateTimeInInterval($delegateDate, '+30 minutes');
// Create values in the foreign key relations $riskDate = $this->faker->dateTimeInInterval($initDate, '+1 day');
$user = factory(\ProcessMaker\Model\User::class)->create(); $taskDueDate = $this->faker->dateTimeInInterval($riskDate, '+2 day');
$category = factory(\ProcessMaker\Model\ProcessCategory::class)->create(); $index = $this->faker->unique()->numberBetween(2000);
$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 with default values
return [ return [
'DELEGATION_ID' => $faker->unique()->numberBetween(5000), 'DELEGATION_ID' => $this->faker->unique()->numberBetween(5000),
'APP_UID' => $application->APP_UID, 'APP_UID' => $application->APP_UID,
'DEL_INDEX' => 1, 'DEL_INDEX' => $index,
'APP_NUMBER' => $application->APP_NUMBER, 'APP_NUMBER' => $application->APP_NUMBER,
'DEL_PREVIOUS' => 0, 'DEL_PREVIOUS' => $index - 1,
'PRO_UID' => $process->PRO_UID, 'PRO_UID' => $process->PRO_UID,
'TAS_UID' => $task->TAS_UID, 'TAS_UID' => $task->TAS_UID,
'USR_UID' => $user->USR_UID, 'USR_UID' => $user->USR_UID,
'DEL_TYPE' => 'NORMAL', 'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1, 'DEL_THREAD' => 1,
'DEL_THREAD_STATUS' => 'OPEN', 'DEL_THREAD_STATUS' => 'OPEN',
'DEL_THREAD_STATUS_ID' => 1, 'DEL_THREAD_STATUS_ID' => 1,
'DEL_PRIORITY' => 3, 'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $faker->dateTime(), 'DEL_DELEGATE_DATE' => $delegateDate,
'DEL_INIT_DATE' => $faker->dateTime(), 'DEL_INIT_DATE' => $initDate,
'DEL_TASK_DUE_DATE' => $faker->dateTime(), 'DEL_TASK_DUE_DATE' => $taskDueDate,
'DEL_RISK_DATE' => $faker->dateTime(), 'DEL_RISK_DATE' => $riskDate,
'USR_ID' => $user->USR_ID, 'DEL_LAST_INDEX' => 1,
'PRO_ID' => $process->PRO_ID, 'USR_ID' => $user->USR_ID,
'TAS_ID' => $task->TAS_ID, 'PRO_ID' => $process->PRO_ID,
'DEL_DATA' => '', 'TAS_ID' => $task->TAS_ID,
'DEL_TITLE' => $faker->word() 'DEL_DATA' => '',
]; 'DEL_TITLE' => $this->faker->word()
}); ];
};
return $this->state($state);
}
// Create a open delegation /**
$factory->state(\ProcessMaker\Model\Delegation::class, 'open', function (Faker $faker) { * Create a delegation with the foreign keys
// Create dates with sense * @return type
$delegateDate = $faker->dateTime(); */
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes'); public function web_entry()
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day'); {
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day'); $state = function (array $attributes) {
// Create values in the foreign key relations
$user = \ProcessMaker\Model\User::factory()->create();
$category = \ProcessMaker\Model\ProcessCategory::factory()->create();
$process = \ProcessMaker\Model\Process::factory()->create([
'PRO_CATEGORY' => $category->CATEGORY_UID,
'CATEGORY_ID' => $category->CATEGORY_ID
]);
$task = \ProcessMaker\Model\Task::factory()->create([
'PRO_UID' => $process->PRO_UID,
'PRO_ID' => $process->PRO_ID
]);
$application = \ProcessMaker\Model\Application::factory()->web_entry()->create([
'PRO_UID' => $process->PRO_UID,
'APP_INIT_USER' => $user->USR_UID,
'APP_CUR_USER' => $user->USR_UID
]);
return [ // Return with default values
'DEL_THREAD_STATUS' => 'OPEN', return [
'DEL_THREAD_STATUS_ID' => 1, 'DELEGATION_ID' => $this->faker->unique()->numberBetween(5000),
'DEL_DELEGATE_DATE' => $delegateDate, 'APP_UID' => $application->APP_UID,
'DEL_INIT_DATE' => $initDate, 'DEL_INDEX' => 1,
'DEL_RISK_DATE' => $riskDate, 'APP_NUMBER' => $application->APP_NUMBER,
'DEL_TASK_DUE_DATE' => $taskDueDate, 'DEL_PREVIOUS' => 0,
'DEL_FINISH_DATE' => null 'PRO_UID' => $process->PRO_UID,
]; 'TAS_UID' => $task->TAS_UID,
}); 'USR_UID' => $user->USR_UID,
'DEL_TYPE' => 'NORMAL',
'DEL_THREAD' => 1,
'DEL_THREAD_STATUS' => 'OPEN',
'DEL_THREAD_STATUS_ID' => 1,
'DEL_PRIORITY' => 3,
'DEL_DELEGATE_DATE' => $this->faker->dateTime(),
'DEL_INIT_DATE' => $this->faker->dateTime(),
'DEL_TASK_DUE_DATE' => $this->faker->dateTime(),
'DEL_RISK_DATE' => $this->faker->dateTime(),
'USR_ID' => $user->USR_ID,
'PRO_ID' => $process->PRO_ID,
'TAS_ID' => $task->TAS_ID,
'DEL_DATA' => '',
'DEL_TITLE' => $this->faker->word()
];
};
return $this->state($state);
}
// Create a closed delegation /**
$factory->state(\ProcessMaker\Model\Delegation::class, 'closed', function (Faker $faker) { * Create a open delegation
// Create dates with sense * @return type
$delegateDate = $faker->dateTime(); */
$initDate = $faker->dateTimeInInterval($delegateDate, '+30 minutes'); public function open()
$riskDate = $faker->dateTimeInInterval($initDate, '+1 day'); {
$taskDueDate = $faker->dateTimeInInterval($riskDate, '+2 day'); $state = function (array $attributes) {
$finishDate = $faker->dateTimeInInterval($initDate, '+10 days'); // Create dates with sense
$delegateDate = $this->faker->dateTime();
$initDate = $this->faker->dateTimeInInterval($delegateDate, '+30 minutes');
$riskDate = $this->faker->dateTimeInInterval($initDate, '+1 day');
$taskDueDate = $this->faker->dateTimeInInterval($riskDate, '+2 day');
return [ return [
'DEL_THREAD_STATUS' => 'CLOSED', 'DEL_THREAD_STATUS' => 'OPEN',
'DEL_DELEGATE_DATE' => $delegateDate, 'DEL_THREAD_STATUS_ID' => 1,
'DEL_INIT_DATE' => $initDate, 'DEL_DELEGATE_DATE' => $delegateDate,
'DEL_RISK_DATE' => $riskDate, 'DEL_INIT_DATE' => $initDate,
'DEL_TASK_DUE_DATE' => $taskDueDate, 'DEL_RISK_DATE' => $riskDate,
'DEL_FINISH_DATE' => $finishDate 'DEL_TASK_DUE_DATE' => $taskDueDate,
]; 'DEL_FINISH_DATE' => null
}); ];
};
return $this->state($state);
}
// Create a last delegation /**
$factory->state(\ProcessMaker\Model\Delegation::class, 'last_thread', function (Faker $faker) { * Create a closed delegation
* @return type
*/
public function closed()
{
$state = function (array $attributes) {
// Create dates with sense
$delegateDate = $this->faker->dateTime();
$initDate = $this->faker->dateTimeInInterval($delegateDate, '+30 minutes');
$riskDate = $this->faker->dateTimeInInterval($initDate, '+1 day');
$taskDueDate = $this->faker->dateTimeInInterval($riskDate, '+2 day');
$finishDate = $this->faker->dateTimeInInterval($initDate, '+10 days');
return [ return [
'DEL_LAST_INDEX' => 1, '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
];
};
return $this->state($state);
}
// Create a first delegation /**
$factory->state(\ProcessMaker\Model\Delegation::class, 'first_thread', function (Faker $faker) { * Create a last delegation
* @return type
*/
public function last_thread()
{
$state = function (array $attributes) {
return [
'DEL_LAST_INDEX' => 1,
];
};
return $this->state($state);
}
return [ /**
'DEL_INDEX' => 1, * Create a first delegation
'DEL_PREVIOUS' => 0, * @return type
]; */
}); public function first_thread()
{
$state = function (array $attributes) {
return [
'DEL_INDEX' => 1,
'DEL_PREVIOUS' => 0,
];
};
return $this->state($state);
}
}

View File

@@ -1,34 +1,46 @@
<?php <?php
/**
* Model factory for web entries
*/
use Faker\Generator as Faker;
$factory->define(\ProcessMaker\Model\WebEntry::class, function(Faker $faker) { namespace Database\Factories;
return [
'WE_UID' => G::generateUniqueID(), use App\Factories\Factory;
'PRO_UID' => G::generateUniqueID(), use G;
'TAS_UID' => G::generateUniqueID(), use Illuminate\Support\Str;
'DYN_UID' => G::generateUniqueID(),
'USR_UID' => G::generateUniqueID(), class WebEntryFactory extends Factory
'WE_METHOD' => $faker->randomElement(['WS', 'HTML']), {
'WE_INPUT_DOCUMENT_ACCESS' => $faker->randomElement([0, 1]),
'WE_DATA' => G::generateUniqueID() . '.php', /**
'WE_CREATE_USR_UID' => G::generateUniqueID(), * Define the model's default state.
'WE_UPDATE_USR_UID' => G::generateUniqueID(), *
'WE_CREATE_DATE' => $faker->date('Y-m-d H:i:s', 'now'), * @return array
'WE_UPDATE_DATE' => $faker->date('Y-m-d H:i:s', 'now'), */
'WE_TYPE' => $faker->randomElement(['SINGLE', 'MULTIPLE']), public function definition()
'WE_CUSTOM_TITLE' => $faker->words(5, true), {
'WE_AUTHENTICATION' => $faker->randomElement(['LOGIN_REQUIRED', 'ANONYMOUS']), return [
'WE_HIDE_INFORMATION_BAR' => $faker->randomElement(['0', '1']), 'WE_UID' => G::generateUniqueID(),
'WE_HIDE_ACTIVE_SESSION_WARNING' => $faker->randomElement(['0', '1']), 'PRO_UID' => G::generateUniqueID(),
'WE_CALLBACK' => $faker->randomElement(['PROCESSMAKER', 'CUSTOM', 'CUSTOM_CLEAR']), 'TAS_UID' => G::generateUniqueID(),
'WE_CALLBACK_URL' => $faker->url, 'DYN_UID' => G::generateUniqueID(),
'WE_LINK_GENERATION' => $faker->randomElement(['DEFAULT', 'ADVANCED']), 'USR_UID' => G::generateUniqueID(),
'WE_LINK_SKIN' => 'classic', 'WE_METHOD' => $this->faker->randomElement(['WS', 'HTML']),
'WE_LINK_LANGUAGE' => 'en', 'WE_INPUT_DOCUMENT_ACCESS' => $this->faker->randomElement([0, 1]),
'WE_LINK_DOMAIN' => $faker->domainName, 'WE_DATA' => G::generateUniqueID() . '.php',
'WE_SHOW_IN_NEW_CASE' => $faker->randomElement(['0', '1']) 'WE_CREATE_USR_UID' => G::generateUniqueID(),
]; 'WE_UPDATE_USR_UID' => G::generateUniqueID(),
}); 'WE_CREATE_DATE' => $this->faker->date('Y-m-d H:i:s', 'now'),
'WE_UPDATE_DATE' => $this->faker->date('Y-m-d H:i:s', 'now'),
'WE_TYPE' => $this->faker->randomElement(['SINGLE', 'MULTIPLE']),
'WE_CUSTOM_TITLE' => $this->faker->words(5, true),
'WE_AUTHENTICATION' => $this->faker->randomElement(['LOGIN_REQUIRED', 'ANONYMOUS']),
'WE_HIDE_INFORMATION_BAR' => $this->faker->randomElement(['0', '1']),
'WE_HIDE_ACTIVE_SESSION_WARNING' => $this->faker->randomElement(['0', '1']),
'WE_CALLBACK' => $this->faker->randomElement(['PROCESSMAKER', 'CUSTOM', 'CUSTOM_CLEAR']),
'WE_CALLBACK_URL' => $this->faker->url,
'WE_LINK_GENERATION' => $this->faker->randomElement(['DEFAULT', 'ADVANCED']),
'WE_LINK_SKIN' => 'classic',
'WE_LINK_LANGUAGE' => 'en',
'WE_LINK_DOMAIN' => $this->faker->domainName,
'WE_SHOW_IN_NEW_CASE' => $this->faker->randomElement(['0', '1'])
];
}
}

View File

@@ -17,7 +17,7 @@ class ServerTest extends TestCase
/** /**
* Setup method. * Setup method.
*/ */
public function setUp() public function setUp(): void
{ {
parent::setUp(); parent::setUp();
$this->server = $_SERVER; $this->server = $_SERVER;
@@ -29,7 +29,7 @@ class ServerTest extends TestCase
/** /**
* Teardown method. * Teardown method.
*/ */
public function tearDown() public function tearDown(): void
{ {
parent::tearDown(); parent::tearDown();
$_SERVER = $this->server; $_SERVER = $this->server;
@@ -43,7 +43,7 @@ class ServerTest extends TestCase
public function it_should_test_post_token_with_valid_credentials() public function it_should_test_post_token_with_valid_credentials()
{ {
$user = User::where('USR_ID', '=', 1)->first(); $user = User::where('USR_ID', '=', 1)->first();
$oauthClients = factory(OauthClients::class)->create([ $oauthClients = OauthClients::factory()->create([
"USR_UID" => $user->USR_UID "USR_UID" => $user->USR_UID
]); ]);
@@ -81,7 +81,7 @@ class ServerTest extends TestCase
public function it_should_test_post_token_with_return_handle_token() public function it_should_test_post_token_with_return_handle_token()
{ {
$user = User::where('USR_ID', '=', 1)->first(); $user = User::where('USR_ID', '=', 1)->first();
$oauthClients = factory(OauthClients::class)->create([ $oauthClients = OauthClients::factory()->create([
"USR_UID" => $user->USR_UID "USR_UID" => $user->USR_UID
]); ]);
@@ -117,7 +117,7 @@ class ServerTest extends TestCase
public function it_should_test_post_token_with_empty_client_id() public function it_should_test_post_token_with_empty_client_id()
{ {
$user = User::where('USR_ID', '=', 1)->first(); $user = User::where('USR_ID', '=', 1)->first();
$oauthClients = factory(OauthClients::class)->create([ $oauthClients = OauthClients::factory()->create([
"USR_UID" => $user->USR_UID "USR_UID" => $user->USR_UID
]); ]);
@@ -202,7 +202,7 @@ class ServerTest extends TestCase
file_put_contents($filename, $data); file_put_contents($filename, $data);
LicenseManager::truncate(); LicenseManager::truncate();
factory(LicenseManager::class)->create([ LicenseManager::factory()->create([
"LICENSE_DATA" => $data, "LICENSE_DATA" => $data,
"LICENSE_PATH" => $filename, "LICENSE_PATH" => $filename,
"LICENSE_WORKSPACE" => env('MAIN_SYS_SYS') "LICENSE_WORKSPACE" => env('MAIN_SYS_SYS')

View File

@@ -140,15 +140,14 @@ class Capsule {
} }
} }
@ini_set('track_errors', true);
include $__template; include $__template;
@ini_restore('track_errors');
// restore the include path // restore the include path
ini_set('include_path', $__old_inc_path); ini_set('include_path', $__old_inc_path);
if (!empty($php_errormsg)) { $lastError = error_get_last();
throw new Exception("Unable to parse template " . $__template . ": " . $php_errormsg); if (!empty($lastError['message'])) {
throw new Exception("Unable to parse template " . $__template . ": " . $lastError['message']);
} }
} }