diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 2472310c8baadbe188cdf1779c4e07fd03619727..3a786da094d2cb57fbda09887c7cb05e0a26d550 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -104,30 +104,29 @@ $routes->group( ]); $routes->get('edit', 'Podcast::edit/$1', [ 'as' => 'podcast-edit', - 'filter' => 'permission:podcasts-edit,podcast-edit', + 'filter' => 'permission:podcast-edit', ]); $routes->post('edit', 'Podcast::attemptEdit/$1', [ - 'filter' => 'permission:podcasts-edit,podcast-edit', + 'filter' => 'permission:podcast-edit', ]); $routes->add('delete', 'Podcast::delete/$1', [ 'as' => 'podcast-delete', - 'filter' => 'permission:podcasts-edit,podcast-delete', + 'filter' => 'permission:podcasts-delete', ]); // Podcast episodes $routes->group('episodes', function ($routes) { $routes->get('/', 'Episode::list/$1', [ 'as' => 'episode-list', - 'filter' => 'permission:podcasts-view,podcast-view', + 'filter' => + 'permission:episodes-list,podcast_episodes-list', ]); $routes->get('new', 'Episode::create/$1', [ 'as' => 'episode-create', - 'filter' => - 'permission:episodes-create,podcast_episodes-create', + 'filter' => 'permission:podcast_episodes-create', ]); $routes->post('new', 'Episode::attemptCreate/$1', [ - 'filter' => - 'permission:episodes-create,podcast_episodes-create', + 'filter' => 'permission:podcast_episodes-create', ]); // Episode @@ -139,17 +138,14 @@ $routes->group( ]); $routes->get('edit', 'Episode::edit/$1/$2', [ 'as' => 'episode-edit', - 'filter' => - 'permission:episodes-edit,podcast_episodes-edit', + 'filter' => 'permission:podcast_episodes-edit', ]); $routes->post('edit', 'Episode::attemptEdit/$1/$2', [ - 'filter' => - 'permission:episodes-edit,podcast_episodes-edit', + 'filter' => 'permission:podcast_episodes-edit', ]); $routes->add('delete', 'Episode::delete/$1/$2', [ 'as' => 'episode-delete', - 'filter' => - 'permission:episodes-delete,podcast_episodes-delete', + 'filter' => 'permission:podcast_episodes-delete', ]); }); }); @@ -159,40 +155,40 @@ $routes->group( $routes->get('/', 'Contributor::list/$1', [ 'as' => 'contributor-list', 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'permission:podcasts-view,podcast-manage_contributors', ]); $routes->get('add', 'Contributor::add/$1', [ 'as' => 'contributor-add', - 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'filter' => 'permission:podcast-manage_contributors', ]); $routes->post('add', 'Contributor::attemptAdd/$1', [ - 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'filter' => 'permission:podcast-manage_contributors', ]); // Contributor $routes->group('(:num)', function ($routes) { $routes->get('/', 'Contributor::view/$1/$2', [ 'as' => 'contributor-view', + 'filter' => + 'permission:podcast-manage_contributors', ]); $routes->get('edit', 'Contributor::edit/$1/$2', [ 'as' => 'contributor-edit', 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'permission:podcast-manage_contributors', ]); $routes->post( 'edit', 'Contributor::attemptEdit/$1/$2', [ 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'permission:podcast-manage_contributors', ] ); $routes->add('remove', 'Contributor::remove/$1/$2', [ 'as' => 'contributor-remove', 'filter' => - 'permission:podcasts-manage_contributors,podcast-manage_contributors', + 'permission:podcast-manage_contributors', ]); }); }); @@ -211,7 +207,7 @@ $routes->group( ['filter' => 'permission:podcast-manage_platforms'] ); - $routes->get( + $routes->add( 'platforms/(:num)/remove-link', 'PodcastSettings::removePlatformLink/$1/$2', [ @@ -228,18 +224,25 @@ $routes->group( $routes->get('/', 'Page::list', ['as' => 'page-list']); $routes->get('new', 'Page::create', [ 'as' => 'page-create', + 'filter' => 'permission:pages-manage', + ]); + $routes->post('new', 'Page::attemptCreate', [ + 'filter' => 'permission:pages-manage', ]); - $routes->post('new', 'Page::attemptCreate'); $routes->group('(:num)', function ($routes) { $routes->get('/', 'Page::view/$1', ['as' => 'page-view']); $routes->get('edit', 'Page::edit/$1', [ 'as' => 'page-edit', + 'filter' => 'permission:pages-manage', + ]); + $routes->post('edit', 'Page::attemptEdit/$1', [ + 'filter' => 'permission:pages-manage', ]); - $routes->post('edit', 'Page::attemptEdit/$1'); $routes->add('delete', 'Page::delete/$1', [ 'as' => 'page-delete', + 'filter' => 'permission:pages-manage', ]); }); }); @@ -292,13 +295,13 @@ $routes->group( // My account $routes->group('my-account', function ($routes) { - $routes->get('/', 'Myaccount', [ + $routes->get('/', 'MyAccount', [ 'as' => 'my-account', ]); - $routes->get('change-password', 'Myaccount::changePassword/$1', [ + $routes->get('change-password', 'MyAccount::changePassword/$1', [ 'as' => 'change-password', ]); - $routes->post('change-password', 'Myaccount::attemptChange/$1'); + $routes->post('change-password', 'MyAccount::attemptChange/$1'); }); } ); diff --git a/app/Controllers/Admin/Myaccount.php b/app/Controllers/Admin/Myaccount.php index b6d19117aa7e0f3d8977943605ee4fa235a36f35..7a058af07903a8db9d889693f3061d819045d928 100644 --- a/app/Controllers/Admin/Myaccount.php +++ b/app/Controllers/Admin/Myaccount.php @@ -11,7 +11,7 @@ namespace App\Controllers\Admin; use Config\Services; use App\Models\UserModel; -class Myaccount extends BaseController +class MyAccount extends BaseController { public function index() { diff --git a/app/Database/Seeds/AuthSeeder.php b/app/Database/Seeds/AuthSeeder.php index ddeac94bc98afa0e8c5f65b4f4ada45eaa1c52aa..c07833b31ee50ba5abc64e629eddadc3ec89d132 100644 --- a/app/Database/Seeds/AuthSeeder.php +++ b/app/Database/Seeds/AuthSeeder.php @@ -84,6 +84,13 @@ class AuthSeeder extends Seeder 'has_permission' => ['superadmin'], ], ], + 'pages' => [ + [ + 'name' => 'manage', + 'description' => 'List / create / edit / delete pages', + 'has_permission' => ['superadmin'], + ], + ], 'podcasts' => [ [ 'name' => 'create', @@ -102,22 +109,7 @@ class AuthSeeder extends Seeder ], [ 'name' => 'view', - 'description' => 'View any podcast', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'edit', - 'description' => 'Edit any podcast', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'manage_contributors', - 'description' => 'Add / remove contributors to a podcast', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'manage_publication', - 'description' => 'Publish / unpublish a podcast', + 'description' => 'View any podcast and their contributors list', 'has_permission' => ['superadmin'], ], [ @@ -143,32 +135,6 @@ class AuthSeeder extends Seeder 'description' => 'View any episode of any podcast', 'has_permission' => ['superadmin'], ], - [ - 'name' => 'create', - 'description' => 'Add a new episode to any podcast', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'edit', - 'description' => 'Edit any podcast episode', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'manage_publications', - 'description' => 'Publish / unpublish any podcast episode', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'delete', - 'description' => - 'Delete any podcast episode without removing it from database', - 'has_permission' => ['superadmin'], - ], - [ - 'name' => 'delete_permanently', - 'description' => 'Delete any podcast episode from database', - 'has_permission' => ['superadmin'], - ], ], 'podcast' => [ [ @@ -181,28 +147,12 @@ class AuthSeeder extends Seeder 'description' => 'Edit a podcast', 'has_permission' => ['podcast_admin'], ], - [ - 'name' => 'delete', - 'description' => - 'Delete a podcast without removing it from the database', - 'has_permission' => ['podcast_admin'], - ], - [ - 'name' => 'delete_permanently', - 'description' => 'Delete a podcast from the database', - 'has_permission' => ['podcast_admin'], - ], [ 'name' => 'manage_contributors', 'description' => 'Add / remove contributors to a podcast and edit their roles', 'has_permission' => ['podcast_admin'], ], - [ - 'name' => 'manage_publication', - 'description' => 'Publish / unpublish a podcast', - 'has_permission' => ['podcast_admin'], - ], [ 'name' => 'manage_platforms', 'description' => 'Set / remove platform links of a podcast',