Files
usermanagement/routes/web.php
Daeng Deni Mardaeni 33fe30b443 feat(usermanagement): tambahkan fitur manajemen posisi
- Tambahkan model `Position` dengan atribut `code`, `name`, `level`, serta logging aktivitas dan relasi ke `roles`.
- Tambahkan migrasi untuk membuat tabel `positions` dengan soft deletes.
- Tambahkan `PositionExport` untuk kebutuhan ekspor data posisi ke Excel dengan penyaringan berdasarkan kata kunci.
- Buat `PositionsController` untuk CRUD posisi, termasuk validasi, ekspor, dan data API untuk DataTables.
  - Metode: `index`, `create`, `store`, `edit`, `update`, `destroy`, `export`, `dataForDatatables`.
- Tambahkan validasi berbasis request `PositionRequest` untuk memastikan data valid sebelum disimpan/diubah.
- Tambahkan tampilan blade untuk daftar posisi (`index.blade.php`) dan form tambah/edit posisi (`create.blade.php`) dengan dukungan DataTables dan SweetAlert.
- Perbarui file `module.json` untuk menambahkan menu "Positions" di User Management.
- Tambahkan breadcrumbs untuk halaman posisi (daftar, tambah, edit) di file `breadcrumbs.php`.
- Perbarui `routes/web.php` untuk menambahkan route terkait posisi.

Fitur ini memungkinkan pengelolaan posisi lengkap termasuk CRUD, ekspor, dan integrasi dengan DataTables.
2025-05-17 14:10:41 +07:00

55 lines
2.9 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use Modules\Usermanagement\Http\Controllers\PermissionsController;
use Modules\Usermanagement\Http\Controllers\PositionsController;
use Modules\Usermanagement\Http\Controllers\RolesController;
use Modules\Usermanagement\Http\Controllers\UsersController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::middleware(['auth'])->group(function () {
Route::name('users.')->prefix('users')->group(function () {
Route::get('restore/{id}', [UsersController::class, 'restore'])->name('restore');
Route::get('datatables', [UsersController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [UsersController::class, 'export'])->name('export');
Route::get('profile', [UsersController::class, 'profile'])->name('profile');
Route::put('/profile/update', [UsersController::class, 'updateProfile'])->name('update-profile');
Route::put('/profile/change-password', [UsersController::class, 'changePassword'])->name(
'change-password',
);
});
Route::resource('users', UsersController::class);
Route::name('users.')->group(function () {
Route::name('roles.')->prefix('roles')->group(function () {
Route::get('restore/{id}', [RolesController::class, 'restore'])->name('restore');
Route::get('datatables', [RolesController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [RolesController ::class, 'export'])->name('export');
});
Route::resource('roles', RolesController::class);
Route::name('permissions.')->prefix('permissions')->group(function () {
Route::get('restore/{id}', [PermissionsController::class, 'restore'])->name('restore');
Route::get('datatables', [PermissionsController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [PermissionsController ::class, 'export'])->name('export');
});
Route::resource('permissions', PermissionsController::class);
Route::name('positions.')->prefix('positions')->group(function () {
Route::get('datatables', [PositionsController::class, 'dataForDatatables'])->name('datatables');
Route::get('export', [PositionsController::class, 'export'])->name('export');
});
Route::resource('positions', PositionsController::class);
});
});