feat(webstatement): tambah fitur request dan pengelolaan print statement

- Tambah menu baru untuk "Print Statement" di konfigurasi module.
- Tambah route baru untuk pengelolaan statement seperti list, download, otorisasi, dan datatables.
- Implementasi `PrintStatementController` untuk operasi terkait request dan manajemen statement.
- Implementasi model `PrintStatementLog` untuk mencatat log request statement, termasuk validasi dan relasi yang dibutuhkan.
- Tambah form request `PrintStatementRequest` untuk validasi input.
- Tambah migration untuk tabel `print_statement_logs` yang menyimpan rekaman log statement.
- Tambah halaman blade untuk index dan form request statement.

Signed-off-by: Daeng Deni Mardaeni <ddeni05@gmail.com>
This commit is contained in:
Daeng Deni Mardaeni
2025-05-11 18:15:21 +07:00
parent 012d1629c9
commit eaa847e7e7
9 changed files with 1009 additions and 0 deletions

View File

@@ -109,3 +109,8 @@
$trail->parent('periode-statements.index');
$trail->push('View Periode Statement', route('periode-statements.show', $data));
});
Breadcrumbs::for('statements.index', function (BreadcrumbTrail $trail) {
$trail->parent('home');
$trail->push('Print Stetement', route('statements.index'));
});

View File

@@ -2,6 +2,7 @@
use Illuminate\Support\Facades\Route;
use Modules\Webstatement\Http\Controllers\PeriodeStatementController;
use Modules\Webstatement\Http\Controllers\PrintStatementController;
use Modules\Webstatement\Http\Controllers\SyncLogsController;
use Modules\Webstatement\Http\Controllers\JenisKartuController;
use Modules\Webstatement\Http\Controllers\KartuAtmController;
@@ -78,7 +79,13 @@ Route::middleware(['auth'])->group(function () {
Route::resource('periode-statements', PeriodeStatementController::class);
Route::group(['prefix' => 'statements', 'as' => 'statements.', 'middleware' => ['auth']], function () {
Route::get('/datatables', [PrintStatementController::class, 'dataForDatatables'])->name('datatables');
Route::get('/{statement}/download', [PrintStatementController::class, 'download'])->name('download');
Route::post('/{statement}/authorize', [PrintStatementController::class, 'authorize'])->name('authorize');
});
Route::resource('statements', PrintStatementController::class);
});
Route::get('migrasi', [MigrasiController::class, 'index'])->name('migrasi.index');