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/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; } diff --git a/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php b/ProcessMaker/Nayra/Repositories/PersistenceTokenTrait.php index 6d79d5a381..5673528eaf 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 @@ -30,9 +31,8 @@ public function persistActivityActivated(array $transaction) $this->tokenRepository->persistActivityActivated($activity, $token); // Event - $bpmnSubscriber = new BpmnSubscriber(); $event = new ActivityActivatedEvent($activity, $token); - $bpmnSubscriber->onActivityActivated($event); + app('events')->dispatch(ActivityInterface::EVENT_ACTIVITY_ACTIVATED, $event); } /** @@ -63,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); } /** diff --git a/ProcessMaker/Providers/LicenseServiceProvider.php b/ProcessMaker/Providers/LicenseServiceProvider.php index 0ffe556584..d11701e3d1 100644 --- a/ProcessMaker/Providers/LicenseServiceProvider.php +++ b/ProcessMaker/Providers/LicenseServiceProvider.php @@ -2,9 +2,11 @@ namespace ProcessMaker\Providers; +use Illuminate\Console\Events\CommandFinished; 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; @@ -17,6 +19,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') { + Artisan::call('package:discover'); + } + }); + try { $expires = Cache::get(LicensedPackageManifest::EXPIRE_CACHE_KEY); } catch (ConnectionException $e) { diff --git a/composer.json b/composer.json index 71cb46835f..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", @@ -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", 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",