#4, 112: Started working on an admin screen and database structure to be able to set default album permissions for top-level albums to inherit from (and a base for new albums created without inheriting.)
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class AlbumDefaultGroupPermission extends Model
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class AlbumDefaultUserPermission extends Model
|
||||
{
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Album;
|
||||
use App\AlbumDefaultGroupPermission;
|
||||
use App\AlbumDefaultUserPermission;
|
||||
use App\AlbumRedirect;
|
||||
use App\Facade\Theme;
|
||||
use App\Facade\UserConfig;
|
||||
@@ -83,6 +85,41 @@ class AlbumController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function defaultPermissions()
|
||||
{
|
||||
$this->authorizeAccessToAdminPanel('admin:manage-albums');
|
||||
|
||||
$addNewGroups = [];
|
||||
$existingGroups = [];
|
||||
foreach (Group::orderBy('name')->get() as $group)
|
||||
{
|
||||
if (AlbumDefaultGroupPermission::where('group_id', $group->id)->count() == 0)
|
||||
{
|
||||
$addNewGroups[] = $group;
|
||||
}
|
||||
else
|
||||
{
|
||||
$existingGroups[] = $group;
|
||||
}
|
||||
}
|
||||
|
||||
$existingUsers = [];
|
||||
foreach (User::orderBy('name')->get() as $user)
|
||||
{
|
||||
if (AlbumDefaultUserPermission::where('user_id', $user->id)->count() > 0)
|
||||
{
|
||||
$existingUsers[] = $user;
|
||||
}
|
||||
}
|
||||
|
||||
return Theme::render('admin.album_default_permissions', [
|
||||
'add_new_groups' => $addNewGroups,
|
||||
'all_permissions' => Permission::where('section', 'album')->get(),
|
||||
'existing_groups' => $existingGroups,
|
||||
'existing_users' => $existingUsers
|
||||
]);
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
{
|
||||
$this->authorizeAccessToAdminPanel('admin:manage-albums');
|
||||
|
||||
Reference in New Issue
Block a user