Fix adding new roles

This commit is contained in:
DariusIII
2018-08-24 15:17:54 +02:00
parent 46a00c344c
commit bb095d3b9c
5 changed files with 218 additions and 38 deletions
+1
View File
@@ -1,4 +1,5 @@
2018-08-24 DariusIII
* Fix: Fix adding new roles
* Chg: Update spatie/laravel-fractal to version 5.4.1
* Chg: Add additional checks to audio related data in ReleaseExtra class
* Chg: Update firewall config, allow 10 requests per minute
+55 -37
View File
@@ -24,13 +24,11 @@ class RoleController extends BasePageController
$content = $this->smarty->fetch('role-list.tpl');
$this->smarty->assign(
[
$this->smarty->assign([
'title' => $title,
'meta_title' => $title,
'content' => $content,
]
);
]);
$this->adminrender();
}
@@ -40,47 +38,20 @@ class RoleController extends BasePageController
*
* @throws \Exception
*/
public function edit(Request $request)
public function create(Request $request): void
{
$this->setAdminPrefs();
$title = 'User Roles';
// Get the user roles.
$userRoles = Role::all();
$roles = [];
foreach ($userRoles as $userRole) {
$roles[$userRole['id']] = $userRole['name'];
}
switch ($request->input('action') ?? 'view') {
case 'add':
$title = 'Add User Role';
$role = [
'id' => '',
'name' => '',
'apirequests' => '',
'downloadrequests' => '',
'defaultinvites' => '',
'isdefault' => 0,
'canpreview' => 0,
'hideads' => 0,
'donation' => 0,
'addyears' => 0,
];
$this->smarty->assign('role', $role);
break;
case 'submit':
if (empty($request->input('id'))) {
$title = 'Add User Role';
$title = 'Add User Role';
$role = Role::create([
'name' => $request->input('name'),
'apirequests' => $request->input('apirequests'),
'downloadrequests' => $request->input('downloadrequests'),
'defaultinvites' => $request->input('defaultinvites'),
'donation' => $request->input('donation'),
'addyears' => $request->input('addyears'),
'donation' => $request->input('donation') ?? 0,
'addyears' => $request->input('addyears') ?? 0,
'rate_limit' => $request->input('rate_limit'),
]);
if ((int) $request->input('canpreview') === 1) {
@@ -126,7 +97,54 @@ class RoleController extends BasePageController
if ((int) $request->input('viewother') === 1) {
$role->givePermissionTo('view other');
}
} else {
redirect()->to('admin/role-list')->sendHeaders();
break;
case 'view':
default :
$title = 'Add User Role';
$role = [
];
break;
}
$this->smarty->assign('yesno_ids', [1, 0]);
$this->smarty->assign('yesno_names', ['Yes', 'No']);
$content = $this->smarty->fetch('role-add.tpl');
$this->smarty->assign(
[
'title' => $title,
'meta_title' => $title,
'content' => $content,
'role' => $role
]
);
$this->adminrender();
}
/**
* @param \Illuminate\Http\Request $request
*
* @throws \Exception
*/
public function edit(Request $request): void
{
$this->setAdminPrefs();
$title = 'User Roles';
// Get the user roles.
$userRoles = Role::all();
$roles = [];
foreach ($userRoles as $userRole) {
$roles[$userRole['id']] = $userRole['name'];
}
switch ($request->input('action') ?? 'view') {
case 'submit':
$title = 'Update User Role';
$role = Role::find($request->input('id'));
$role->update([
@@ -205,7 +223,7 @@ class RoleController extends BasePageController
} elseif ((int) $request->input('viewother') === 0 && $role->hasPermissionTo('view other') === true) {
$role->revokePermissionTo('view other');
}
}
$this->smarty->assign('role', $role);
redirect()->to('admin/role-list')->sendHeaders();
break;
+1 -1
View File
@@ -107,7 +107,7 @@
<li><a href="{$smarty.const.WWW_TOP}/admin/user-list">View Users</a></li>
<li><a href="{$smarty.const.WWW_TOP}/admin/user-edit?action=add">Add Users</a></li>
<li><a href="{$smarty.const.WWW_TOP}/admin/role-list">View User Roles</a></li>
<li><a href="{$smarty.const.WWW_TOP}/admin/role-edit?action=add">Add User Roles</a></li>
<li><a href="{$smarty.const.WWW_TOP}/admin/role-add">Add User Roles</a></li>
</ul>
</li>
<li><a><i class="fa fa-linux"></i><span> Tmux</span><span class="fa fa-chevron-down"></span></a>
+159
View File
@@ -0,0 +1,159 @@
<div class="well well-sm">
<h1>{$title}</h1>
<a class="btn btn-success" href="{$smarty.const.WWW_TOP}/admin/role-list"><i class="fa fa-arrow-left"></i> Go
back</a>
{{Form::open(['url' => 'admin/role-add?action=submit', 'method' => 'post'])}}
<table class="input data table table-striped responsive-utilities jambo-table">
<tr>
<td>Name:</td>
<td>
<input name="name" type="text" value=" " />
<div class="hint">The name of the role</div>
</td>
</tr>
<tr>
<td>Api Requests:</td>
<td>
<input name="apirequests" type="text" value=""/>
<div class="hint">Number of api requests allowed per 24 hour period</div>
</td>
</tr>
<tr>
<td>Api rate limit:</td>
<td>
<input name="rate_limit" type="text" value=""/>
<div class="hint">Number of api requests allowed per 1 minute</div>
</td>
</tr>
<tr>
<td>Download Requests:</td>
<td>
<input name="downloadrequests" type="text" value=""/>
<div class="hint">Number of downloads allowed per 24 hour period</div>
</td>
</tr>
<tr>
<td>Invites:</td>
<td>
<input name="defaultinvites" type="text" value=""/>
<div class="hint">Default number of invites to give users on account creation</div>
</td>
</tr>
<tr>
<td>Can Preview:</td>
<td>
{html_radios id="canpreview" name='canpreview' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Whether the role can preview screenshots</div>
</td>
</tr>
<tr>
<td>Hide Ads:</td>
<td>
{html_radios id="hideads" name='hideads' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Whether ad's are hidden</div>
</td>
</tr>
<tr>
<td>Edit Release:</td>
<td>
{html_radios id="editrelease" name='editrelease' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can the role edit releases</div>
</td>
</tr>
<tr>
<td>Donation amount:</td>
<td>
<input name="donation" type="text" value="0"/>
</td>
</tr>
<tr>
<td>Years Added:</td>
<td>
<input name="addyears" type="text" value="0"/>
</td>
</tr>
<tr>
<td>Is Default Role:</td>
<td>
{html_radios id="role" name='isdefault' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Make this the default role for new users</div>
</td>
</tr>
<tr>
<td>Can view Console releases</td>
<td>
{html_radios id="viewconsole" name='viewconsole' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view console releases</div>
</td>
</tr>
<tr>
<td>Can view Movie releases</td>
<td>
{html_radios id="viewmovies" name='viewmovies' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view movie releases</div>
</td>
</tr>
<tr>
<td>Can view Audio releases</td>
<td>
{html_radios id="viewaudio" name='viewaudio' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view audio releases</div>
</td>
</tr>
<tr>
<td>Can view PC releases</td>
<td>
{html_radios id="viewpc" name='viewpc' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view pc releases</div>
</td>
</tr>
<tr>
<td>Can view TV releases</td>
<td>
{html_radios id="viewtv" name='viewtv' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view tv releases</div>
</td>
</tr>
<tr>
<td>Can view Adult releases</td>
<td>
{html_radios id="viewadult" name='viewadult' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view adult releases</div>
</td>
</tr>
<tr>
<td>Can view Book releases</td>
<td>
{html_radios id="viewbooks" name='viewbooks' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view book releases</div>
</td>
</tr>
<tr>
<td>Can view Other releases</td>
<td>
{html_radios id="viewother" name='viewother' values=$yesno_ids output=$yesno_names selected=0 separator='<br />'}
<div class="hint">Can this role view other releases</div>
</td>
</tr>
<tr>
<td></td>
<td>
<input class="btn btn-default" type="submit" value="Save"/>
</td>
</tr>
</table>
{{Form::close()}}
</div>
+2
View File
@@ -244,6 +244,8 @@ Route::group(['middleware' => ['role:Admin'], 'prefix' => 'admin', 'namespace' =
Route::post('site-stats', 'SiteController@stats');
Route::get('role-list', 'RoleController@index');
Route::post('role-list', 'RoleController@index');
Route::get('role-add', 'RoleController@create');
Route::post('role-add', 'RoleController@create');
Route::get('role-edit', 'RoleController@edit');
Route::post('role-edit', 'RoleController@edit');
Route::get('role-delete', 'RoleController@destroy');