diff --git a/app/Modules/Admin/Http/Controllers/AdminCityManagersController.php b/app/Modules/Admin/Http/Controllers/AdminCityManagersController.php index 131e1e0..ac8d94e 100644 --- a/app/Modules/Admin/Http/Controllers/AdminCityManagersController.php +++ b/app/Modules/Admin/Http/Controllers/AdminCityManagersController.php @@ -28,4 +28,11 @@ public function delete(Request $request, CityManager $manager) $manager->delete(); return to_route('admin.cities.managers'); } + + public function toggleShow(Request $request, CityManager $manager) + { + $manager->is_visible = !$manager->is_visible; + $manager->save(); + return back(); + } } diff --git a/app/Modules/Admin/Routes/web.php b/app/Modules/Admin/Routes/web.php index 311ca8a..19e56b3 100644 --- a/app/Modules/Admin/Routes/web.php +++ b/app/Modules/Admin/Routes/web.php @@ -55,6 +55,7 @@ Route::get('/admin/cities/managers', [Modules\Admin\Http\Controllers\AdminCityManagersController::class, 'index'])->name('admin.cities.managers'); Route::post('/admin/cities/managers/create', [Modules\Admin\Http\Controllers\AdminCityManagersController::class, 'create'])->name('admin.cities.managers.create'); Route::post('/admin/cities/managers/{manager}/delete', [Modules\Admin\Http\Controllers\AdminCityManagersController::class, 'delete'])->name('admin.cities.managers.delete'); + Route::post('/admin/cities/managers/{manager}/toggle-show', [Modules\Admin\Http\Controllers\AdminCityManagersController::class, 'toggleShow'])->name('admin.cities.managers.toggleShow'); Route::get('/admin/complexes', [Modules\Admin\Http\Controllers\AdminComplexesController::class, 'index'])->name('admin.complexes'); Route::get('/admin/payments', [Modules\Admin\Http\Controllers\AdminPaymentsController::class, 'index'])->name('admin.payments'); diff --git a/app/Modules/Admin/Views/cities/managers.blade.php b/app/Modules/Admin/Views/cities/managers.blade.php index 7782d56..46cc073 100644 --- a/app/Modules/Admin/Views/cities/managers.blade.php +++ b/app/Modules/Admin/Views/cities/managers.blade.php @@ -30,6 +30,7 @@
| Пользователь | Город | Дата назначения | @@ -39,6 +40,20 @@|
|---|---|---|---|
| + + | {{ $manager->user->name }} | {{ $manager->city->name }} | {{ $manager->created_at->diffForHumans() }} | diff --git a/app/Modules/CityManager/Database/Migrations/2026_05_01_000001_add_is_visible_field_to_city_manager_table.php b/app/Modules/CityManager/Database/Migrations/2026_05_01_000001_add_is_visible_field_to_city_manager_table.php new file mode 100644 index 0000000..4a5c5e3 --- /dev/null +++ b/app/Modules/CityManager/Database/Migrations/2026_05_01_000001_add_is_visible_field_to_city_manager_table.php @@ -0,0 +1,26 @@ +boolean('is_visible')->default(true); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + } +}; diff --git a/app/Modules/CityManager/Http/Livewire/CityManagerInfo.php b/app/Modules/CityManager/Http/Livewire/CityManagerInfo.php index c87170c..d59a7b9 100644 --- a/app/Modules/CityManager/Http/Livewire/CityManagerInfo.php +++ b/app/Modules/CityManager/Http/Livewire/CityManagerInfo.php @@ -11,7 +11,7 @@ class CityManagerInfo extends Component public function mount() { $availableCities = GetAvailableCities(); - CityManager::whereIn('city_id', $availableCities->pluck('id'))->get()->each(function ($cityManager) { + CityManager::where('is_visible', true)->whereIn('city_id', $availableCities->pluck('id'))->get()->each(function ($cityManager) { if (!array_key_exists($cityManager->user->id, $this->managers)) { $this->managers[$cityManager->user->id] = [ 'user' => $cityManager->user, diff --git a/app/Modules/CityManager/Models/CityManager.php b/app/Modules/CityManager/Models/CityManager.php index 28bb416..8c1ef80 100644 --- a/app/Modules/CityManager/Models/CityManager.php +++ b/app/Modules/CityManager/Models/CityManager.php @@ -13,7 +13,8 @@ class CityManager extends Model use HasFactory; protected $fillable = [ 'city_id', - 'user_id' + 'user_id', + 'is_visible' ]; public function user() {