561 lines
38 KiB
PHP
561 lines
38 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AccountController;
|
|
use App\Http\Controllers\AccountReportsController;
|
|
use App\Http\Controllers\AccountTypeController;
|
|
// use App\Http\Controllers\Auth;
|
|
use App\Http\Controllers\BackUpController;
|
|
use App\Http\Controllers\BarcodeController;
|
|
use App\Http\Controllers\BrandController;
|
|
use App\Http\Controllers\BusinessController;
|
|
use App\Http\Controllers\BusinessLocationController;
|
|
use App\Http\Controllers\CashRegisterController;
|
|
use App\Http\Controllers\CategoryController;
|
|
use App\Http\Controllers\CombinedPurchaseReturnController;
|
|
use App\Http\Controllers\ContactController;
|
|
use App\Http\Controllers\CustomerGroupController;
|
|
use App\Http\Controllers\DashboardConfiguratorController;
|
|
use App\Http\Controllers\DiscountController;
|
|
use App\Http\Controllers\DocumentAndNoteController;
|
|
use App\Http\Controllers\ExpenseCategoryController;
|
|
use App\Http\Controllers\ExpenseController;
|
|
use App\Http\Controllers\GroupTaxController;
|
|
use App\Http\Controllers\HomeController;
|
|
use App\Http\Controllers\HoldingController;
|
|
use App\Http\Controllers\ImportOpeningStockController;
|
|
use App\Http\Controllers\ImportProductsController;
|
|
use App\Http\Controllers\ImportSalesController;
|
|
use App\Http\Controllers\Install;
|
|
use App\Http\Controllers\InvoiceLayoutController;
|
|
use App\Http\Controllers\InvoiceSchemeController;
|
|
use App\Http\Controllers\LabelsController;
|
|
use App\Http\Controllers\LedgerDiscountController;
|
|
use App\Http\Controllers\LocationSettingsController;
|
|
use App\Http\Controllers\ManageUserController;
|
|
use App\Http\Controllers\PaymentAccountController;
|
|
use App\Http\Controllers\NotificationController;
|
|
use App\Http\Controllers\NotificationTemplateController;
|
|
use App\Http\Controllers\OpeningStockController;
|
|
use App\Http\Controllers\PrinterController;
|
|
use App\Http\Controllers\ProductController;
|
|
use App\Http\Controllers\PurchaseController;
|
|
use App\Http\Controllers\PurchaseOrderController;
|
|
use App\Http\Controllers\PurchaseRequisitionController;
|
|
use App\Http\Controllers\PurchaseReturnController;
|
|
use App\Http\Controllers\ReportController;
|
|
use App\Http\Controllers\Restaurant;
|
|
use App\Http\Controllers\RoleController;
|
|
use App\Http\Controllers\SalesCommissionAgentController;
|
|
use App\Http\Controllers\SalesOrderController;
|
|
use App\Http\Controllers\SellController;
|
|
use App\Http\Controllers\SellingPriceGroupController;
|
|
use App\Http\Controllers\SellPosController;
|
|
use App\Http\Controllers\SellReturnController;
|
|
use App\Http\Controllers\StockAdjustmentController;
|
|
use App\Http\Controllers\StockTransferController;
|
|
use App\Http\Controllers\TaxonomyController;
|
|
use App\Http\Controllers\TaxRateController;
|
|
use App\Http\Controllers\TransactionPaymentController;
|
|
use App\Http\Controllers\TypesOfServiceController;
|
|
use App\Http\Controllers\UnitController;
|
|
use App\Http\Controllers\UserController;
|
|
use App\Http\Controllers\VariationTemplateController;
|
|
use App\Http\Controllers\WarrantyController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 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!
|
|
|
|
|
*/
|
|
|
|
include_once 'install_r.php';
|
|
|
|
Route::middleware(['setData'])->group(function () {
|
|
Route::get('/', function () {
|
|
return view('welcome');
|
|
});
|
|
|
|
Auth::routes(['logout' => false]);
|
|
|
|
Route::get('/business/register', [BusinessController::class, 'getRegister'])->name('business.getRegister');
|
|
Route::post('/business/register', [BusinessController::class, 'postRegister'])->name('business.postRegister');
|
|
Route::post('/business/register/check-username', [BusinessController::class, 'postCheckUsername'])->name('business.postCheckUsername');
|
|
Route::post('/business/register/check-email', [BusinessController::class, 'postCheckEmail'])->name('business.postCheckEmail');
|
|
|
|
Route::get('/reverse-geocode/{latlng}', [HomeController::class, 'getUserLocation'])
|
|
->middleware('throttle:60,1');
|
|
|
|
Route::get('/invoice/{token}', [SellPosController::class, 'showInvoice'])
|
|
->name('show_invoice');
|
|
Route::get('/quote/{token}', [SellPosController::class, 'showInvoice'])
|
|
->name('show_quote');
|
|
|
|
Route::get('/pay/{token}', [SellPosController::class, 'invoicePayment'])
|
|
->name('invoice_payment');
|
|
Route::post('/confirm-payment/{id}', [SellPosController::class, 'confirmPayment'])
|
|
->name('confirm_payment');
|
|
});
|
|
|
|
//Routes for authenticated users only
|
|
Route::middleware(['setData', 'auth', 'SetSessionData', 'business.context', 'language', 'timezone', 'AdminSidebarMenu', 'CheckUserLogin', 'holding.context'])->group(function () {
|
|
Route::get('pos/payment/{id}', [SellPosController::class, 'edit'])->name('edit-pos-payment');
|
|
Route::get('service-staff-availability', [SellPosController::class, 'showServiceStaffAvailibility']);
|
|
Route::get('pause-resume-service-staff-timer/{user_id}', [SellPosController::class, 'pauseResumeServiceStaffTimer']);
|
|
Route::get('mark-as-available/{user_id}', [SellPosController::class, 'markAsAvailable']);
|
|
|
|
Route::resource('purchase-requisition', PurchaseRequisitionController::class)->except(['edit', 'update']);
|
|
Route::post('/get-requisition-products', [PurchaseRequisitionController::class, 'getRequisitionProducts'])->name('get-requisition-products');
|
|
Route::get('get-purchase-requisitions/{location_id}', [PurchaseRequisitionController::class, 'getPurchaseRequisitions']);
|
|
Route::get('get-purchase-requisition-lines/{purchase_requisition_id}', [PurchaseRequisitionController::class, 'getPurchaseRequisitionLines']);
|
|
|
|
Route::get('/sign-in-as-user/{id}', [ManageUserController::class, 'signInAsUser'])->name('sign-in-as-user');
|
|
|
|
Route::get('/home', [HomeController::class, 'index'])->name('home');
|
|
Route::get('/home/get-totals', [HomeController::class, 'getTotals']);
|
|
Route::get('/home/product-stock-alert', [HomeController::class, 'getProductStockAlert']);
|
|
Route::get('/home/purchase-payment-dues', [HomeController::class, 'getPurchasePaymentDues']);
|
|
Route::get('/home/sales-payment-dues', [HomeController::class, 'getSalesPaymentDues']);
|
|
Route::post('/attach-medias-to-model', [HomeController::class, 'attachMediasToGivenModel'])->name('attach.medias.to.model');
|
|
Route::get('/calendar', [HomeController::class, 'getCalendar'])->name('calendar');
|
|
|
|
Route::post('/test-email', [BusinessController::class, 'testEmailConfiguration']);
|
|
Route::post('/test-sms', [BusinessController::class, 'testSmsConfiguration']);
|
|
Route::get('/business/settings', [BusinessController::class, 'getBusinessSettings'])->name('business.getBusinessSettings');
|
|
Route::post('/business/update', [BusinessController::class, 'postBusinessSettings'])->name('business.postBusinessSettings');
|
|
Route::get('/user/profile', [UserController::class, 'getProfile'])->name('user.getProfile');
|
|
Route::post('/user/update', [UserController::class, 'updateProfile'])->name('user.updateProfile');
|
|
Route::post('/user/update-password', [UserController::class, 'updatePassword'])->name('user.updatePassword');
|
|
|
|
Route::resource('brands', BrandController::class);
|
|
|
|
Route::resource('payment-account', PaymentAccountController::class);
|
|
|
|
Route::resource('tax-rates', TaxRateController::class);
|
|
|
|
Route::resource('units', UnitController::class);
|
|
|
|
Route::resource('ledger-discount', LedgerDiscountController::class)->only('edit', 'destroy', 'store', 'update');
|
|
|
|
Route::post('check-mobile', [ContactController::class, 'checkMobile']);
|
|
Route::get('/get-contact-due/{contact_id}', [ContactController::class, 'getContactDue']);
|
|
Route::get('/contacts/payments/{contact_id}', [ContactController::class, 'getContactPayments']);
|
|
Route::get('/contacts/map', [ContactController::class, 'contactMap']);
|
|
Route::get('/contacts/update-status/{id}', [ContactController::class, 'updateStatus']);
|
|
Route::get('/contacts/stock-report/{supplier_id}', [ContactController::class, 'getSupplierStockReport']);
|
|
Route::get('/contacts/ledger', [ContactController::class, 'getLedger']);
|
|
Route::post('/contacts/send-ledger', [ContactController::class, 'sendLedger']);
|
|
Route::get('/contacts/import', [ContactController::class, 'getImportContacts'])->name('contacts.import');
|
|
Route::post('/contacts/import', [ContactController::class, 'postImportContacts']);
|
|
Route::post('/contacts/check-contacts-id', [ContactController::class, 'checkContactId']);
|
|
|
|
Route::post('/contacts/check-tax-number', [ContactController::class, 'checkTaxNumber']);
|
|
|
|
Route::get('/contacts/customers', [ContactController::class, 'getCustomers']);
|
|
Route::resource('contacts', ContactController::class);
|
|
|
|
Route::get('taxonomies-ajax-index-page', [TaxonomyController::class, 'getTaxonomyIndexPage']);
|
|
Route::resource('taxonomies', TaxonomyController::class);
|
|
|
|
Route::resource('variation-templates', VariationTemplateController::class);
|
|
|
|
Route::get('/products/download-excel', [ProductController::class, 'downloadExcel']);
|
|
|
|
Route::get('/products/stock-history/{id}', [ProductController::class, 'productStockHistory']);
|
|
Route::get('/delete-media/{media_id}', [ProductController::class, 'deleteMedia']);
|
|
Route::post('/products/mass-deactivate', [ProductController::class, 'massDeactivate']);
|
|
Route::get('/products/activate/{id}', [ProductController::class, 'activate']);
|
|
Route::get('/products/view-product-group-price/{id}', [ProductController::class, 'viewGroupPrice']);
|
|
Route::get('/products/add-selling-prices/{id}', [ProductController::class, 'addSellingPrices']);
|
|
Route::post('/products/save-selling-prices', [ProductController::class, 'saveSellingPrices']);
|
|
Route::post('/products/mass-delete', [ProductController::class, 'massDestroy']);
|
|
Route::get('/products/view/{id}', [ProductController::class, 'view']);
|
|
Route::get('/products/list', [ProductController::class, 'getProducts']);
|
|
Route::get('/products/list-no-variation', [ProductController::class, 'getProductsWithoutVariations']);
|
|
Route::post('/products/bulk-edit', [ProductController::class, 'bulkEdit']);
|
|
Route::post('/products/bulk-update', [ProductController::class, 'bulkUpdate']);
|
|
Route::post('/products/bulk-update-location', [ProductController::class, 'updateProductLocation']);
|
|
Route::get('/products/get-product-to-edit/{product_id}', [ProductController::class, 'getProductToEdit']);
|
|
|
|
Route::post('/products/get_sub_categories', [ProductController::class, 'getSubCategories']);
|
|
Route::get('/products/get_sub_units', [ProductController::class, 'getSubUnits']);
|
|
Route::post('/products/product_form_part', [ProductController::class, 'getProductVariationFormPart']);
|
|
Route::post('/products/get_product_variation_row', [ProductController::class, 'getProductVariationRow']);
|
|
Route::post('/products/get_variation_template', [ProductController::class, 'getVariationTemplate']);
|
|
Route::get('/products/get_variation_value_row', [ProductController::class, 'getVariationValueRow']);
|
|
Route::post('/products/check_product_sku', [ProductController::class, 'checkProductSku']);
|
|
Route::post('/products/check_product_name', [ProductController::class, 'checkProductName']);
|
|
Route::post('/products/validate_variation_skus', [ProductController::class, 'validateVaritionSkus']); //validates multiple skus at once
|
|
Route::get('/products/quick_add', [ProductController::class, 'quickAdd']);
|
|
Route::post('/products/save_quick_product', [ProductController::class, 'saveQuickProduct']);
|
|
Route::get('/products/get-combo-product-entry-row', [ProductController::class, 'getComboProductEntryRow']);
|
|
Route::post('/products/toggle-woocommerce-sync', [ProductController::class, 'toggleWooCommerceSync']);
|
|
|
|
Route::resource('products', ProductController::class);
|
|
Route::get('/toggle-subscription/{id}', 'SellPosController@toggleRecurringInvoices');
|
|
Route::post('/sells/pos/get-types-of-service-details', 'SellPosController@getTypesOfServiceDetails');
|
|
Route::get('/sells/subscriptions', 'SellPosController@listSubscriptions');
|
|
Route::get('/sells/duplicate/{id}', 'SellController@duplicateSell');
|
|
Route::get('/sells/drafts', 'SellController@getDrafts');
|
|
Route::get('/sells/convert-to-draft/{id}', 'SellPosController@convertToInvoice');
|
|
Route::get('/sells/convert-to-proforma/{id}', 'SellPosController@convertToProforma');
|
|
Route::get('/sells/quotations', 'SellController@getQuotations');
|
|
Route::get('/sells/draft-dt', 'SellController@getDraftDatables');
|
|
Route::resource('sells', 'SellController')->except(['show']);
|
|
Route::get('/sells/copy-quotation/{id}', [SellPosController::class, 'copyQuotation']);
|
|
|
|
Route::post('/import-purchase-products', [PurchaseController::class, 'importPurchaseProducts']);
|
|
Route::post('/purchases/update-status', [PurchaseController::class, 'updateStatus']);
|
|
Route::get('/purchases/get_products', [PurchaseController::class, 'getProducts']);
|
|
Route::get('/purchases/get_suppliers', [PurchaseController::class, 'getSuppliers']);
|
|
Route::post('/purchases/get_purchase_entry_row', [PurchaseController::class, 'getPurchaseEntryRow']);
|
|
Route::post('/purchases/check_ref_number', [PurchaseController::class, 'checkRefNumber']);
|
|
Route::resource('purchases', PurchaseController::class)->except(['show']);
|
|
|
|
Route::get('/toggle-subscription/{id}', [SellPosController::class, 'toggleRecurringInvoices']);
|
|
Route::post('/sells/pos/get-types-of-service-details', [SellPosController::class, 'getTypesOfServiceDetails']);
|
|
Route::get('/sells/subscriptions', [SellPosController::class, 'listSubscriptions']);
|
|
Route::get('/sells/duplicate/{id}', [SellController::class, 'duplicateSell']);
|
|
Route::get('/sells/drafts', [SellController::class, 'getDrafts']);
|
|
Route::get('/sells/convert-to-draft/{id}', [SellPosController::class, 'convertToInvoice']);
|
|
Route::get('/sells/convert-to-proforma/{id}', [SellPosController::class, 'convertToProforma']);
|
|
Route::get('/sells/quotations', [SellController::class, 'getQuotations']);
|
|
Route::get('/sells/draft-dt', [SellController::class, 'getDraftDatables']);
|
|
Route::resource('sells', SellController::class)->except(['show']);
|
|
|
|
Route::get('/import-sales', [ImportSalesController::class, 'index']);
|
|
Route::post('/import-sales/preview', [ImportSalesController::class, 'preview']);
|
|
Route::post('/import-sales', [ImportSalesController::class, 'import']);
|
|
Route::get('/revert-sale-import/{batch}', [ImportSalesController::class, 'revertSaleImport']);
|
|
|
|
Route::get('/sells/pos/get_product_row/{variation_id}/{location_id}', [SellPosController::class, 'getProductRow']);
|
|
Route::post('/sells/pos/get_payment_row', [SellPosController::class, 'getPaymentRow']);
|
|
Route::post('/sells/pos/get-reward-details', [SellPosController::class, 'getRewardDetails']);
|
|
Route::get('/sells/pos/get-recent-transactions', [SellPosController::class, 'getRecentTransactions']);
|
|
Route::get('/sells/pos/get-product-suggestion', [SellPosController::class, 'getProductSuggestion']);
|
|
Route::get('/sells/pos/get-featured-products/{location_id}', [SellPosController::class, 'getFeaturedProducts']);
|
|
Route::get('/reset-mapping', [SellController::class, 'resetMapping']);
|
|
// pos display screen route
|
|
Route::get('/customer-display', [SellPosController::class, 'posDisplay'])->name('pos_display');
|
|
Route::get('/pos/variation/{variation_id}/{location_id}', [\App\Http\Controllers\ProductController::class, 'getVarationDetail']);
|
|
// end pos display screen route
|
|
Route::resource('pos', SellPosController::class);
|
|
|
|
Route::resource('roles', RoleController::class);
|
|
|
|
Route::resource('users', ManageUserController::class);
|
|
Route::redirect('holding', 'hrm/holding');
|
|
|
|
Route::prefix('hrm')->group(function () {
|
|
Route::get('holding', [HoldingController::class, 'index'])->name('holding.index');
|
|
Route::post('holding/sync-hrm', [HoldingController::class, 'syncHrm'])->name('holding.sync.hrm');
|
|
Route::get('holding/entities/create', [HoldingController::class, 'createEntity'])->name('holding.entities.create');
|
|
Route::get('holding/entities/{id}/edit', [HoldingController::class, 'editEntity'])->name('holding.entities.edit');
|
|
Route::post('holding/entities', [HoldingController::class, 'storeEntity'])->name('holding.entities.store');
|
|
Route::put('holding/entities/{id}', [HoldingController::class, 'updateEntity'])->name('holding.entities.update');
|
|
Route::delete('holding/entities/{id}', [HoldingController::class, 'destroyEntity'])->name('holding.entities.destroy');
|
|
Route::get('holding/units/create', [HoldingController::class, 'createUnit'])->name('holding.units.create');
|
|
Route::get('holding/units/{id}/edit', [HoldingController::class, 'editUnit'])->name('holding.units.edit');
|
|
Route::post('holding/units', [HoldingController::class, 'storeUnit'])->name('holding.units.store');
|
|
Route::put('holding/units/{id}', [HoldingController::class, 'updateUnit'])->name('holding.units.update');
|
|
Route::delete('holding/units/{id}', [HoldingController::class, 'destroyUnit'])->name('holding.units.destroy');
|
|
Route::get('holding/relations/create', [HoldingController::class, 'createRelation'])->name('holding.relations.create');
|
|
Route::get('holding/relations/{id}/edit', [HoldingController::class, 'editRelation'])->name('holding.relations.edit');
|
|
Route::post('holding/relations', [HoldingController::class, 'storeRelation'])->name('holding.relations.store');
|
|
Route::put('holding/relations/{id}', [HoldingController::class, 'updateRelation'])->name('holding.relations.update');
|
|
Route::delete('holding/relations/{id}', [HoldingController::class, 'destroyRelation'])->name('holding.relations.destroy');
|
|
Route::get('holding/assignments/create', [HoldingController::class, 'createAssignment'])->name('holding.assignments.create');
|
|
Route::get('holding/assignments/{id}/edit', [HoldingController::class, 'editAssignment'])->name('holding.assignments.edit');
|
|
Route::post('holding/assignments', [HoldingController::class, 'storeAssignment'])->name('holding.assignments.store');
|
|
Route::put('holding/assignments/{id}', [HoldingController::class, 'updateAssignment'])->name('holding.assignments.update');
|
|
Route::delete('holding/assignments/{id}', [HoldingController::class, 'destroyAssignment'])->name('holding.assignments.destroy');
|
|
Route::post('holding/switch-context', [HoldingController::class, 'switchContext'])->name('holding.context.switch');
|
|
});
|
|
|
|
Route::resource('group-taxes', GroupTaxController::class);
|
|
|
|
Route::get('/barcodes/set_default/{id}', [BarcodeController::class, 'setDefault']);
|
|
Route::resource('barcodes', BarcodeController::class);
|
|
|
|
//Invoice schemes..
|
|
Route::get('/invoice-schemes/set_default/{id}', [InvoiceSchemeController::class, 'setDefault']);
|
|
Route::resource('invoice-schemes', InvoiceSchemeController::class);
|
|
|
|
//Print Labels
|
|
Route::get('/labels/show', [LabelsController::class, 'show']);
|
|
Route::get('/labels/add-product-row', [LabelsController::class, 'addProductRow']);
|
|
Route::get('/labels/preview', [LabelsController::class, 'preview']);
|
|
|
|
//Reports...
|
|
Route::get('/reports/gst-purchase-report', [ReportController::class, 'gstPurchaseReport']);
|
|
Route::get('/reports/gst-sales-report', [ReportController::class, 'gstSalesReport']);
|
|
Route::get('/reports/get-stock-by-sell-price', [ReportController::class, 'getStockBySellingPrice']);
|
|
Route::get('/reports/purchase-report', [ReportController::class, 'purchaseReport']);
|
|
Route::get('/reports/sale-report', [ReportController::class, 'saleReport']);
|
|
Route::get('/reports/service-staff-report', [ReportController::class, 'getServiceStaffReport']);
|
|
Route::get('/reports/service-staff-line-orders', [ReportController::class, 'serviceStaffLineOrders']);
|
|
Route::get('/reports/table-report', [ReportController::class, 'getTableReport']);
|
|
Route::get('/reports/profit-loss', [ReportController::class, 'getProfitLoss']);
|
|
Route::get('/reports/get-opening-stock', [ReportController::class, 'getOpeningStock']);
|
|
Route::get('/reports/purchase-sell', [ReportController::class, 'getPurchaseSell']);
|
|
Route::get('/reports/customer-supplier', [ReportController::class, 'getCustomerSuppliers']);
|
|
Route::get('/reports/stock-report', [ReportController::class, 'getStockReport']);
|
|
Route::get('/reports/stock-details', [ReportController::class, 'getStockDetails']);
|
|
Route::get('/reports/tax-report', [ReportController::class, 'getTaxReport']);
|
|
Route::get('/reports/tax-details', [ReportController::class, 'getTaxDetails']);
|
|
Route::get('/reports/trending-products', [ReportController::class, 'getTrendingProducts']);
|
|
Route::get('/reports/expense-report', [ReportController::class, 'getExpenseReport']);
|
|
Route::get('/reports/stock-adjustment-report', [ReportController::class, 'getStockAdjustmentReport']);
|
|
Route::get('/reports/register-report', [ReportController::class, 'getRegisterReport']);
|
|
Route::get('/reports/sales-representative-report', [ReportController::class, 'getSalesRepresentativeReport']);
|
|
Route::get('/reports/sales-representative-total-expense', [ReportController::class, 'getSalesRepresentativeTotalExpense']);
|
|
Route::get('/reports/sales-representative-total-sell', [ReportController::class, 'getSalesRepresentativeTotalSell']);
|
|
Route::get('/reports/sales-representative-total-commission', [ReportController::class, 'getSalesRepresentativeTotalCommission']);
|
|
Route::get('/reports/stock-expiry', [ReportController::class, 'getStockExpiryReport']);
|
|
Route::get('/reports/stock-expiry-edit-modal/{purchase_line_id}', [ReportController::class, 'getStockExpiryReportEditModal']);
|
|
Route::post('/reports/stock-expiry-update', [ReportController::class, 'updateStockExpiryReport'])->name('updateStockExpiryReport');
|
|
Route::get('/reports/customer-group', [ReportController::class, 'getCustomerGroup']);
|
|
Route::get('/reports/product-purchase-report', [ReportController::class, 'getproductPurchaseReport']);
|
|
Route::get('/reports/product-sell-grouped-by', [ReportController::class, 'productSellReportBy']);
|
|
Route::get('/reports/product-sell-report', [ReportController::class, 'getproductSellReport']);
|
|
Route::get('/reports/product-sell-report-with-purchase', [ReportController::class, 'getproductSellReportWithPurchase']);
|
|
Route::get('/reports/product-sell-grouped-report', [ReportController::class, 'getproductSellGroupedReport']);
|
|
Route::get('/reports/lot-report', [ReportController::class, 'getLotReport']);
|
|
Route::get('/reports/purchase-payment-report', [ReportController::class, 'purchasePaymentReport']);
|
|
Route::get('/reports/sell-payment-report', [ReportController::class, 'sellPaymentReport']);
|
|
Route::get('/reports/product-stock-details', [ReportController::class, 'productStockDetails']);
|
|
Route::get('/reports/adjust-product-stock', [ReportController::class, 'adjustProductStock']);
|
|
Route::get('/reports/get-profit/{by?}', [ReportController::class, 'getProfit']);
|
|
Route::get('/reports/items-report', [ReportController::class, 'itemsReport']);
|
|
Route::get('/reports/get-stock-value', [ReportController::class, 'getStockValue']);
|
|
|
|
Route::get('business-location/activate-deactivate/{location_id}', [BusinessLocationController::class, 'activateDeactivateLocation']);
|
|
|
|
//Business Location Settings...
|
|
Route::prefix('business-location/{location_id}')->name('location.')->group(function () {
|
|
Route::get('settings', [LocationSettingsController::class, 'index'])->name('settings');
|
|
Route::post('settings', [LocationSettingsController::class, 'updateSettings'])->name('settings_update');
|
|
});
|
|
|
|
//Business Locations...
|
|
Route::post('business-location/check-location-id', [BusinessLocationController::class, 'checkLocationId']);
|
|
Route::resource('business-location', BusinessLocationController::class);
|
|
|
|
//Invoice layouts..
|
|
Route::resource('invoice-layouts', InvoiceLayoutController::class);
|
|
|
|
Route::post('get-expense-sub-categories', [ExpenseCategoryController::class, 'getSubCategories']);
|
|
|
|
//Expense Categories...
|
|
Route::resource('expense-categories', ExpenseCategoryController::class);
|
|
|
|
//Expenses...
|
|
Route::resource('expenses', ExpenseController::class);
|
|
Route::get('import-expense', [ExpenseController::class, 'importExpense']);
|
|
Route::post('store-import-expense', [ExpenseController::class, 'storeExpenseImport']);
|
|
|
|
//Transaction payments...
|
|
// Route::get('/payments/opening-balance/{contact_id}', 'TransactionPaymentController@getOpeningBalancePayments');
|
|
Route::get('/payments/show-child-payments/{payment_id}', [TransactionPaymentController::class, 'showChildPayments']);
|
|
Route::get('/payments/view-payment/{payment_id}', [TransactionPaymentController::class, 'viewPayment']);
|
|
Route::get('/payments/add_payment/{transaction_id}', [TransactionPaymentController::class, 'addPayment']);
|
|
Route::get('/payments/pay-contact-due/{contact_id}', [TransactionPaymentController::class, 'getPayContactDue']);
|
|
Route::post('/payments/pay-contact-due', [TransactionPaymentController::class, 'postPayContactDue']);
|
|
Route::resource('payments', TransactionPaymentController::class);
|
|
|
|
//Printers...
|
|
Route::resource('printers', PrinterController::class);
|
|
|
|
Route::get('/stock-adjustments/remove-expired-stock/{purchase_line_id}', [StockAdjustmentController::class, 'removeExpiredStock']);
|
|
Route::post('/stock-adjustments/get_product_row', [StockAdjustmentController::class, 'getProductRow']);
|
|
Route::resource('stock-adjustments', StockAdjustmentController::class);
|
|
|
|
Route::get('/cash-register/register-details', [CashRegisterController::class, 'getRegisterDetails']);
|
|
Route::get('/cash-register/close-register/{id?}', [CashRegisterController::class, 'getCloseRegister']);
|
|
Route::post('/cash-register/close-register', [CashRegisterController::class, 'postCloseRegister']);
|
|
Route::resource('cash-register', CashRegisterController::class);
|
|
|
|
//Import products
|
|
Route::get('/import-products', [ImportProductsController::class, 'index']);
|
|
Route::post('/import-products/store', [ImportProductsController::class, 'store']);
|
|
|
|
//Sales Commission Agent
|
|
Route::resource('sales-commission-agents', SalesCommissionAgentController::class);
|
|
|
|
//Stock Transfer
|
|
Route::get('stock-transfers/print/{id}', [StockTransferController::class, 'printInvoice']);
|
|
Route::post('stock-transfers/update-status/{id}', [StockTransferController::class, 'updateStatus']);
|
|
Route::resource('stock-transfers', StockTransferController::class);
|
|
|
|
Route::get('/opening-stock/add/{product_id}', [OpeningStockController::class, 'add']);
|
|
Route::post('/opening-stock/save', [OpeningStockController::class, 'save']);
|
|
|
|
//Customer Groups
|
|
Route::resource('customer-group', CustomerGroupController::class);
|
|
|
|
//Import opening stock
|
|
Route::get('/import-opening-stock', [ImportOpeningStockController::class, 'index']);
|
|
Route::post('/import-opening-stock/store', [ImportOpeningStockController::class, 'store']);
|
|
|
|
//Sell return
|
|
Route::get('validate-invoice-to-return/{invoice_no}', [SellReturnController::class, 'validateInvoiceToReturn']);
|
|
// service staff replacement
|
|
Route::get('validate-invoice-to-service-staff-replacement/{invoice_no}', [SellPosController::class, 'validateInvoiceToServiceStaffReplacement']);
|
|
Route::put('change-service-staff/{id}', [SellPosController::class, 'change_service_staff'])->name('change_service_staff');
|
|
|
|
Route::resource('sell-return', SellReturnController::class);
|
|
Route::get('sell-return/get-product-row', [SellReturnController::class, 'getProductRow']);
|
|
Route::get('/sell-return/print/{id}', [SellReturnController::class, 'printInvoice']);
|
|
Route::get('/sell-return/add/{id}', [SellReturnController::class, 'add']);
|
|
|
|
//Backup
|
|
Route::get('backup/download/{file_name}', [BackUpController::class, 'download']);
|
|
Route::get('backup/{id}/delete', [BackUpController::class, 'delete'])->name('delete_backup');
|
|
Route::resource('backup', BackUpController::class)->only('index', 'create', 'store');
|
|
|
|
Route::get('selling-price-group/activate-deactivate/{id}', [SellingPriceGroupController::class, 'activateDeactivate']);
|
|
Route::get('update-product-price', [SellingPriceGroupController::class, 'updateProductPrice'])->name('update-product-price');
|
|
Route::get('export-product-price', [SellingPriceGroupController::class, 'export']);
|
|
Route::post('import-product-price', [SellingPriceGroupController::class, 'import']);
|
|
|
|
Route::resource('selling-price-group', SellingPriceGroupController::class);
|
|
|
|
Route::resource('notification-templates', NotificationTemplateController::class)->only(['index', 'store']);
|
|
Route::get('notification/get-template/{transaction_id}/{template_for}', [NotificationController::class, 'getTemplate']);
|
|
Route::post('notification/send', [NotificationController::class, 'send']);
|
|
|
|
Route::post('/purchase-return/update', [CombinedPurchaseReturnController::class, 'update']);
|
|
Route::get('/purchase-return/edit/{id}', [CombinedPurchaseReturnController::class, 'edit']);
|
|
Route::post('/purchase-return/save', [CombinedPurchaseReturnController::class, 'save']);
|
|
Route::post('/purchase-return/get_product_row', [CombinedPurchaseReturnController::class, 'getProductRow']);
|
|
Route::get('/purchase-return/create', [CombinedPurchaseReturnController::class, 'create']);
|
|
Route::get('/purchase-return/add/{id}', [PurchaseReturnController::class, 'add']);
|
|
Route::resource('/purchase-return', PurchaseReturnController::class)->except('create');
|
|
|
|
Route::get('/discount/activate/{id}', [DiscountController::class, 'activate']);
|
|
Route::post('/discount/mass-deactivate', [DiscountController::class, 'massDeactivate']);
|
|
Route::resource('discount', DiscountController::class);
|
|
|
|
Route::prefix('account')->group(function () {
|
|
Route::resource('/account', AccountController::class);
|
|
Route::get('/fund-transfer/{id}', [AccountController::class, 'getFundTransfer']);
|
|
Route::post('/fund-transfer', [AccountController::class, 'postFundTransfer']);
|
|
Route::get('/deposit/{id}', [AccountController::class, 'getDeposit']);
|
|
Route::post('/deposit', [AccountController::class, 'postDeposit']);
|
|
Route::get('/close/{id}', [AccountController::class, 'close']);
|
|
Route::get('/activate/{id}', [AccountController::class, 'activate']);
|
|
Route::get('/delete-account-transaction/{id}', [AccountController::class, 'destroyAccountTransaction']);
|
|
Route::get('/edit-account-transaction/{id}', [AccountController::class, 'editAccountTransaction']);
|
|
Route::post('/update-account-transaction/{id}', [AccountController::class, 'updateAccountTransaction']);
|
|
Route::get('/get-account-balance/{id}', [AccountController::class, 'getAccountBalance']);
|
|
Route::get('/balance-sheet', [AccountReportsController::class, 'balanceSheet']);
|
|
Route::get('/trial-balance', [AccountReportsController::class, 'trialBalance']);
|
|
Route::get('/payment-account-report', [AccountReportsController::class, 'paymentAccountReport']);
|
|
Route::get('/link-account/{id}', [AccountReportsController::class, 'getLinkAccount']);
|
|
Route::post('/link-account', [AccountReportsController::class, 'postLinkAccount']);
|
|
Route::get('/cash-flow', [AccountController::class, 'cashFlow']);
|
|
});
|
|
|
|
Route::resource('account-types', AccountTypeController::class);
|
|
|
|
//Restaurant module
|
|
Route::prefix('modules')->group(function () {
|
|
Route::resource('tables', Restaurant\TableController::class);
|
|
Route::resource('modifiers', Restaurant\ModifierSetsController::class);
|
|
|
|
//Map modifier to products
|
|
Route::get('/product-modifiers/{id}/edit', [Restaurant\ProductModifierSetController::class, 'edit']);
|
|
Route::post('/product-modifiers/{id}/update', [Restaurant\ProductModifierSetController::class, 'update']);
|
|
Route::get('/product-modifiers/product-row/{product_id}', [Restaurant\ProductModifierSetController::class, 'product_row']);
|
|
|
|
Route::get('/add-selected-modifiers', [Restaurant\ProductModifierSetController::class, 'add_selected_modifiers']);
|
|
|
|
Route::get('/kitchen', [Restaurant\KitchenController::class, 'index']);
|
|
Route::get('/kitchen/mark-as-cooked/{id}', [Restaurant\KitchenController::class, 'markAsCooked']);
|
|
Route::post('/refresh-orders-list', [Restaurant\KitchenController::class, 'refreshOrdersList']);
|
|
Route::post('/refresh-line-orders-list', [Restaurant\KitchenController::class, 'refreshLineOrdersList']);
|
|
|
|
Route::get('/orders', [Restaurant\OrderController::class, 'index']);
|
|
Route::get('/orders/mark-as-served/{id}', [Restaurant\OrderController::class, 'markAsServed']);
|
|
Route::get('/data/get-pos-details', [Restaurant\DataController::class, 'getPosDetails']);
|
|
Route::get('/data/check-staff-pin', [Restaurant\DataController::class, 'checkStaffPin']);
|
|
Route::get('/orders/mark-line-order-as-served/{id}', [Restaurant\OrderController::class, 'markLineOrderAsServed']);
|
|
Route::get('/print-line-order', [Restaurant\OrderController::class, 'printLineOrder']);
|
|
});
|
|
|
|
Route::get('bookings/get-todays-bookings', [Restaurant\BookingController::class, 'getTodaysBookings']);
|
|
Route::resource('bookings', Restaurant\BookingController::class);
|
|
|
|
Route::resource('types-of-service', TypesOfServiceController::class);
|
|
Route::get('sells/edit-shipping/{id}', [SellController::class, 'editShipping']);
|
|
Route::put('sells/update-shipping/{id}', [SellController::class, 'updateShipping']);
|
|
Route::get('shipments', [SellController::class, 'shipments']);
|
|
|
|
Route::post('upload-module', [Install\ModulesController::class, 'uploadModule']);
|
|
Route::delete('manage-modules/destroy/{module_name}', [Install\ModulesController::class, 'destroy']);
|
|
Route::resource('manage-modules', Install\ModulesController::class)
|
|
->only(['index', 'update']);
|
|
Route::get('regenerate', [Install\ModulesController::class, 'regenerate']);
|
|
|
|
Route::resource('warranties', WarrantyController::class);
|
|
|
|
Route::resource('dashboard-configurator', DashboardConfiguratorController::class)
|
|
->only(['edit', 'update']);
|
|
|
|
Route::get('view-media/{model_id}', [SellController::class, 'viewMedia']);
|
|
|
|
//common controller for document & note
|
|
Route::get('get-document-note-page', [DocumentAndNoteController::class, 'getDocAndNoteIndexPage']);
|
|
Route::post('post-document-upload', [DocumentAndNoteController::class, 'postMedia']);
|
|
Route::resource('note-documents', DocumentAndNoteController::class);
|
|
Route::resource('purchase-order', PurchaseOrderController::class);
|
|
Route::get('get-purchase-orders/{contact_id}', [PurchaseOrderController::class, 'getPurchaseOrders']);
|
|
Route::get('get-purchase-order-lines/{purchase_order_id}', [PurchaseController::class, 'getPurchaseOrderLines']);
|
|
Route::get('edit-purchase-orders/{id}/status', [PurchaseOrderController::class, 'getEditPurchaseOrderStatus']);
|
|
Route::put('update-purchase-orders/{id}/status', [PurchaseOrderController::class, 'postEditPurchaseOrderStatus']);
|
|
Route::resource('sales-order', SalesOrderController::class)->only(['index']);
|
|
Route::get('get-sales-orders/{customer_id}', [SalesOrderController::class, 'getSalesOrders']);
|
|
Route::get('get-sales-order-lines', [SellPosController::class, 'getSalesOrderLines']);
|
|
Route::get('edit-sales-orders/{id}/status', [SalesOrderController::class, 'getEditSalesOrderStatus']);
|
|
Route::put('update-sales-orders/{id}/status', [SalesOrderController::class, 'postEditSalesOrderStatus']);
|
|
Route::get('reports/activity-log', [ReportController::class, 'activityLog']);
|
|
Route::get('user-location/{latlng}', [HomeController::class, 'getUserLocation']);
|
|
});
|
|
|
|
// Route::middleware(['EcomApi'])->prefix('api/ecom')->group(function () {
|
|
// Route::get('products/{id?}', [ProductController::class, 'getProductsApi']);
|
|
// Route::get('categories', [CategoryController::class, 'getCategoriesApi']);
|
|
// Route::get('brands', [BrandController::class, 'getBrandsApi']);
|
|
// Route::post('customers', [ContactController::class, 'postCustomersApi']);
|
|
// Route::get('settings', [BusinessController::class, 'getEcomSettings']);
|
|
// Route::get('variations', [ProductController::class, 'getVariationsApi']);
|
|
// Route::post('orders', [SellPosController::class, 'placeOrdersApi']);
|
|
// });
|
|
|
|
//common route
|
|
Route::middleware(['auth'])->group(function () {
|
|
Route::get('/logout', [App\Http\Controllers\Auth\LoginController::class, 'logout'])->name('logout');
|
|
});
|
|
|
|
Route::middleware(['setData', 'auth', 'SetSessionData', 'language', 'timezone'])->group(function () {
|
|
Route::get('/load-more-notifications', [HomeController::class, 'loadMoreNotifications']);
|
|
Route::get('/get-total-unread', [HomeController::class, 'getTotalUnreadNotifications']);
|
|
Route::get('/purchases/print/{id}', [PurchaseController::class, 'printInvoice']);
|
|
Route::get('/purchases/{id}', [PurchaseController::class, 'show']);
|
|
Route::get('/download-purchase-order/{id}/pdf', [PurchaseOrderController::class, 'downloadPdf'])->name('purchaseOrder.downloadPdf');
|
|
Route::get('/sells/{id}', [SellController::class, 'show']);
|
|
Route::get('/sells/{transaction_id}/print', [SellPosController::class, 'printInvoice'])->name('sell.printInvoice');
|
|
Route::get('/download-sells/{transaction_id}/pdf', [SellPosController::class, 'downloadPdf'])->name('sell.downloadPdf');
|
|
Route::get('/download-quotation/{id}/pdf', [SellPosController::class, 'downloadQuotationPdf'])
|
|
->name('quotation.downloadPdf');
|
|
Route::get('/download-packing-list/{id}/pdf', [SellPosController::class, 'downloadPackingListPdf'])
|
|
->name('packing.downloadPdf');
|
|
Route::get('/sells/invoice-url/{id}', [SellPosController::class, 'showInvoiceUrl']);
|
|
Route::get('/show-notification/{id}', [HomeController::class, 'showNotification']);
|
|
Route::post('/sell/check-invoice-number', [SellController::class, 'checkInvoiceNumber']);
|
|
}); |