diff --git a/app/Http/Controllers/Common/Uploads.php b/app/Http/Controllers/Common/Uploads.php index 9715e3d0d..f0f897156 100644 --- a/app/Http/Controllers/Common/Uploads.php +++ b/app/Http/Controllers/Common/Uploads.php @@ -121,10 +121,21 @@ class Uploads extends Controller */ public function destroy($id, Request $request) { + $return = back(); + + if ($request->has('ajax') && $request->get('ajax')) { + $return = [ + 'success' => true, + 'errors' => false, + 'message' => '', + 'redirect' => $request->get('redirect') + ]; + } + try { $media = Media::find($id); } catch (\Exception $e) { - return back(); + return $return; } // Get file path @@ -133,7 +144,7 @@ class Uploads extends Controller flash($message)->warning(); - return back(); + return $return; } $media->delete(); //will not delete files @@ -150,7 +161,7 @@ class Uploads extends Controller } } - return back(); + return $return; } /** diff --git a/resources/assets/js/mixins/global.js b/resources/assets/js/mixins/global.js index dc4ee782b..1afbc2bb6 100644 --- a/resources/assets/js/mixins/global.js +++ b/resources/assets/js/mixins/global.js @@ -313,6 +313,80 @@ export default { }); }, + // Delete attachment file + onDeleteFile(file_id, url, title, message, button_cancel, button_delete) { + let file_data = { + page: null, + key: null, + value: null, + ajax: true, + redirect: window.location.href + }; + + if (this.form['page' + file_id]) { + file_data.page = this.form['page' + file_id]; + } + + if (this.form['key' + file_id]) { + file_data.key = this.form['key' + file_id]; + } + + if (this.form['value' + file_id]) { + file_data.value = this.form['value' + file_id]; + } + + let confirm = { + url: url, + title: title, + message: message, + button_cancel: button_cancel, + button_delete: button_delete, + file_data: file_data, + show: true + }; + + this.component = Vue.component('add-new-component', (resolve, reject) => { + resolve({ + template : '