From da2c6c37380c2baca0db67cdcfe90f6da6cb99d6 Mon Sep 17 00:00:00 2001 From: CarliPinell Date: Wed, 19 Jul 2023 12:04:37 -0400 Subject: [PATCH 1/2] QA observation new Use Case TemplatePublished --- ProcessMaker/Events/TemplatePublished.php | 71 +++++++++++++++++++ .../Controllers/Api/TemplateController.php | 5 +- .../Providers/EventServiceProvider.php | 2 + 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 ProcessMaker/Events/TemplatePublished.php diff --git a/ProcessMaker/Events/TemplatePublished.php b/ProcessMaker/Events/TemplatePublished.php new file mode 100644 index 0000000000..b4abaa302e --- /dev/null +++ b/ProcessMaker/Events/TemplatePublished.php @@ -0,0 +1,71 @@ +newTemplate = $newTemplate; + + if (isset($newTemplate['process_category_id'])) { + $this->newTemplate['process_category'] = ProcessCategory::getNamesByIds($newTemplate['process_category_id']); + unset($newTemplate['process_category_id']); + } + } + + /** + * Get specific data related to the event + * + * @return array + */ + public function getData(): array + { + return [ + 'name' => [ + 'label' => $this->newTemplate['name'], + 'link' => route('processes.index') . '#nav-categories', + ], + 'description' => $this->newTemplate['description'] ?? '', + 'save assets mode' => $this->newTemplate['saveAssetsMode'] ?? '', + 'Template Categories' => $this->newTemplate['process_category'] ?? '', + 'created_at' => $this->newTemplate['created_at'] ?? Carbon::now(), + ]; + } + + /** + * Get specific changes without format related to the event + * + * @return array + */ + public function getChanges(): array + { + return [ + 'id' => $this->newTemplate['asset_id'] ?? '', + ]; + } + + /** + * Get the Event name with the syntax ‘[Past-test Action] [Object]’ + * + * @return string + */ + public function getEventName(): string + { + return 'TemplatePublished'; + } +} diff --git a/ProcessMaker/Http/Controllers/Api/TemplateController.php b/ProcessMaker/Http/Controllers/Api/TemplateController.php index de6eef47e6..d684215581 100644 --- a/ProcessMaker/Http/Controllers/Api/TemplateController.php +++ b/ProcessMaker/Http/Controllers/Api/TemplateController.php @@ -67,8 +67,9 @@ public function store(string $type, Request $request) ], 409); } $request->validate(Template::rules($request->id, $this->types[$type][4])); - - return $this->template->store($type, $request); + $storeTemplate = $this->template->store($type, $request); + //TemplatePublished::dispatch($storeTemplate); + return $storeTemplate; } /** diff --git a/ProcessMaker/Providers/EventServiceProvider.php b/ProcessMaker/Providers/EventServiceProvider.php index 57bdaf3dd4..816201ce41 100644 --- a/ProcessMaker/Providers/EventServiceProvider.php +++ b/ProcessMaker/Providers/EventServiceProvider.php @@ -48,6 +48,7 @@ use ProcessMaker\Events\SignalUpdated; use ProcessMaker\Events\TemplateCreated; use ProcessMaker\Events\TemplateDeleted; +use ProcessMaker\Events\TemplatePublished; use ProcessMaker\Events\TemplateUpdated; use ProcessMaker\Events\TokenCreated; use ProcessMaker\Events\TokenDeleted; @@ -141,6 +142,7 @@ public function boot() $this->app['events']->listen(SignalUpdated::class, SecurityLogger::class); $this->app['events']->listen(TemplateCreated::class, SecurityLogger::class); $this->app['events']->listen(TemplateDeleted::class, SecurityLogger::class); + $this->app['events']->listen(TemplatePublished::class, SecurityLogger::class); $this->app['events']->listen(TemplateUpdated::class, SecurityLogger::class); $this->app['events']->listen(TokenCreated::class, SecurityLogger::class); $this->app['events']->listen(TokenDeleted::class, SecurityLogger::class); From c89251eedcdab93e4a669d6f8852944905a50949 Mon Sep 17 00:00:00 2001 From: CarliPinell Date: Thu, 20 Jul 2023 07:51:56 -0400 Subject: [PATCH 2/2] QA Observation Fixed Template Published --- ProcessMaker/Events/TemplatePublished.php | 6 ++++-- ProcessMaker/Http/Controllers/Api/TemplateController.php | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ProcessMaker/Events/TemplatePublished.php b/ProcessMaker/Events/TemplatePublished.php index b4abaa302e..3e9f494b58 100644 --- a/ProcessMaker/Events/TemplatePublished.php +++ b/ProcessMaker/Events/TemplatePublished.php @@ -23,7 +23,9 @@ public function __construct(array $newTemplate) $this->newTemplate = $newTemplate; if (isset($newTemplate['process_category_id'])) { - $this->newTemplate['process_category'] = ProcessCategory::getNamesByIds($newTemplate['process_category_id']); + $this->newTemplate['process_category'] = ProcessCategory::getNamesByIds( + $newTemplate['process_category_id'] + ); unset($newTemplate['process_category_id']); } } @@ -38,7 +40,7 @@ public function getData(): array return [ 'name' => [ 'label' => $this->newTemplate['name'], - 'link' => route('processes.index') . '#nav-categories', + 'link' => route('processes.index') . '#nav-templates', ], 'description' => $this->newTemplate['description'] ?? '', 'save assets mode' => $this->newTemplate['saveAssetsMode'] ?? '', diff --git a/ProcessMaker/Http/Controllers/Api/TemplateController.php b/ProcessMaker/Http/Controllers/Api/TemplateController.php index d684215581..be62cf6c48 100644 --- a/ProcessMaker/Http/Controllers/Api/TemplateController.php +++ b/ProcessMaker/Http/Controllers/Api/TemplateController.php @@ -5,6 +5,7 @@ use Illuminate\Http\Request; use ProcessMaker\Events\ProcessCreated; use ProcessMaker\Events\TemplateDeleted; +use ProcessMaker\Events\TemplatePublished; use ProcessMaker\Events\TemplateUpdated; use ProcessMaker\Http\Controllers\Controller; use ProcessMaker\Http\Resources\TemplateCollection; @@ -68,7 +69,7 @@ public function store(string $type, Request $request) } $request->validate(Template::rules($request->id, $this->types[$type][4])); $storeTemplate = $this->template->store($type, $request); - //TemplatePublished::dispatch($storeTemplate); + TemplatePublished::dispatch($request->request->all()); return $storeTemplate; }