From 9810bf6e27d3bd888fb39c4098c0b4f10254f6e9 Mon Sep 17 00:00:00 2001 From: Teisha McRae Date: Wed, 29 Jan 2025 14:40:09 -0500 Subject: [PATCH] Add screen-template edit route; update handling of edit-template action in EllipsisMenu --- ProcessMaker/Http/Controllers/TemplateController.php | 8 ++++++-- resources/js/components/shared/ellipsisMenuActions.js | 4 ++++ .../screen-templates/mixins/navigationMixin.js | 11 ----------- .../processes/screen-builder/showTemplate.blade.php | 3 +++ routes/web.php | 4 +++- 5 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 resources/views/processes/screen-builder/showTemplate.blade.php diff --git a/ProcessMaker/Http/Controllers/TemplateController.php b/ProcessMaker/Http/Controllers/TemplateController.php index fe7843d1cc..6d272d6bef 100644 --- a/ProcessMaker/Http/Controllers/TemplateController.php +++ b/ProcessMaker/Http/Controllers/TemplateController.php @@ -24,9 +24,13 @@ class TemplateController extends Controller * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ - public function edit(string $type, Request $request) + public function editScreenTemplate(Request $request) { - new $this->types[$type][1]->edit($request); + $screenTemplate = new $this->types['screen'][1]; + + $response = $screenTemplate->show($request); + + return view('processes.screen-builder.showTemplate')->with('id', $response['id']); } /** diff --git a/resources/js/components/shared/ellipsisMenuActions.js b/resources/js/components/shared/ellipsisMenuActions.js index 6656a3d958..723b9af3ff 100644 --- a/resources/js/components/shared/ellipsisMenuActions.js +++ b/resources/js/components/shared/ellipsisMenuActions.js @@ -286,6 +286,8 @@ export default { { value: "edit-template", content: "Edit Template", + link: true, + href: "/screen-template/{{id}}/edit", permission: ["edit-screens"], icon: "fas fa-pen-square", }, @@ -322,6 +324,8 @@ export default { { value: "edit-template", content: "Edit Template", + link: true, + href: "/screen-template/{{id}}/edit", permission: ["edit-screens"], icon: "fas fa-pen-square", conditional: "if(is_owner and user_id, true, false)", diff --git a/resources/js/processes/screen-templates/mixins/navigationMixin.js b/resources/js/processes/screen-templates/mixins/navigationMixin.js index ae92750138..e1269171ed 100644 --- a/resources/js/processes/screen-templates/mixins/navigationMixin.js +++ b/resources/js/processes/screen-templates/mixins/navigationMixin.js @@ -2,9 +2,6 @@ export default { methods: { onTemplateNavigate(actionType, data) { switch (actionType?.value) { - case "edit-template": - this.goToScreenBuilder(data.id); - break; case "make-public": ProcessMaker.apiClient .put(`template/screen/${data.id}/update`, { @@ -46,13 +43,5 @@ export default { break; } }, - goToScreenBuilder(data) { - ProcessMaker.apiClient.get(`/screen-builder/screen/${data}`) - .then((response) => { - window.location = `/designer/screen-builder/${response.data.id}/edit`; - }).catch((error) => { - ProcessMaker.alert(error.response?.data?.message, "danger"); - }); - }, }, }; diff --git a/resources/views/processes/screen-builder/showTemplate.blade.php b/resources/views/processes/screen-builder/showTemplate.blade.php new file mode 100644 index 0000000000..f35908f743 --- /dev/null +++ b/resources/views/processes/screen-builder/showTemplate.blade.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 9808c4fdf6..79b52143da 100644 --- a/routes/web.php +++ b/routes/web.php @@ -181,6 +181,8 @@ Route::get('modeler/templates/{id}', [TemplateController::class, 'show'])->name('modeler.template.show')->middleware('template-authorization', 'can:edit-process-templates'); Route::get('screen-template/{screen}/export', [TemplateController::class, 'export'])->name('screens-template.export')->middleware('can:export-screens'); Route::get('screen-template/import', [TemplateController::class, 'importScreen'])->name('screens-template.importScreen')->middleware('can:import-screens'); + Route::get('screen-template/{id}/edit', [TemplateController::class, 'editScreenTemplate'])->name('screen-template.edit')->middleware('can:edit-screens'); + // Allows for a logged in user to see navigation on a 404 page Route::fallback(function () { return response()->view('errors.404', [], 404); @@ -237,4 +239,4 @@ return response(Metrics::renderMetrics(), 200, [ 'Content-Type' => 'text/plain; version=0.0.4', ]); -}); \ No newline at end of file +});