ultimatepos/Modules/Accounting/Routes/web.php

129 lines
13 KiB
PHP

<?php
/*
|--------------------------------------------------------------------------
| 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('web', 'SetSessionData', 'auth', 'language', 'timezone', 'AdminSidebarMenu')->prefix('accounting')->group(function () {
Route::get('dashboard', [\Modules\Accounting\Http\Controllers\AccountingController::class, 'dashboard']);
Route::get('accounts-dropdown', [\Modules\Accounting\Http\Controllers\AccountingController::class, 'AccountsDropdown'])->name('accounts-dropdown');
Route::get('get-account-sub-types', [\Modules\Accounting\Http\Controllers\CoaController::class, 'getAccountSubTypes']);
Route::get('get-account-details-types', [\Modules\Accounting\Http\Controllers\CoaController::class, 'getAccountDetailsType']);
Route::resource('chart-of-accounts', \Modules\Accounting\Http\Controllers\CoaController::class);
Route::get('ledger/{id}', [\Modules\Accounting\Http\Controllers\CoaController::class, 'ledger'])->name('accounting.ledger');
Route::get('activate-deactivate/{id}', [\Modules\Accounting\Http\Controllers\CoaController::class, 'activateDeactivate']);
Route::get('create-default-accounts', [\Modules\Accounting\Http\Controllers\CoaController::class, 'createDefaultAccounts'])->name('accounting.create-default-accounts');
Route::resource('journal-entry', \Modules\Accounting\Http\Controllers\JournalEntryController::class);
Route::get('settings', [\Modules\Accounting\Http\Controllers\SettingsController::class, 'index']);
Route::get('reset-data', [\Modules\Accounting\Http\Controllers\SettingsController::class, 'resetData']);
Route::resource('account-type', \Modules\Accounting\Http\Controllers\AccountTypeController::class);
Route::resource('transfer', \Modules\Accounting\Http\Controllers\TransferController::class)->except(['show']);
Route::resource('budget', \Modules\Accounting\Http\Controllers\BudgetController::class)->except(['show', 'edit', 'update', 'destroy']);
Route::get('reports', [\Modules\Accounting\Http\Controllers\ReportController::class, 'index']);
Route::get('reports/trial-balance', [\Modules\Accounting\Http\Controllers\ReportController::class, 'trialBalance'])->name('accounting.trialBalance');
Route::get('reports/balance-sheet', [\Modules\Accounting\Http\Controllers\ReportController::class, 'balanceSheet'])->name('accounting.balanceSheet');
Route::get('reports/account-receivable-ageing-report',
[\Modules\Accounting\Http\Controllers\ReportController::class, 'accountReceivableAgeingReport'])->name('accounting.account_receivable_ageing_report');
Route::get('reports/account-receivable-ageing-details',
[\Modules\Accounting\Http\Controllers\ReportController::class, 'accountReceivableAgeingDetails'])->name('accounting.account_receivable_ageing_details');
Route::get('reports/account-payable-ageing-report',
[\Modules\Accounting\Http\Controllers\ReportController::class, 'accountPayableAgeingReport'])->name('accounting.account_payable_ageing_report');
Route::get('reports/account-payable-ageing-details',
[\Modules\Accounting\Http\Controllers\ReportController::class, 'accountPayableAgeingDetails'])->name('accounting.account_payable_ageing_details');
Route::get('reports/profit-and-loss', [\Modules\Accounting\Http\Controllers\ReportController::class, 'profitAndLoss'])->name('accounting.profitAndLoss');
Route::get('reports/cash-flow', [\Modules\Accounting\Http\Controllers\ReportController::class, 'cashFlow'])->name('accounting.cashFlow');
Route::get('reports/subsidiary-ledger', [\Modules\Accounting\Http\Controllers\ReportController::class, 'subsidiaryLedger'])->name('accounting.subsidiaryLedger');
Route::get('reports/gl-tax', [\Modules\Accounting\Http\Controllers\ReportController::class, 'glTaxReport'])->name('accounting.glTaxReport');
Route::get('journal-approvals', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'journalApprovals'])->name('accounting.journalApprovals');
Route::post('journal-approvals/{id}/approve', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'approveJournal'])->name('accounting.approveJournal');
Route::post('journal-approvals/{id}/reject', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'rejectJournal'])->name('accounting.rejectJournal');
Route::get('health', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'health'])->name('accounting.health');
Route::get('fiscal-periods', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'fiscalPeriods'])->name('accounting.fiscalPeriods');
Route::post('fiscal-periods', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeFiscalPeriod']);
Route::post('fiscal-periods/{id}/close', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'closeFiscalPeriod'])->name('accounting.closeFiscalPeriod');
Route::get('cheques', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'cheques'])->name('accounting.cheques');
Route::post('cheques', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeCheque']);
Route::post('cheques/{id}/transition', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'transitionCheque'])->name('accounting.transitionCheque');
Route::get('installments', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'installments'])->name('accounting.installments');
Route::post('installments', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeInstallmentPlan']);
Route::post('installments/{id}/pay', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'payInstallment'])->name('accounting.payInstallment');
Route::post('installments/from-sell/{transactionId}', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'createInstallmentFromSell'])->name('accounting.createInstallmentFromSell');
Route::get('opening-balance', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'openingBalance'])->name('accounting.openingBalance');
Route::post('opening-balance', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeOpeningBalance']);
Route::get('depreciation', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'depreciation'])->name('accounting.depreciation');
Route::post('depreciation', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeDepreciation']);
Route::post('depreciation/batch', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'batchDepreciation'])->name('accounting.batchDepreciation');
Route::post('depreciation/{id}/post', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'postDepreciation'])->name('accounting.postDepreciation');
Route::get('reconciliations', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'reconciliations'])->name('accounting.reconciliations');
Route::post('reconciliations', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeReconciliation']);
Route::post('reconciliations/{id}/complete', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'completeReconciliation'])->name('accounting.completeReconciliation');
Route::resource('reconcile', \Modules\Accounting\Http\Controllers\ReconcileController::class)->only(['index', 'create', 'store', 'show', 'edit', 'update', 'destroy']);
Route::get('consolidation', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'consolidation'])->name('accounting.consolidation');
Route::post('consolidation', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'runConsolidation']);
Route::post('consolidation/{id}/finalize', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'finalizeConsolidation'])->name('accounting.finalizeConsolidation');
Route::post('entity-tagging/sync', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'syncEntityTagging'])->name('accounting.syncEntityTagging');
Route::get('exchange-rates', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'exchangeRates'])->name('accounting.exchangeRates');
Route::post('exchange-rates', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeExchangeRate'])->name('accounting.storeExchangeRate');
Route::post('exchange-rates/sync', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'syncExchangeRates'])->name('accounting.syncExchangeRates');
Route::post('exchange-rates/settings', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'saveExchangeRateSettings'])->name('accounting.saveExchangeRateSettings');
Route::post('link-payment-account', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'linkPaymentAccount'])->name('accounting.linkPaymentAccount');
Route::post('link-payment-accounts/auto', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'autoLinkPaymentAccounts'])->name('accounting.autoLinkPaymentAccounts');
Route::post('posting-contract', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'postFinancialContract'])->name('accounting.postingContract');
Route::get('mapping-gaps', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'mappingGaps'])->name('accounting.mappingGaps');
Route::post('mapping-sync', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'syncLocationMappings'])->name('accounting.syncLocationMappings');
Route::get('analytical-dimensions', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'analyticalDimensions'])->name('accounting.analyticalDimensions');
Route::post('analytical-dimensions', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeAnalyticalDimension']);
Route::get('bank-loans', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'bankLoans'])->name('accounting.bankLoans');
Route::post('bank-loans', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeBankLoan'])->name('accounting.storeBankLoan');
Route::post('bank-loans/{id}/pay', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'payBankLoan'])->name('accounting.payBankLoan');
Route::get('insurance', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'insurancePremiums'])->name('accounting.insurance');
Route::post('insurance', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storeInsurancePremium']);
Route::post('insurance/{id}/pay', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'payInsurancePremium'])->name('accounting.payInsurancePremium');
Route::get('payroll-tax-table', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'payrollTaxTable'])->name('accounting.payrollTaxTable');
Route::post('payroll-tax-table', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'storePayrollTaxBracket'])->name('accounting.storePayrollTaxBracket');
Route::put('payroll-tax-table/{id}', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'updatePayrollTaxBracket'])->name('accounting.updatePayrollTaxBracket');
Route::get('deferred-documents', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'deferredDocuments'])->name('accounting.deferredDocuments');
Route::get('reports/cheques', [\Modules\Accounting\Http\Controllers\HoldingAccountingController::class, 'chequeReport'])->name('accounting.chequeReport');
Route::get('transactions', [\Modules\Accounting\Http\Controllers\TransactionController::class, 'index']);
Route::get('transactions/map', [\Modules\Accounting\Http\Controllers\TransactionController::class, 'map']);
Route::post('transactions/save-map', [\Modules\Accounting\Http\Controllers\TransactionController::class, 'saveMap']);
Route::post('save-settings', [\Modules\Accounting\Http\Controllers\SettingsController::class, 'saveSettings']);
Route::get('install', [\Modules\Accounting\Http\Controllers\InstallController::class, 'index']);
Route::post('install', [\Modules\Accounting\Http\Controllers\InstallController::class, 'install']);
Route::get('install/uninstall', [\Modules\Accounting\Http\Controllers\InstallController::class, 'uninstall']);
Route::get('install/update', [\Modules\Accounting\Http\Controllers\InstallController::class, 'update']);
});