mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-28 17:01:16 +00:00
Allow moderator role to edit releases, fixes issue #123
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
2018-08-02 DariusIII
|
||||
* Chg: Allow moderator role to edit releases, fixes issue #123
|
||||
* Chg: Update updateUserRoles.php script with new moderator 'edit release' permission
|
||||
* Chg: Update app/Http/Kernel class with role and permission middleware
|
||||
* Chg: Update install command
|
||||
|
||||
@@ -11,11 +11,9 @@ use App\Http\Controllers\BasePageController;
|
||||
class ReleasesController extends BasePageController
|
||||
{
|
||||
/**
|
||||
* @param \Illuminate\Http\Request $request
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function index()
|
||||
public function index(): void
|
||||
{
|
||||
$this->setAdminPrefs();
|
||||
|
||||
@@ -107,10 +105,10 @@ class ReleasesController extends BasePageController
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function destroy($id)
|
||||
public function destroy($id): \Illuminate\Http\RedirectResponse
|
||||
{
|
||||
if ($id) {
|
||||
$releases = new Releases(['Settings' => null]);
|
||||
$releases = new Releases();
|
||||
$releases->deleteMultiple($id);
|
||||
}
|
||||
|
||||
|
||||
@@ -256,13 +256,14 @@ class BasePageController extends Controller
|
||||
if ($sab->integratedBool !== false && $sab->url !== '' && $sab->apikey !== '') {
|
||||
$this->smarty->assign('sabapikeytype', $sab->apikeytype);
|
||||
}
|
||||
switch ((int) $this->userdata['roles_id']) {
|
||||
case User::ROLE_ADMIN:
|
||||
$this->smarty->assign('isadmin', 'true');
|
||||
break;
|
||||
case User::ROLE_MODERATOR:
|
||||
$this->smarty->assign('ismod', 'true');
|
||||
if ($this->userdata->hasRole('Admin') === true) {
|
||||
$this->smarty->assign('isadmin', 'true');
|
||||
}
|
||||
|
||||
if ($this->userdata->hasRole('Moderator') === true) {
|
||||
$this->smarty->assign('ismod', 'true');
|
||||
}
|
||||
|
||||
// Tell Smarty which directories to use for templates
|
||||
$this->smarty->setTemplateDir([
|
||||
'user' => config('ytake-laravel-smarty.template_path').DIRECTORY_SEPARATOR.$this->theme,
|
||||
|
||||
@@ -11,16 +11,17 @@
|
||||
<div class="col-lg-12 col-sm-12 col-xs-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body pagination2">
|
||||
<h1>{$release.searchname|escape:"htmlall"} {if !empty($failed)}<span class="btn btn-default btn-xs"
|
||||
title="This release has failed to download for some users">
|
||||
<h1>{$release.searchname|escape:"htmlall"} {if !empty($failed)}<span class="btn btn-default btn-xs"title="This release has failed to download for some users">
|
||||
<i class="fa fa-thumbs-o-up"></i>
|
||||
{$release.grabs} Grab{if $release.grabs != 1}s{/if} /
|
||||
<i class="fa fa-thumbs-o-down"></i>
|
||||
{$failed} Failed Download{if $failed != 1}s{/if}</span>{/if}</h1>
|
||||
{if isset($isadmin)}
|
||||
{if $isadmin == true || $ismod == true}
|
||||
<a class="label label-warning"
|
||||
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$release.guid}"
|
||||
title="Edit release">Edit</a>
|
||||
{/if}
|
||||
{if isset($isadmin)}
|
||||
<a class="label label-danger"
|
||||
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}"
|
||||
title="Delete release">Delete</a>
|
||||
|
||||
+132
-131
@@ -206,137 +206,138 @@ Route::group(['middleware' => ['isVerified']], function () {
|
||||
Route::post('nzbvortex', 'QueueController@nzbvortex');
|
||||
});
|
||||
|
||||
Route::get('forum-delete/{id}', 'ForumController@destroy')->middleware('isAdmin');
|
||||
Route::get('forum-delete/{id}', 'ForumController@destroy')->middleware('role:Admin');
|
||||
|
||||
Route::post('forum-delete/{id}', 'ForumController@destroy')->middleware('isAdmin');
|
||||
Route::post('forum-delete/{id}', 'ForumController@destroy')->middleware('role:Admin');
|
||||
|
||||
Route::middleware('admin')->prefix('admin')->group(function () {
|
||||
Route::namespace('Admin')->group(function () {
|
||||
Route::get('index', 'AdminPageController@index');
|
||||
Route::get('anidb-delete/{id}', 'AnidbController@destroy');
|
||||
Route::post('anidb-delete/{id}', 'AnidbController@destroy');
|
||||
Route::get('anidb-edit/{id}', 'AnidbController@edit');
|
||||
Route::post('anidb-edit/{id}', 'AnidbController@edit');
|
||||
Route::get('anidb-list', 'AnidbController@index');
|
||||
Route::post('anidb-list', 'AnidbController@index');
|
||||
Route::get('binaryblacklist-list', 'BlacklistController@index');
|
||||
Route::post('binaryblacklist-list', 'BlacklistController@index');
|
||||
Route::get('binaryblacklist-edit', 'BlacklistController@edit');
|
||||
Route::post('binaryblacklist-edit', 'BlacklistController@edit');
|
||||
Route::get('book-list', 'BookController@index');
|
||||
Route::post('book-list', 'BookController@index');
|
||||
Route::get('book-edit', 'BookController@edit');
|
||||
Route::post('book-edit', 'BookController@edit');
|
||||
Route::get('category-list', 'CategoryController@index');
|
||||
Route::post('category-list', 'CategoryController@index');
|
||||
Route::get('category-edit', 'CategoryController@edit');
|
||||
Route::post('category-edit', 'CategoryController@edit');
|
||||
Route::get('user-list', 'UserController@index');
|
||||
Route::post('user-list', 'UserController@index');
|
||||
Route::get('user-edit', 'UserController@edit');
|
||||
Route::post('user-edit', 'UserController@edit');
|
||||
Route::get('user-delete', 'UserController@destroy');
|
||||
Route::post('user-delete', 'UserController@destroy');
|
||||
Route::get('site-edit', 'SiteController@edit');
|
||||
Route::post('site-edit', 'SiteController@edit');
|
||||
Route::get('site-stats', 'SiteController@stats');
|
||||
Route::post('site-stats', 'SiteController@stats');
|
||||
Route::get('role-list', 'RoleController@index');
|
||||
Route::post('role-list', 'RoleController@index');
|
||||
Route::get('role-edit', 'RoleController@edit');
|
||||
Route::post('role-edit', 'RoleController@edit');
|
||||
Route::get('role-delete', 'RoleController@destroy');
|
||||
Route::post('role-delete', 'RoleController@destroy');
|
||||
Route::get('content-list', 'ContentController@index');
|
||||
Route::post('content-list', 'ContentController@index');
|
||||
Route::get('content-add', 'ContentController@create');
|
||||
Route::post('content-add', 'ContentController@create');
|
||||
Route::get('content-delete', 'ContentController@destroy');
|
||||
Route::post('content-delete', 'ContentController@destroy');
|
||||
Route::get('category_regexes-list', 'CategoryRegexesController@index');
|
||||
Route::post('category_regexes-list', 'CategoryRegexesController@index');
|
||||
Route::get('category_regexes-edit', 'CategoryRegexesController@edit');
|
||||
Route::post('category_regexes-edit', 'CategoryRegexesController@edit');
|
||||
Route::get('collection_regexes-list', 'CollectionRegexesController@index');
|
||||
Route::post('collection_regexes-list', 'CollectionRegexesController@index');
|
||||
Route::get('collection_regexes-edit', 'CollectionRegexesController@edit');
|
||||
Route::post('collection_regexes-edit', 'CollectionRegexesController@edit');
|
||||
Route::get('collection_regexes-test', 'CollectionRegexesController@testRegex');
|
||||
Route::post('collection_regexes-test', 'CollectionRegexesController@testRegex');
|
||||
Route::get('release_naming_regexes-list', 'ReleaseNamingRegexesController@index');
|
||||
Route::post('release_naming_regexes-list', 'ReleaseNamingRegexesController@index');
|
||||
Route::get('release_naming_regexes-edit', 'ReleaseNamingRegexesController@edit');
|
||||
Route::post('release_naming_regexes-edit', 'ReleaseNamingRegexesController@edit');
|
||||
Route::get('release_naming_regexes-test', 'ReleaseNamingRegexesController@testRegex');
|
||||
Route::post('release_naming_regexes-test', 'ReleaseNamingRegexesController@testRegex');
|
||||
Route::get('ajax', 'AjaxController@ajaxAction');
|
||||
Route::post('ajax', 'AjaxController@ajaxAction');
|
||||
Route::get('tmux-edit', 'TmuxController@edit');
|
||||
Route::post('tmux-edit', 'TmuxController@edit');
|
||||
Route::get('posters-list', 'MgrPosterController@index');
|
||||
Route::post('posters-list', 'MgrPosterController@index');
|
||||
Route::get('posters-edit/{id?}', 'MgrPosterController@edit');
|
||||
Route::post('posters-edit{id?}', 'MgrPosterController@edit');
|
||||
Route::get('poster-delete/{id}', 'MgrPosterController@destroy');
|
||||
Route::post('poster-delete/{id}', 'MgrPosterController@destroy');
|
||||
Route::get('release-list', 'ReleasesController@index');
|
||||
Route::post('release-list', 'ReleasesController@index');
|
||||
Route::get('release-edit', 'ReleasesController@edit');
|
||||
Route::post('release-edit', 'ReleasesController@edit');
|
||||
Route::get('release-delete/{id}', 'ReleasesController@destroy');
|
||||
Route::post('release-delete/{id}', 'ReleasesController@destroy');
|
||||
Route::get('show-list', 'ShowsController@index');
|
||||
Route::post('show-list', 'ShowsController@index');
|
||||
Route::get('show-edit', 'ShowsController@edit');
|
||||
Route::post('show-edit', 'ShowsController@edit');
|
||||
Route::get('show-remove', 'ShowsController@destroy');
|
||||
Route::post('show-remove', 'ShowsController@destroy');
|
||||
Route::get('comments-list', 'CommentsController@index');
|
||||
Route::post('comments-list', 'CommentsController@index');
|
||||
Route::get('comments-delete/{id}', 'CommentsController@destroy');
|
||||
Route::post('comments-delete/{id}', 'CommentsController@destroy');
|
||||
Route::get('console-list', 'ConsoleController@index');
|
||||
Route::post('console-list', 'ConsoleController@index');
|
||||
Route::get('console-edit', 'ConsoleController@edit');
|
||||
Route::post('console-edit', 'ConsoleController@edit');
|
||||
Route::get('failrel-list', 'FailedReleasesController@index');
|
||||
Route::get('game-list', 'GameController@index');
|
||||
Route::post('game-list', 'GameController@index');
|
||||
Route::get('game-edit', 'GameController@edit');
|
||||
Route::post('game-edit', 'GameController@edit');
|
||||
Route::get('menu-list', 'MenuController@index');
|
||||
Route::post('menu-list', 'MenuController@index');
|
||||
Route::get('menu-edit', 'MenuController@edit');
|
||||
Route::post('menu-edit', 'MenuController@edit');
|
||||
Route::get('menu-delete/{id}', 'MenuController@destroy');
|
||||
Route::post('menu-delete/{id}', 'MenuController@destroy');
|
||||
Route::get('movie-list', 'MovieController@index');
|
||||
Route::post('movie-list', 'MovieController@index');
|
||||
Route::get('movie-edit', 'MovieController@edit');
|
||||
Route::post('movie-edit', 'MovieController@edit');
|
||||
Route::get('movie-add', 'MovieController@create');
|
||||
Route::post('movie-add', 'MovieController@create');
|
||||
Route::get('music-list', 'MusicController@index');
|
||||
Route::post('music-list', 'MusicController@index');
|
||||
Route::get('music-edit', 'MusicController@edit');
|
||||
Route::post('music-edit', 'MusicController@edit');
|
||||
Route::get('nzb-import', 'NzbController@import');
|
||||
Route::post('nzb-import', 'NzbController@import');
|
||||
Route::get('nzb-export', 'NzbController@export');
|
||||
Route::post('nzb-export', 'NzbController@export');
|
||||
Route::get('predb', 'PredbController@index');
|
||||
Route::post('predb', 'PredbController@index');
|
||||
Route::get('sharing', 'SharingController@index');
|
||||
Route::post('sharing', 'SharingController@index');
|
||||
Route::get('group-list', 'GroupController@index');
|
||||
Route::post('group-list', 'GroupController@index');
|
||||
Route::get('group-edit', 'GroupController@edit');
|
||||
Route::post('group-edit', 'GroupController@edit');
|
||||
Route::get('group-bulk', 'GroupController@createBulk');
|
||||
Route::post('group-bulk', 'GroupController@createBulk');
|
||||
Route::get('group-list-active', 'GroupController@active');
|
||||
Route::post('group-list-active', 'GroupController@active');
|
||||
Route::get('group-list-inactive', 'GroupController@inactive');
|
||||
Route::post('group-list-inactive', 'GroupController@inactive');
|
||||
});
|
||||
Route::group(['middleware' => ['role:Admin'], 'prefix' => 'admin', 'namespace' => 'Admin'], function () {
|
||||
Route::get('index', 'AdminPageController@index');
|
||||
Route::get('anidb-delete/{id}', 'AnidbController@destroy');
|
||||
Route::post('anidb-delete/{id}', 'AnidbController@destroy');
|
||||
Route::get('anidb-edit/{id}', 'AnidbController@edit');
|
||||
Route::post('anidb-edit/{id}', 'AnidbController@edit');
|
||||
Route::get('anidb-list', 'AnidbController@index');
|
||||
Route::post('anidb-list', 'AnidbController@index');
|
||||
Route::get('binaryblacklist-list', 'BlacklistController@index');
|
||||
Route::post('binaryblacklist-list', 'BlacklistController@index');
|
||||
Route::get('binaryblacklist-edit', 'BlacklistController@edit');
|
||||
Route::post('binaryblacklist-edit', 'BlacklistController@edit');
|
||||
Route::get('book-list', 'BookController@index');
|
||||
Route::post('book-list', 'BookController@index');
|
||||
Route::get('book-edit', 'BookController@edit');
|
||||
Route::post('book-edit', 'BookController@edit');
|
||||
Route::get('category-list', 'CategoryController@index');
|
||||
Route::post('category-list', 'CategoryController@index');
|
||||
Route::get('category-edit', 'CategoryController@edit');
|
||||
Route::post('category-edit', 'CategoryController@edit');
|
||||
Route::get('user-list', 'UserController@index');
|
||||
Route::post('user-list', 'UserController@index');
|
||||
Route::get('user-edit', 'UserController@edit');
|
||||
Route::post('user-edit', 'UserController@edit');
|
||||
Route::get('user-delete', 'UserController@destroy');
|
||||
Route::post('user-delete', 'UserController@destroy');
|
||||
Route::get('site-edit', 'SiteController@edit');
|
||||
Route::post('site-edit', 'SiteController@edit');
|
||||
Route::get('site-stats', 'SiteController@stats');
|
||||
Route::post('site-stats', 'SiteController@stats');
|
||||
Route::get('role-list', 'RoleController@index');
|
||||
Route::post('role-list', 'RoleController@index');
|
||||
Route::get('role-edit', 'RoleController@edit');
|
||||
Route::post('role-edit', 'RoleController@edit');
|
||||
Route::get('role-delete', 'RoleController@destroy');
|
||||
Route::post('role-delete', 'RoleController@destroy');
|
||||
Route::get('content-list', 'ContentController@index');
|
||||
Route::post('content-list', 'ContentController@index');
|
||||
Route::get('content-add', 'ContentController@create');
|
||||
Route::post('content-add', 'ContentController@create');
|
||||
Route::get('content-delete', 'ContentController@destroy');
|
||||
Route::post('content-delete', 'ContentController@destroy');
|
||||
Route::get('category_regexes-list', 'CategoryRegexesController@index');
|
||||
Route::post('category_regexes-list', 'CategoryRegexesController@index');
|
||||
Route::get('category_regexes-edit', 'CategoryRegexesController@edit');
|
||||
Route::post('category_regexes-edit', 'CategoryRegexesController@edit');
|
||||
Route::get('collection_regexes-list', 'CollectionRegexesController@index');
|
||||
Route::post('collection_regexes-list', 'CollectionRegexesController@index');
|
||||
Route::get('collection_regexes-edit', 'CollectionRegexesController@edit');
|
||||
Route::post('collection_regexes-edit', 'CollectionRegexesController@edit');
|
||||
Route::get('collection_regexes-test', 'CollectionRegexesController@testRegex');
|
||||
Route::post('collection_regexes-test', 'CollectionRegexesController@testRegex');
|
||||
Route::get('release_naming_regexes-list', 'ReleaseNamingRegexesController@index');
|
||||
Route::post('release_naming_regexes-list', 'ReleaseNamingRegexesController@index');
|
||||
Route::get('release_naming_regexes-edit', 'ReleaseNamingRegexesController@edit');
|
||||
Route::post('release_naming_regexes-edit', 'ReleaseNamingRegexesController@edit');
|
||||
Route::get('release_naming_regexes-test', 'ReleaseNamingRegexesController@testRegex');
|
||||
Route::post('release_naming_regexes-test', 'ReleaseNamingRegexesController@testRegex');
|
||||
Route::get('ajax', 'AjaxController@ajaxAction');
|
||||
Route::post('ajax', 'AjaxController@ajaxAction');
|
||||
Route::get('tmux-edit', 'TmuxController@edit');
|
||||
Route::post('tmux-edit', 'TmuxController@edit');
|
||||
Route::get('posters-list', 'MgrPosterController@index');
|
||||
Route::post('posters-list', 'MgrPosterController@index');
|
||||
Route::get('posters-edit/{id?}', 'MgrPosterController@edit');
|
||||
Route::post('posters-edit{id?}', 'MgrPosterController@edit');
|
||||
Route::get('poster-delete/{id}', 'MgrPosterController@destroy');
|
||||
Route::post('poster-delete/{id}', 'MgrPosterController@destroy');
|
||||
Route::get('release-list', 'ReleasesController@index');
|
||||
Route::post('release-list', 'ReleasesController@index');
|
||||
Route::get('release-delete/{id}', 'ReleasesController@destroy');
|
||||
Route::post('release-delete/{id}', 'ReleasesController@destroy');
|
||||
Route::get('show-list', 'ShowsController@index');
|
||||
Route::post('show-list', 'ShowsController@index');
|
||||
Route::get('show-edit', 'ShowsController@edit');
|
||||
Route::post('show-edit', 'ShowsController@edit');
|
||||
Route::get('show-remove', 'ShowsController@destroy');
|
||||
Route::post('show-remove', 'ShowsController@destroy');
|
||||
Route::get('comments-list', 'CommentsController@index');
|
||||
Route::post('comments-list', 'CommentsController@index');
|
||||
Route::get('comments-delete/{id}', 'CommentsController@destroy');
|
||||
Route::post('comments-delete/{id}', 'CommentsController@destroy');
|
||||
Route::get('console-list', 'ConsoleController@index');
|
||||
Route::post('console-list', 'ConsoleController@index');
|
||||
Route::get('console-edit', 'ConsoleController@edit');
|
||||
Route::post('console-edit', 'ConsoleController@edit');
|
||||
Route::get('failrel-list', 'FailedReleasesController@index');
|
||||
Route::get('game-list', 'GameController@index');
|
||||
Route::post('game-list', 'GameController@index');
|
||||
Route::get('game-edit', 'GameController@edit');
|
||||
Route::post('game-edit', 'GameController@edit');
|
||||
Route::get('menu-list', 'MenuController@index');
|
||||
Route::post('menu-list', 'MenuController@index');
|
||||
Route::get('menu-edit', 'MenuController@edit');
|
||||
Route::post('menu-edit', 'MenuController@edit');
|
||||
Route::get('menu-delete/{id}', 'MenuController@destroy');
|
||||
Route::post('menu-delete/{id}', 'MenuController@destroy');
|
||||
Route::get('movie-list', 'MovieController@index');
|
||||
Route::post('movie-list', 'MovieController@index');
|
||||
Route::get('movie-edit', 'MovieController@edit');
|
||||
Route::post('movie-edit', 'MovieController@edit');
|
||||
Route::get('movie-add', 'MovieController@create');
|
||||
Route::post('movie-add', 'MovieController@create');
|
||||
Route::get('music-list', 'MusicController@index');
|
||||
Route::post('music-list', 'MusicController@index');
|
||||
Route::get('music-edit', 'MusicController@edit');
|
||||
Route::post('music-edit', 'MusicController@edit');
|
||||
Route::get('nzb-import', 'NzbController@import');
|
||||
Route::post('nzb-import', 'NzbController@import');
|
||||
Route::get('nzb-export', 'NzbController@export');
|
||||
Route::post('nzb-export', 'NzbController@export');
|
||||
Route::get('predb', 'PredbController@index');
|
||||
Route::post('predb', 'PredbController@index');
|
||||
Route::get('sharing', 'SharingController@index');
|
||||
Route::post('sharing', 'SharingController@index');
|
||||
Route::get('group-list', 'GroupController@index');
|
||||
Route::post('group-list', 'GroupController@index');
|
||||
Route::get('group-edit', 'GroupController@edit');
|
||||
Route::post('group-edit', 'GroupController@edit');
|
||||
Route::get('group-bulk', 'GroupController@createBulk');
|
||||
Route::post('group-bulk', 'GroupController@createBulk');
|
||||
Route::get('group-list-active', 'GroupController@active');
|
||||
Route::post('group-list-active', 'GroupController@active');
|
||||
Route::get('group-list-inactive', 'GroupController@inactive');
|
||||
Route::post('group-list-inactive', 'GroupController@inactive');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['role:Admin|Moderator|permission:edit release'], 'prefix' => 'admin', 'namespace' => 'Admin'], function () {
|
||||
Route::get('release-edit', 'ReleasesController@edit');
|
||||
Route::post('release-edit', 'ReleasesController@edit');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user