diff --git a/app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php b/app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php new file mode 100644 index 00000000..812fd1e3 --- /dev/null +++ b/app/database/migrations/2014_12_31_230032_CreateComponentGroupsTable.php @@ -0,0 +1,34 @@ +increments('id'); + $table->string('name'); + $table->timestamps(); + + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('component_groups'); + } +} diff --git a/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php b/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php new file mode 100644 index 00000000..2dabefa7 --- /dev/null +++ b/app/database/migrations/2015_01_04_194246_AlterTableComponentsAddGroupIdColumn.php @@ -0,0 +1,32 @@ +integer('group_id')->nullable()->default(null)->after('order'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('components', function(Blueprint $table) { + $table->dropColumn('group_id'); + }); + } +} diff --git a/app/lang/en/cachet.php b/app/lang/en/cachet.php index 6e4e81ab..1f1fafb5 100644 --- a/app/lang/en/cachet.php +++ b/app/lang/en/cachet.php @@ -42,6 +42,8 @@ return [ 'dashboard' => 'Dashboard', 'components' => 'Components', 'component-add' => 'Add Component', + 'component-groups' => 'Component Groups', + 'component-groups-add' => 'Create Group', 'incidents' => 'Incidents', 'incident-add' => 'Add Incident', 'incident-create-template' => 'Create Template', diff --git a/app/routes/dashboard.php b/app/routes/dashboard.php index 71ac5f62..9a9a9e4f 100644 --- a/app/routes/dashboard.php +++ b/app/routes/dashboard.php @@ -8,6 +8,9 @@ Route::group(['before' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Cache Route::get('components', ['as' => 'dashboard.components', 'uses' => 'DashComponentController@showComponents']); Route::get('components/add', ['as' => 'dashboard.components.add', 'uses' => 'DashComponentController@showAddComponent']); Route::post('components/add', 'DashComponentController@createComponentAction'); + Route::get('components/groups', ['as' => 'dashboard.components.groups', 'uses' => 'DashComponentController@showComponentGroups']); + Route::get('components/groups/add', ['as' => 'dashboard.components.groups.add', 'uses' => 'DashComponentController@showAddComponentGroup']); + Route::post('components/groups/add', 'DashComponentController@postAddComponentGroup'); Route::get('components/{component}/delete', 'DashComponentController@deleteComponentAction'); Route::get('components/{component}/edit', 'DashComponentController@showEditComponent'); Route::post('components/{component}/edit', 'DashComponentController@updateComponentAction'); diff --git a/app/views/dashboard/components/add-group.blade.php b/app/views/dashboard/components/add-group.blade.php new file mode 100644 index 00000000..ee609021 --- /dev/null +++ b/app/views/dashboard/components/add-group.blade.php @@ -0,0 +1,37 @@ +@extends('layout.dashboard') + +@section('content') +