33 lines
2.9 KiB
PHP
33 lines
2.9 KiB
PHP
<x-layouts.admin>
|
|
<x-slot name="title">管理用户分组</x-slot>
|
|
<x-slot name="content">
|
|
<div class="my-6" data-settings-workspace>
|
|
@include('system_settings.partials.navigation')
|
|
<nav class="mb-4 text-sm" aria-label="页面位置"><a class="settings-accent" href="{{ route('system-settings.users.index') }}">用户管理</a><span class="mx-2">/</span><span aria-current="page">管理分组</span></nav>
|
|
<form method="POST" action="{{ route('system-settings.groups.membership.update', $member->id) }}" class="rounded-xl border border-gray-200 bg-white p-6">
|
|
@csrf @method('PATCH')
|
|
@if ($errors->any())<div role="alert" class="mb-4 text-sm text-red-700">@foreach($errors->all() as $error)<p>{{ $error }}</p>@endforeach</div>@endif
|
|
<div class="border-b border-gray-200 pb-5">
|
|
<h2 class="text-base font-semibold text-gray-900">{{ $member->name }}</h2>
|
|
<p class="mt-1 break-all text-sm text-gray-600">{{ $member->email }}</p>
|
|
<p class="mt-3 text-sm text-gray-600">勾选一个或多个现有分组。用户会获得各分组页面权限的并集;用户单独配置的页面权限仍然优先。</p>
|
|
</div>
|
|
<fieldset class="mt-6">
|
|
<legend class="text-sm font-semibold">现有分组</legend>
|
|
<div class="mt-4 grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-3">
|
|
@forelse ($groups as $group)
|
|
<label class="flex items-start gap-3 rounded-lg border border-gray-200 px-4 py-3 text-sm hover:bg-gray-50">
|
|
<input type="checkbox" name="groups[]" value="{{ $group->id }}" @checked(in_array($group->id, old('groups', $errors->any() ? [] : $selected))) class="mt-1 rounded settings-accent settings-field-focus">
|
|
<span><span class="font-semibold text-gray-800">{{ $group->name }}</span><span class="mt-1 block text-xs text-gray-600">{{ empty($group->page_permissions) ? '暂未开放页面' : count($group->page_permissions).' 项页面权限' }}</span></span>
|
|
</label>
|
|
@empty
|
|
<div class="md:col-span-2 xl:col-span-3 rounded-lg bg-gray-50 px-4 py-6 text-sm text-gray-600">还没有可加入的分组。请先<a class="settings-accent hover:underline" href="{{ route('system-settings.groups.create') }}">创建分组</a>。</div>
|
|
@endforelse
|
|
</div>
|
|
</fieldset>
|
|
<div class="mt-6 flex justify-end gap-4 border-t border-gray-200 pt-4"><a class="settings-accent" href="{{ route('system-settings.users.index') }}">取消</a><button class="settings-primary" type="submit">保存用户分组</button></div>
|
|
</form>
|
|
</div>
|
|
</x-slot>
|
|
</x-layouts.admin>
|