Auditionadmin 64 #71
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Actions\Schools\SetHeadDirector;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Mail\NewUserPassword;
|
||||
use App\Models\AuditLogEntry;
|
||||
|
|
@ -13,6 +14,8 @@ use Illuminate\Support\Facades\Hash;
|
|||
use Illuminate\Support\Facades\Mail;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
use function auditionLog;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
public function index()
|
||||
|
|
@ -45,7 +48,7 @@ class UserController extends Controller
|
|||
return view('admin.users.create', ['schools' => $schools]);
|
||||
}
|
||||
|
||||
public function update(Request $request, User $user)
|
||||
public function update(Request $request, User $user, SetHeadDirector $headSetter)
|
||||
{
|
||||
if (! Auth::user()->is_admin) {
|
||||
abort(403);
|
||||
|
|
@ -63,6 +66,7 @@ class UserController extends Controller
|
|||
]);
|
||||
$validData['is_admin'] = $request->get('is_admin') == 'on' ? 1 : 0;
|
||||
$validData['is_tab'] = $request->get('is_tab') == 'on' ? 1 : 0;
|
||||
$validData['is_head'] = $request->get('is_head') == 'on' ? 1 : 0;
|
||||
$user->update([
|
||||
'first_name' => $validData['first_name'],
|
||||
'last_name' => $validData['last_name'],
|
||||
|
|
@ -106,6 +110,16 @@ class UserController extends Controller
|
|||
'affected' => ['users' => [$user->id]],
|
||||
]);
|
||||
}
|
||||
if ($user->hasFlag('head_director') != $validData['is_head'] && ! is_null($user->school_id)) {
|
||||
if ($validData['is_head']) {
|
||||
$headSetter->setHeadDirector($user);
|
||||
} else {
|
||||
$user->removeFlag('head_director');
|
||||
$logMessage = 'Removed '.$user->full_name().' as head director at '.$user->school->name;
|
||||
$logAffected = ['users' => [$user->id], 'schools' => [$user->school_id]];
|
||||
auditionLog($logMessage, $logAffected);
|
||||
}
|
||||
}
|
||||
|
||||
return redirect('/admin/users');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<x-form.field name="cell_phone" label_text="Cell Phone" colspan="3" value="{{ $user->cell_phone }}"/>
|
||||
<x-form.field name="judging_preference" label_text="Judging Preference" colspan="6"
|
||||
value="{{ $user->judging_preference }}"/>
|
||||
<x-form.select name="school_id" colspan="6">
|
||||
<x-form.select name="school_id" colspan="4">
|
||||
<x-slot:label>School</x-slot:label>
|
||||
<option value="">No School</option>
|
||||
@foreach ($schools as $school)
|
||||
|
|
@ -31,6 +31,11 @@
|
|||
@endforeach
|
||||
|
||||
</x-form.select>
|
||||
<div class="col-span-2 pt-7">
|
||||
<x-form.checkbox name="is_head" :checked="$user->hasFlag('head_director')">
|
||||
<x-slot:label>Head Director</x-slot:label>
|
||||
</x-form.checkbox>
|
||||
</div>
|
||||
<div class="col-span-3">
|
||||
<x-form.checkbox name="is_admin" :checked="$user->is_admin">
|
||||
<x-slot:label>Administrator</x-slot:label>
|
||||
|
|
|
|||
Loading…
Reference in New Issue