Enable admin setting user for a system
This commit is contained in:
parent
ac2ee7df0c
commit
90206f2bb5
@ -16,7 +16,7 @@ use Illuminate\Support\ViewErrorBag;
|
||||
use App\Classes\FTN\Message;
|
||||
use App\Http\Requests\{AddressMerge,AreafixRequest,SystemRegister};
|
||||
use App\Jobs\AddressPoll;
|
||||
use App\Models\{Address,Echoarea,Filearea,Netmail,Setup,System,SystemZone,Zone};
|
||||
use App\Models\{Address,Echoarea,Filearea,Netmail,Setup,System,Zone};
|
||||
use App\Notifications\Netmails\AddressLink;
|
||||
use App\Rules\{FidoInteger,TwoByteInteger};
|
||||
|
||||
@ -49,6 +49,10 @@ class SystemController extends Controller
|
||||
->transform(function($item) { $item['active'] = Arr::get($item,'active',FALSE); return $item; });
|
||||
|
||||
$o->mailers()->sync($mailers);
|
||||
if ($request->post('users') && array_filter($request->post('users'),function($item) { return $item; }))
|
||||
$o->users()->sync($request->post('users'));
|
||||
else
|
||||
$o->users()->detach();
|
||||
|
||||
return redirect()->to('system');
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ class SystemRegister extends FormRequest
|
||||
'mailer_details.*.port' => 'nullable|digits_between:2,5',
|
||||
'zt_id' => 'nullable|size:10|regex:/^([A-Fa-f0-9]){10}$/|unique:systems,zt_id,'.($so->exists ? $so->id : 0),
|
||||
'pkt_type' => ['required',Rule::in(array_keys(Packet::PACKET_TYPES))],
|
||||
'users' => 'nullable|array|min:1|max:2',
|
||||
] : [],
|
||||
$so->exists ? [
|
||||
'active' => 'required|boolean',
|
||||
|
@ -1,5 +1,37 @@
|
||||
<!-- $o = System::class -->
|
||||
<div class="row pt-0">
|
||||
<div class="col-12">
|
||||
<h4 class="mb-0 pb-2">System Users</h4>
|
||||
|
||||
<div class="row pt-0">
|
||||
<!-- Users -->
|
||||
<div class="col-4">
|
||||
<label for="users" class="form-label">Owners</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-people-fill"></i></span>
|
||||
<select style="width: 80%;" class="form-select @error('users') is-invalid @enderror" id="users" name="users[]">
|
||||
<option value=""> </option>
|
||||
@foreach (\App\Models\User::orderBy('name')->active()->get() as $uo)
|
||||
<option value="{{ $uo->id }}" @if(in_array($uo->id,old('users',$o->users->pluck('id')->toArray())))selected @endif>{{ $uo->name }} <small>({{ $uo->email }})</small></option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
<span class="invalid-feedback" role="alert">
|
||||
@error('users')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h4 class="mb-0 pb-2">System Details</h4>
|
||||
|
||||
<div class="row pt-0">
|
||||
<!-- Name -->
|
||||
<div class="col-4">
|
||||
<label for="name" class="form-label">BBS Name</label>
|
||||
@ -152,6 +184,8 @@
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<!-- Mailer Details -->
|
||||
@ -390,9 +424,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('page-css')
|
||||
@css('select2')
|
||||
@append
|
||||
@section('page-scripts')
|
||||
@js('select2')
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#users').select2({
|
||||
@cannot('admin')disabled: true @endcannot
|
||||
/*multiple: true*/
|
||||
});
|
||||
|
||||
$('#poll_normal').on('click',function() {
|
||||
$('#heartbeat_option').removeClass('d-none');
|
||||
})
|
||||
|
@ -11,6 +11,8 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="greyframe titledbox shadow0xb0">
|
||||
<div class="row pt-0">
|
||||
<div class="col-12">
|
||||
<h2 class="cap">@if($o->exists) Update @else Add @endif User</h2>
|
||||
|
||||
<div class="row">
|
||||
@ -128,6 +130,31 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row pt-5">
|
||||
<div class="col-12">
|
||||
<h3>Systems</h3>
|
||||
|
||||
<table class="table monotable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>System</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($o->systems as $o)
|
||||
<tr>
|
||||
<th><a href="{{ url('system/addedit',[$o->id]) }}">{{ $o->name }}</a></th>
|
||||
<th class="text-end">{!! $o->akas->pluck('ftn')->join('<br>') !!}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
||||
|
@ -6,12 +6,12 @@
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-9">
|
||||
<div class="col-12">
|
||||
<h2>System Users</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-9">
|
||||
<div class="col-12">
|
||||
<p>This system is aware of the following users @can('admin',(new \App\Models\User))(you can <a href="{{ url('user/addedit') }}">add</a> more)@endcan:</p>
|
||||
<table class="table monotable" id="user">
|
||||
<thead>
|
||||
@ -22,11 +22,12 @@
|
||||
<th>Active</th>
|
||||
<th>Verified</th>
|
||||
<th>Last On</th>
|
||||
<th class="text-end">Systems</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach (\App\Models\User::orderBy('email')->cursor() as $oo)
|
||||
@foreach (\App\Models\User::orderBy('email')->with(['systems'])->get() as $oo)
|
||||
<tr class="{{ $oo->admin ? 'admin' : '' }}">
|
||||
<td><a href="{{ url('user/addedit',[$oo->id]) }}">{{ $oo->id }}</a> @if($user->admin && ($user->id !== $oo->id))<span class="float-end"><a href="{{ url('admin/switch/start',[$oo->id]) }}"><i class="bi bi-person-bounding-box"></i></a></span>@endif</td>
|
||||
<td>{{ $oo->email }}</td>
|
||||
@ -34,6 +35,7 @@
|
||||
<td>{{ $oo->active ? 'YES' : 'NO' }}</td>
|
||||
<td>{{ $oo->email_verified_at ? $oo->email_verified_at->format('Y-m-d') : '-' }}</td>
|
||||
<td>{{ $oo->last_on ? $oo->last_on->toDateTimeString() : 'Unknown' }}</td>
|
||||
<td class="text-end">{{ number_format($oo->systems->count()) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
Loading…
Reference in New Issue
Block a user