добавлена возможность создавать пользователей в админке

This commit is contained in:
developer 2025-12-03 15:36:52 +08:00
parent 7a0b22e508
commit 8393a29876
7 changed files with 1306 additions and 714 deletions

View File

@ -11,7 +11,7 @@ LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_DATABASE=alfa_lk
DB_USERNAME=root
DB_PASSWORD=

View File

@ -50,6 +50,9 @@ public function getDeals()
{
$deals = Deal::where('agent_id', $agent->id);
}
if (!$deals) {
return Client::where('id',0);
}
$deals = $deals->pluck('id');
$clients = Client::join('deal_clients', 'users.id', '=', 'deal_clients.client_id')

View File

@ -44,6 +44,13 @@ public function edit(User $user)
'roles' => Role::class
]);
}
public function store(Request $request)
{
$data = $request->only('name', 'phone', 'email');
$user = User::create($data);
$password = $user->setForcedPassword(false);
return to_route('admin.users')->withSuccess('Учетная запись для ' . $request->name . ' создана. Пароль пользователя: ' . $password);
}
public function update(Request $request, User $user)
{

View File

@ -9,6 +9,7 @@
{
Route::middleware(['auth', AdminPolicyAuthorization::class])->group(function ()
{
Route::post('/admin/cities/{city}/update', [Modules\Admin\Http\Controllers\AdminCitiesController::class, 'update'])->name('admin.cities.update');
Route::post('/admin/cities/create', [Modules\Admin\Http\Controllers\AdminCitiesController::class, 'create'])->name('admin.cities.create');
Route::post('/admin/cities/{city}/delete', [Modules\Admin\Http\Controllers\AdminCitiesController::class, 'delete'])->name('admin.cities.delete');
@ -25,6 +26,7 @@
Route::get('/admin', [Modules\Admin\Http\Controllers\AdminController::class, 'index'])->name('admin.index');
Route::post('/admin/set', [Modules\Admin\Http\Controllers\AdminController::class, 'setSuperAdmin'])->name('admin.setSuperAdmin');
Route::get('/admin/users', [Modules\Admin\Http\Controllers\AdminUsersController::class, 'index'])->name('admin.users');
Route::post('/admin/users/create', [Modules\Admin\Http\Controllers\AdminUsersController::class, 'store'])->name('admin.users.create');
Route::get('/admin/users/{user}/edit', [Modules\Admin\Http\Controllers\AdminUsersController::class, 'edit'])->name('admin.users.edit');
Route::post('/admin/users/{user}/update', [Modules\Admin\Http\Controllers\AdminUsersController::class, 'update'])->name('admin.users.update');
Route::post('/admin/user-role/{userRole}/delete', [Modules\Admin\Http\Controllers\AdminUsersController::class, 'deleteUserRole'])->name('admin.users.role.delete');

View File

@ -19,10 +19,10 @@
</div>
<div class="ms-auto p-2">
<!--<button type="button" class="btn btn-primary py-2 px-3 fs-5" data-bs-toggle="modal"
data-bs-target="#createAgentModal">
<i class="bi bi-person-plus"></i>
</button>-->
<button type="button" class="btn btn-primary py-2 px-3 fs-5" data-bs-toggle="modal"
data-bs-target="#createUserModal">
<i class="bi bi-person-plus"></i>
</button>
</div>
</form>
@ -78,4 +78,46 @@
@livewire('post.card')
</div>
<!-- Modal -->
<div class="modal fade" id="createUserModal" tabindex="-1" aria-labelledby="createUserModalLabel" aria-hidden="true">
<form class="modal-dialog modal-dialog-centered" action="{{ route('admin.users.create') }}" method="post"
enctype="multipart/form-data">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="createUserModalLabel">Загрузка документа</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
@csrf
<div class="my-3">
<label for="nameInput" class="form-label">ФИО (полностью)</label>
<input class="form-control" type="text" id="nameInput" name="name" required>
@error('name')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="my-3">
<label for="nameInput" class="form-label">Телефон</label>
<input class="form-control" type="text" id="phoneInput" name="phone" required>
@error('phone')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
<div class="my-3">
<label for="nameInput" class="form-label">Электронная почта</label>
<input class="form-control" type="text" id="emailInput" name="email" required>
@error('email')
<div class="text-danger">{{ $message }}</div>
@enderror
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Добавить</button>
</div>
</div>
</form>
</div>
@endsection

1153
composer.lock generated

File diff suppressed because it is too large Load Diff

803
package-lock.json generated

File diff suppressed because it is too large Load Diff