- 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>
95 lines
5.1 KiB
PHP
95 lines
5.1 KiB
PHP
<?php
|
|
|
|
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;
|
|
use Modules\Webstatement\Http\Controllers\MigrasiController;
|
|
use Modules\Webstatement\Http\Controllers\WebstatementController;
|
|
use Modules\Webstatement\Http\Controllers\CustomerController;
|
|
use Modules\Webstatement\Http\Controllers\EmailBlastController;
|
|
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 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::get('/', [WebstatementController::class, 'index'])->name('webstatement.index');
|
|
|
|
// Customer routes
|
|
|
|
Route::get('datatables', [CustomerController::class, 'dataForDatatables'])->name('customer.datatables');
|
|
Route::get('export', [CustomerController::class, 'export'])->name('customer.export');
|
|
Route::post('delete-multiple', [CustomerController::class, 'deleteMultiple'])->name('deleteMultiple');
|
|
Route::resource('customer', CustomerController::class);
|
|
|
|
|
|
Route::prefix('jenis-kartu')->name('jenis-kartu.')->group(function () {
|
|
Route::get('datatables', [JenisKartuController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('export', [JenisKartuController::class, 'export'])->name('export');
|
|
Route::post('delete-multiple', [JenisKartuController::class, 'deleteMultiple'])->name('deleteMultiple');
|
|
});
|
|
Route::resource('jenis-kartu', JenisKartuController::class);
|
|
|
|
Route::prefix('kartu-atm')->name('kartu-atm.')->group(function () {
|
|
Route::get('datatables', [KartuAtmController::class, 'dataForDatatables'])->name('datatables');
|
|
});
|
|
Route::resource('kartu-atm', KartuAtmController::class)->only('index');
|
|
|
|
Route::prefix('sync-logs')->name('sync-logs.')->group(function () {
|
|
Route::get('datatables', [SyncLogsController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/download/{id}', [SyncLogsController::class, 'downloadFile'])->name('download');
|
|
|
|
});
|
|
Route::resource('sync-logs', SyncLogsController::class);
|
|
|
|
Route::prefix('emailblast')->group(function () {
|
|
Route::get('/', [EmailBlastController::class, 'index'])->name('emailblast.index');
|
|
Route::get('/create', [EmailBlastController::class, 'create'])->name('emailblast.create');
|
|
Route::post('/', [EmailBlastController::class, 'store'])->name('emailblast.store');
|
|
Route::get('/{id}/view', [EmailBlastController::class, 'view'])->name('emailblast.view');
|
|
Route::get('/datatables', [EmailBlastController::class, 'datatables'])->name('emailblast.datatables');
|
|
});
|
|
|
|
// Periode Statement Routes
|
|
Route::group(['prefix' => 'periode-statements', 'as' => 'periode-statements.', 'middleware' => ['auth']], function () {
|
|
Route::get('/datatables', [PeriodeStatementController::class, 'dataForDatatables'])->name('datatables');
|
|
Route::get('/export', [PeriodeStatementController::class, 'export'])->name('export');
|
|
|
|
// Process, complete, and fail routes
|
|
Route::get('/{periodeStatement}/process', 'PeriodeStatementController@process')->name('process');
|
|
Route::get('/{periodeStatement}/complete', 'PeriodeStatementController@complete')->name('complete');
|
|
Route::post('/{periodeStatement}/fail', 'PeriodeStatementController@fail')->name('fail');
|
|
|
|
// Authorization routes
|
|
Route::get('/pending-authorization', 'PeriodeStatementController@pendingAuthorization')->name('pending-authorization');
|
|
Route::get('/{periodeStatement}/authorize', 'PeriodeStatementController@showAuthorize')->name('show-authorize');
|
|
Route::post('/{periodeStatement}/authorize', 'PeriodeStatementController@authorize')->name('authorize');
|
|
});
|
|
|
|
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');
|
|
Route::get('biaya-kartu', [SyncLogsController::class, 'index'])->name('biaya-kartu.index');
|
|
|
|
Route::get('/stmt-entries/{accountNumber}', [MigrasiController::class, 'getStmtEntryByAccount']);
|