From 2987dfa1fe3e0758d8fe25e6c7f2520901b086ba Mon Sep 17 00:00:00 2001 From: "Marco A. Nina Mena" Date: Mon, 13 Nov 2023 11:09:46 -0500 Subject: [PATCH 1/8] Add validation when field is array --- ProcessMaker/ImportExport/Manifest.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ProcessMaker/ImportExport/Manifest.php b/ProcessMaker/ImportExport/Manifest.php index 9624527cfb..9c2eb584d5 100644 --- a/ProcessMaker/ImportExport/Manifest.php +++ b/ProcessMaker/ImportExport/Manifest.php @@ -204,7 +204,11 @@ private static function handleCasts(&$model) break; case 'object': if (!is_object($model->$field)) { - $model->$field = json_decode($model->$field); + if (gettype($model->$field) !== 'array') { + $model->$field = json_decode($model->$field); + } else { + $model->$field = (object)$model->$field; + } } break; } From 885ae324025e3af6c3c36d6d9d2ee010ae22f38f Mon Sep 17 00:00:00 2001 From: Alex Runyan Date: Thu, 30 Nov 2023 13:08:43 -0500 Subject: [PATCH 2/8] Add revised clear-compiled artisan command --- .../Console/Commands/ClearCompiledCommand.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 ProcessMaker/Console/Commands/ClearCompiledCommand.php diff --git a/ProcessMaker/Console/Commands/ClearCompiledCommand.php b/ProcessMaker/Console/Commands/ClearCompiledCommand.php new file mode 100644 index 0000000000..6bacd4570a --- /dev/null +++ b/ProcessMaker/Console/Commands/ClearCompiledCommand.php @@ -0,0 +1,46 @@ +laravel->getCachedServicesPath())) { + @unlink($servicesPath); + } + + if (is_file($packagesPath = $this->laravel->getCachedPackagesPath())) { + @unlink($packagesPath); + } + + $this->info('Compiled services and packages files removed successfully.'); + + $this->call('package:discover'); + + $this->info('Package manifest regenerated.'); + } +} From 7cd544f18009c680de4061319a19e06b126671e9 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 30 Nov 2023 11:06:30 -0800 Subject: [PATCH 3/8] Use a listener instead of overwriting laravel commands --- .../Console/Commands/ClearCompiledCommand.php | 46 ------------------- .../Console/Commands/OptimizeClearCommand.php | 42 ----------------- .../Providers/LicenseServiceProvider.php | 7 +++ 3 files changed, 7 insertions(+), 88 deletions(-) delete mode 100644 ProcessMaker/Console/Commands/ClearCompiledCommand.php delete mode 100644 ProcessMaker/Console/Commands/OptimizeClearCommand.php diff --git a/ProcessMaker/Console/Commands/ClearCompiledCommand.php b/ProcessMaker/Console/Commands/ClearCompiledCommand.php deleted file mode 100644 index 6bacd4570a..0000000000 --- a/ProcessMaker/Console/Commands/ClearCompiledCommand.php +++ /dev/null @@ -1,46 +0,0 @@ -laravel->getCachedServicesPath())) { - @unlink($servicesPath); - } - - if (is_file($packagesPath = $this->laravel->getCachedPackagesPath())) { - @unlink($packagesPath); - } - - $this->info('Compiled services and packages files removed successfully.'); - - $this->call('package:discover'); - - $this->info('Package manifest regenerated.'); - } -} diff --git a/ProcessMaker/Console/Commands/OptimizeClearCommand.php b/ProcessMaker/Console/Commands/OptimizeClearCommand.php deleted file mode 100644 index 9870ffa33b..0000000000 --- a/ProcessMaker/Console/Commands/OptimizeClearCommand.php +++ /dev/null @@ -1,42 +0,0 @@ -components->info('Clearing cached bootstrap files.'); - - collect([ - 'events' => fn () => $this->callSilent('event:clear') == 0, - 'views' => fn () => $this->callSilent('view:clear') == 0, - 'route' => fn () => $this->callSilent('route:clear') == 0, - ])->each(fn ($task, $description) => $this->components->task($description, $task)); - - $this->newLine(); - } -} diff --git a/ProcessMaker/Providers/LicenseServiceProvider.php b/ProcessMaker/Providers/LicenseServiceProvider.php index 0ffe556584..8983174835 100644 --- a/ProcessMaker/Providers/LicenseServiceProvider.php +++ b/ProcessMaker/Providers/LicenseServiceProvider.php @@ -2,6 +2,7 @@ namespace ProcessMaker\Providers; +use Illuminate\Console\Events\CommandFinished; use Illuminate\Filesystem\Filesystem; use Illuminate\Foundation\PackageManifest; use Illuminate\Support\Carbon; @@ -17,6 +18,12 @@ class LicenseServiceProvider extends ServiceProvider { public function boot(): void { + $this->app['events']->listen(CommandFinished::class, function ($event) { + if ($event->command == 'clear-compiled' || $event->command == 'optimize:clear') { + LicensedPackageManifest::discoverPackagesOnce(); + } + }); + try { $expires = Cache::get(LicensedPackageManifest::EXPIRE_CACHE_KEY); } catch (ConnectionException $e) { From dd2acdcc9f126368b62eae248792d655fc53a7b7 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Thu, 30 Nov 2023 11:23:09 -0800 Subject: [PATCH 4/8] Use artisan command in case cache is not ready yet --- ProcessMaker/Providers/LicenseServiceProvider.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ProcessMaker/Providers/LicenseServiceProvider.php b/ProcessMaker/Providers/LicenseServiceProvider.php index 8983174835..d11701e3d1 100644 --- a/ProcessMaker/Providers/LicenseServiceProvider.php +++ b/ProcessMaker/Providers/LicenseServiceProvider.php @@ -6,6 +6,7 @@ use Illuminate\Filesystem\Filesystem; use Illuminate\Foundation\PackageManifest; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Cache; use Illuminate\Support\ServiceProvider; use Predis\Connection\ConnectionException; @@ -20,7 +21,7 @@ public function boot(): void { $this->app['events']->listen(CommandFinished::class, function ($event) { if ($event->command == 'clear-compiled' || $event->command == 'optimize:clear') { - LicensedPackageManifest::discoverPackagesOnce(); + Artisan::call('package:discover'); } }); From 17c0734c62bf87f9985e782a11b8ab917a3978cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Agust=C3=ADn=20Busso?= <90727999+agustinbusso@users.noreply.github.com> Date: Thu, 30 Nov 2023 15:18:02 -0300 Subject: [PATCH 5/8] Emit event activity activated to trigger email notification --- ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php b/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php index 6d79d5a381..c9ab01511a 100644 --- a/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php +++ b/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php @@ -10,6 +10,7 @@ use ProcessMaker\Nayra\Bpmn\Events\ActivityActivatedEvent; use ProcessMaker\Nayra\Bpmn\Events\ActivityClosedEvent; use ProcessMaker\Nayra\Bpmn\Events\ActivityCompletedEvent; +use ProcessMaker\Nayra\Contracts\Bpmn\ActivityInterface; use ProcessMaker\Repositories\TokenRepository; trait PersistenceTokenTrait @@ -32,6 +33,7 @@ public function persistActivityActivated(array $transaction) // Event $bpmnSubscriber = new BpmnSubscriber(); $event = new ActivityActivatedEvent($activity, $token); + app('events')->dispatch(ActivityInterface::EVENT_ACTIVITY_ACTIVATED, $event); $bpmnSubscriber->onActivityActivated($event); } From 2e455f10b7a4810f34ac4f3dc21e9788d843932e Mon Sep 17 00:00:00 2001 From: David Callizaya Date: Thu, 30 Nov 2023 16:31:19 -0400 Subject: [PATCH 6/8] Dispatch globally Activity Complete event --- .../Nayra/Repositories/PersistenceTokenTrait.php | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php b/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php index c9ab01511a..5673528eaf 100644 --- a/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php +++ b/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php @@ -31,10 +31,8 @@ public function persistActivityActivated(array $transaction) $this->tokenRepository->persistActivityActivated($activity, $token); // Event - $bpmnSubscriber = new BpmnSubscriber(); $event = new ActivityActivatedEvent($activity, $token); app('events')->dispatch(ActivityInterface::EVENT_ACTIVITY_ACTIVATED, $event); - $bpmnSubscriber->onActivityActivated($event); } /** @@ -65,13 +63,8 @@ public function persistActivityCompleted(array $transaction) $this->tokenRepository->persistActivityCompleted($activity, $token); // Event - $bpmnSubscriber = new BpmnSubscriber(); $event = new ActivityCompletedEvent($activity, $token); - $bpmnSubscriber->onActivityCompleted($event); - - // Comments - $subscriber = new CommentsSubscriber(); - $subscriber->onActivityCompleted($event); + app('events')->dispatch(ActivityInterface::EVENT_ACTIVITY_COMPLETED, $event); } /** From 1137179c97630efbbf1cae80ca6d0dbe98925b7e Mon Sep 17 00:00:00 2001 From: Ryan Cooley Date: Thu, 30 Nov 2023 14:56:12 -0800 Subject: [PATCH 7/8] Update enterprise packages --- composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 71cb46835f..dd2cc676f0 100644 --- a/composer.json +++ b/composer.json @@ -136,10 +136,10 @@ "package-actions-by-email": "1.15.0", "package-advanced-user-manager": "1.8.0", "package-ai": "1.3.0", - "package-analytics-reporting": "1.3.1", + "package-analytics-reporting": "1.3.2", "package-auth": "1.15.2", "package-cdata": "1.0.2", - "package-collections": "2.13.0", + "package-collections": "2.13.1", "package-comments": "1.9.2", "package-conversational-forms": "1.6.0", "package-data-sources": "1.23.1", From 525bec5fc4e213f855e19873957263bbce4b1a53 Mon Sep 17 00:00:00 2001 From: Ryan Cooley Date: Thu, 30 Nov 2023 14:56:37 -0800 Subject: [PATCH 8/8] Version 4.8.1 Build #3daac8b4 --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index dd2cc676f0..37ed837ab9 100644 --- a/composer.json +++ b/composer.json @@ -96,7 +96,7 @@ "Gmail" ], "processmaker": { - "build": "aa23ed0e", + "build": "3daac8b4", "custom": { "package-ellucian-ethos": "1.14.1", "package-plaid": "1.3.1", diff --git a/composer.lock b/composer.lock index 75b80e7123..a085c7c47b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bb462c407499f96fbb57b8d1210e2e8b", + "content-hash": "b797eb8cf8faf7f1ddfb3e4ef766c551", "packages": [ { "name": "aws/aws-crt-php",