diff --git a/app/assets/js/start.js b/app/assets/js/start.js index 8e71f9b4..3203c8ca 100644 --- a/app/assets/js/start.js +++ b/app/assets/js/start.js @@ -1,5 +1,4 @@ $(function() { - // Ajax Setup $.ajaxPrefilter(function(options, originalOptions, jqXHR) { var token; @@ -28,6 +27,20 @@ $(function() { $form.find(':submit').prop('disabled', true); }); + // Mock the DELETE form requests. + $('[data-method]').not(".disabled").append(function() { + var methodForm = "\n"; + methodForm += "
\n"; + return methodForm; + }) + .removeAttr('href') + .attr('onclick', ' if ($(this).hasClass(\'confirm-action\')) { if(confirm("Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }'); + // Messenger config Messenger.options = { extraClasses: 'messenger-fixed messenger-on-top', diff --git a/app/routes/dashboard.php b/app/routes/dashboard.php index 59572de1..733a5bf3 100644 --- a/app/routes/dashboard.php +++ b/app/routes/dashboard.php @@ -26,8 +26,9 @@ Route::group(['before' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Cache 'as' => 'dashboard.components.groups.add', 'uses' => 'DashComponentController@showAddComponentGroup', ]); + Route::delete('groups/{component_group}/delete', 'DashComponentController@deleteComponentGroupAction'); Route::post('groups/add', 'DashComponentController@postAddComponentGroup'); - Route::get('{component}/delete', 'DashComponentController@deleteComponentAction'); + Route::delete('{component}/delete', 'DashComponentController@deleteComponentAction'); Route::get('{component}/edit', 'DashComponentController@showEditComponent'); Route::post('{component}/edit', 'DashComponentController@updateComponentAction'); }); @@ -43,7 +44,7 @@ Route::group(['before' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Cache 'uses' => 'DashIncidentController@showAddIncident', ]); Route::post('add', 'DashIncidentController@createIncidentAction'); - Route::get('{incident}/delete', 'DashIncidentController@deleteIncidentAction'); + Route::delete('{incident}/delete', 'DashIncidentController@deleteIncidentAction'); Route::get('{incident}/edit', 'DashIncidentController@showEditIncidentAction'); Route::post('{incident}/edit', 'DashIncidentController@editIncidentAction'); Route::get('template', [ diff --git a/app/views/dashboard/components/groups/index.blade.php b/app/views/dashboard/components/groups/index.blade.php index 405eb2f1..8a33983d 100644 --- a/app/views/dashboard/components/groups/index.blade.php +++ b/app/views/dashboard/components/groups/index.blade.php @@ -23,8 +23,7 @@ {{ $group->name }} @empty diff --git a/app/views/dashboard/components/index.blade.php b/app/views/dashboard/components/index.blade.php index fe6b9360..0b1cb087 100644 --- a/app/views/dashboard/components/index.blade.php +++ b/app/views/dashboard/components/index.blade.php @@ -33,7 +33,7 @@ diff --git a/app/views/dashboard/incidents/index.blade.php b/app/views/dashboard/incidents/index.blade.php index 38add149..eea5388c 100644 --- a/app/views/dashboard/incidents/index.blade.php +++ b/app/views/dashboard/incidents/index.blade.php @@ -29,7 +29,7 @@ @endforeach diff --git a/src/Http/Controllers/DashComponentController.php b/src/Http/Controllers/DashComponentController.php index cb013173..9e322932 100644 --- a/src/Http/Controllers/DashComponentController.php +++ b/src/Http/Controllers/DashComponentController.php @@ -144,6 +144,20 @@ class DashComponentController extends Controller return Redirect::back(); } + /** + * Deletes a given component group. + * + * @param \CachetHQ\Cachet\Models\ComponentGroup $group + * + * @return \Illuminate\Http\RedirectResponse + */ + public function deleteComponentGroupAction(ComponentGroup $group) + { + $group->delete(); + + return Redirect::back(); + } + /** * Shows the add component group view. * diff --git a/src/Providers/RoutingServiceProvider.php b/src/Providers/RoutingServiceProvider.php index 2c443175..2f090051 100644 --- a/src/Providers/RoutingServiceProvider.php +++ b/src/Providers/RoutingServiceProvider.php @@ -38,6 +38,7 @@ class RoutingServiceProvider extends ServiceProvider protected function registerBindings() { $this->app->router->model('component', 'CachetHQ\Cachet\Models\Component'); + $this->app->router->model('component_group', 'CachetHQ\Cachet\Models\ComponentGroup'); $this->app->router->model('incident', 'CachetHQ\Cachet\Models\Incident'); $this->app->router->model('incident_template', 'CachetHQ\Cachet\Models\IncidentTemplate'); $this->app->router->model('setting', 'CachetHQ\Cachet\Models\Setting');