fix financial and certificates
This commit is contained in:
@@ -8,6 +8,7 @@ use App\Http\Controllers\Api\Administrator\AdministratorAbsenceController;
|
||||
use App\Http\Controllers\Api\Administrator\AdministratorDashboardController;
|
||||
use App\Http\Controllers\Api\Administrator\AdministratorNotificationController;
|
||||
use App\Http\Controllers\Api\Administrator\AdministratorTeacherSubmissionController;
|
||||
use App\Http\Controllers\Api\Administrator\TrophyController as AdministratorTrophyController;
|
||||
use App\Http\Controllers\Api\Administrator\EmergencyContactController as AdministratorEmergencyContactController;
|
||||
use App\Http\Controllers\Api\Administrator\TeacherClassAssignmentController;
|
||||
use App\Http\Controllers\Api\Badges\BadgeController;
|
||||
@@ -41,6 +42,10 @@ use App\Http\Controllers\Api\Reports\ReportCardsController;
|
||||
use App\Http\Controllers\Api\Reports\StickersController;
|
||||
use App\Http\Controllers\Api\Scores\FinalController;
|
||||
use App\Http\Controllers\Api\Finance\FinancialController;
|
||||
use App\Http\Controllers\Api\Finance\BalanceCarryforwardController;
|
||||
use App\Http\Controllers\Api\Finance\InstallmentPlanController;
|
||||
use App\Http\Controllers\Api\Finance\FinanceNotificationController;
|
||||
use App\Http\Controllers\Api\Finance\EventChargeController;
|
||||
use App\Http\Controllers\Api\System\FlagController;
|
||||
use App\Http\Controllers\Api\System\DashboardController;
|
||||
use App\Http\Controllers\Api\System\DatabaseHealthController;
|
||||
@@ -151,6 +156,9 @@ Route::get('docs/public', [ApiDocsAdminController::class, 'public'])->name('api-
|
||||
|
||||
Route::get('access_denied', [AccessDeniedController::class, 'accessDenied'])->name('access_denied');
|
||||
|
||||
Route::get('certificates/verify/{token}', [CertificateController::class, 'verify'])
|
||||
->where('token', '[^/]+');
|
||||
|
||||
Route::get('timeoff/notify/{token}', [TimeOffNotificationController::class, 'notify'])
|
||||
->where('token', '[^/]+')
|
||||
->name('api.timeoff.notify');
|
||||
@@ -302,6 +310,12 @@ Route::prefix('v1')->group(function () {
|
||||
Route::get('teacher-submissions', [AdministratorTeacherSubmissionController::class, 'index']);
|
||||
Route::post('teacher-submissions/notify', [AdministratorTeacherSubmissionController::class, 'notify']);
|
||||
|
||||
Route::prefix('trophy')->group(function () {
|
||||
Route::get('/', [AdministratorTrophyController::class, 'index']);
|
||||
Route::get('winners', [AdministratorTrophyController::class, 'winners']);
|
||||
Route::get('final', [AdministratorTrophyController::class, 'final']);
|
||||
});
|
||||
|
||||
Route::get('teacher-class/assignments', [TeacherClassAssignmentController::class, 'index']);
|
||||
Route::post('teacher-class/assign', [TeacherClassAssignmentController::class, 'store']);
|
||||
Route::post('teacher-class/delete', [TeacherClassAssignmentController::class, 'destroy']);
|
||||
@@ -325,6 +339,9 @@ Route::prefix('v1')->group(function () {
|
||||
Route::post('reminders/dispatch', [AdministratorPromotionController::class, 'dispatchScheduledReminders']);
|
||||
Route::post('deadlines/expire', [AdministratorPromotionController::class, 'expireDeadlines']);
|
||||
Route::post('deadlines', [AdministratorPromotionController::class, 'setDeadline']);
|
||||
Route::post('placement/preview', [AdministratorPromotionController::class, 'createPlacementPreview']);
|
||||
Route::get('placement/batches/{batchId}', [AdministratorPromotionController::class, 'showPlacementBatch'])->whereNumber('batchId');
|
||||
Route::post('placement/batches/{batchId}/finalize', [AdministratorPromotionController::class, 'finalizePlacementBatch'])->whereNumber('batchId');
|
||||
|
||||
Route::prefix('levels')->group(function () {
|
||||
Route::get('/', [AdministratorPromotionController::class, 'levelProgressions']);
|
||||
@@ -382,6 +399,10 @@ Route::prefix('v1')->group(function () {
|
||||
|
||||
Route::prefix('reports')->group(function () {
|
||||
Route::get('financial-detailed', [FinancialController::class, 'report']);
|
||||
Route::get('stakeholder-analysis', [FinancialController::class, 'stakeholderAnalysis']);
|
||||
Route::get('stakeholder-analysis/csv', [FinancialController::class, 'stakeholderAnalysisCsv']);
|
||||
Route::get('parent-payment-followups', [FinancialController::class, 'parentPaymentFollowups']);
|
||||
Route::get('parent-payment-followups/csv', [FinancialController::class, 'parentPaymentFollowupsCsv']);
|
||||
});
|
||||
|
||||
Route::prefix('invoices')->group(function () {
|
||||
@@ -421,8 +442,12 @@ Route::prefix('v1')->group(function () {
|
||||
});
|
||||
|
||||
Route::prefix('certificates')->group(function () {
|
||||
Route::get('dashboard', [CertificateController::class, 'dashboard']);
|
||||
Route::get('form-options', [CertificateController::class, 'formOptions']);
|
||||
Route::get('audit-log', [CertificateController::class, 'auditLog']);
|
||||
Route::post('generate', [CertificateController::class, 'generate']);
|
||||
Route::get('reprint/{certificateNumber}', [CertificateController::class, 'reprint'])
|
||||
->where('certificateNumber', '[^/]+');
|
||||
});
|
||||
|
||||
Route::middleware('admin.access')->prefix('role-permission')->group(function () {
|
||||
@@ -919,6 +944,44 @@ Route::prefix('v1')->group(function () {
|
||||
Route::prefix('finance')->group(function () {
|
||||
Route::get('financial-report', [FinancialController::class, 'report']);
|
||||
Route::get('financial-summary', [FinancialController::class, 'summary']);
|
||||
Route::get('stakeholder-analysis', [FinancialController::class, 'stakeholderAnalysis']);
|
||||
Route::get('stakeholder-analysis/csv', [FinancialController::class, 'stakeholderAnalysisCsv']);
|
||||
Route::get('parent-payment-followups', [FinancialController::class, 'parentPaymentFollowups']);
|
||||
Route::get('parent-payment-followups/csv', [FinancialController::class, 'parentPaymentFollowupsCsv']);
|
||||
Route::post('parent-payment-followups/{parent}/note', [FinancialController::class, 'storeParentFollowUpNote'])->whereNumber('parent');
|
||||
Route::post('parent-payment-followups/{parent}/mark-contacted', [FinancialController::class, 'markParentContacted'])->whereNumber('parent');
|
||||
Route::post('parent-payment-followups/{parent}/promise-to-pay', [FinancialController::class, 'storePromiseToPay'])->whereNumber('parent');
|
||||
Route::post('parent-payment-followups/{parent}/resolve', [FinancialController::class, 'resolveParentFollowUp'])->whereNumber('parent');
|
||||
|
||||
Route::get('carryforwards/preview', [BalanceCarryforwardController::class, 'preview']);
|
||||
Route::post('carryforwards/draft', [BalanceCarryforwardController::class, 'storeDraft']);
|
||||
Route::post('carryforwards/{carryforward}/approve', [BalanceCarryforwardController::class, 'approve'])->whereNumber('carryforward');
|
||||
Route::post('carryforwards/{carryforward}/post', [BalanceCarryforwardController::class, 'postToNewYear'])->whereNumber('carryforward');
|
||||
Route::post('carryforwards/{carryforward}/waive', [BalanceCarryforwardController::class, 'waive'])->whereNumber('carryforward');
|
||||
Route::post('carryforwards/{carryforward}/adjust', [BalanceCarryforwardController::class, 'adjust'])->whereNumber('carryforward');
|
||||
Route::get('carryforwards/report', [BalanceCarryforwardController::class, 'report']);
|
||||
Route::get('carryforwards/report/csv', [BalanceCarryforwardController::class, 'reportCsv']);
|
||||
|
||||
Route::apiResource('event-charges', EventChargeController::class);
|
||||
Route::post('event-charges/{eventCharge}/approve', [EventChargeController::class, 'approve'])->whereNumber('eventCharge');
|
||||
Route::post('event-charges/{eventCharge}/void', [EventChargeController::class, 'void'])->whereNumber('eventCharge');
|
||||
Route::post('event-charges/{eventCharge}/attach-to-invoice', [EventChargeController::class, 'attachToInvoice'])->whereNumber('eventCharge');
|
||||
|
||||
Route::apiResource('installment-plans', InstallmentPlanController::class)->only(['index','show']);
|
||||
Route::post('invoices/{invoice}/installment-plans', [InstallmentPlanController::class, 'store'])->whereNumber('invoice');
|
||||
Route::post('installment-plans/{plan}/activate', [InstallmentPlanController::class, 'activate'])->whereNumber('plan');
|
||||
Route::post('installment-plans/{plan}/cancel', [InstallmentPlanController::class, 'cancel'])->whereNumber('plan');
|
||||
Route::post('installment-plans/{plan}/restructure', [InstallmentPlanController::class, 'restructure'])->whereNumber('plan');
|
||||
Route::post('payments/{payment}/allocate-installments', [InstallmentPlanController::class, 'allocatePayment'])->whereNumber('payment');
|
||||
Route::get('installments/due', [InstallmentPlanController::class, 'due']);
|
||||
Route::get('installments/overdue', [InstallmentPlanController::class, 'overdue']);
|
||||
|
||||
Route::post('payments/{payment}/send-receipt', [FinanceNotificationController::class, 'sendPaymentReceipt'])->whereNumber('payment');
|
||||
Route::post('refunds/{refund}/send-receipt', [FinanceNotificationController::class, 'sendRefundReceipt'])->whereNumber('refund');
|
||||
Route::post('invoices/{invoice}/send-statement', [FinanceNotificationController::class, 'sendInvoiceStatement'])->whereNumber('invoice');
|
||||
Route::post('parents/{parent}/send-overdue-reminder', [FinanceNotificationController::class, 'sendOverdueReminder'])->whereNumber('parent');
|
||||
Route::post('installments/{installment}/send-reminder', [FinanceNotificationController::class, 'sendInstallmentReminder'])->whereNumber('installment');
|
||||
Route::get('notification-logs', [FinanceNotificationController::class, 'logs']);
|
||||
Route::get('financial-report/csv', [FinancialController::class, 'downloadCsv']);
|
||||
Route::get('financial-report/pdf', [FinancialController::class, 'downloadPdf']);
|
||||
Route::get('unpaid-parents', [FinancialController::class, 'unpaidParents']);
|
||||
@@ -985,6 +1048,7 @@ Route::prefix('v1')->group(function () {
|
||||
Route::get('parent-payment', [InvoiceController::class, 'parentPayment']);
|
||||
Route::post('{invoiceId}/status', [InvoiceController::class, 'updateStatus']);
|
||||
Route::get('unpaid', [InvoiceController::class, 'unpaid']);
|
||||
Route::get('{invoiceId}/preview', [InvoiceController::class, 'preview']);
|
||||
Route::get('{invoiceId}/pdf', [InvoiceController::class, 'pdf']);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user