Files
backend/routes/v3.php

310 lines
15 KiB
PHP

<?php
use App\Http\Controllers\V3\Auth\LogoutController;
use App\Http\Controllers\V3\CMMSMachinesController;
use App\Http\Controllers\V3\DamageManagementController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshSampleController;
use App\Http\Controllers\V3\Dashboard\Azmayesh\AzmayeshTypeController;
use App\Http\Controllers\V3\Dashboard\ObservedItemController;
use App\Http\Controllers\V3\Dashboard\AccidentReceiptController;
use App\Http\Controllers\V3\Dashboard\Reports\AccidentReceiptReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadItemsReportController;
use App\Http\Controllers\V3\Dashboard\Reports\RoadPatrolReportController;
use App\Http\Controllers\V3\Dashboard\RoadItemsProjectController;
use App\Http\Controllers\V3\Dashboard\RoadObservationController;
use App\Http\Controllers\V3\Dashboard\RoadPatrolProjectController;
use App\Http\Controllers\V3\FMSVehicleManagementController;
use App\Http\Controllers\V3\Harim\DivarkeshiController;
use App\Http\Controllers\V3\ProfileController;
use App\Http\Controllers\V3\RahdaranController;
use Illuminate\Support\Facades\Route;
Route::get('admin/permissions', function () {
if (auth()->user()->username == 'witel') {
auth()->user()->syncPermissions(\App\Models\Permission::all()->pluck('id')->toArray());
return response('done');
}
abort(404);
});
Route::prefix('harim')->name('harim')->group(function () {
Route::prefix('divarkeshi')->name('divarkeshi')->controller(DivarkeshiController::class)->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/{divarkeshi}', 'details')->name('details');
Route::post('/store', 'store')->name('store');
// Route::get('/report/map', 'V3\Dashboard\ContractController@getAllDataToMap')->name('V3.contract.report.map');
// Route::get('/{contract}', 'V3\Dashboard\ContractController@detail')->name('V3.contract.detail');
});
Route::prefix('rah_dastresi')->name('rah_dastresi')->group(function () {
// Route::get('/store', 'V3\Dashboard\ContractController@unserialize')->name('store');
// Route::get('/report/map', 'V3\Dashboard\ContractController@getAllDataToMap')->name('V3.contract.report.map');
// Route::get('/{contract}', 'V3\Dashboard\ContractController@detail')->name('V3.contract.detail');
});
Route::prefix('tasisat_zirbana')->group(function () {
// Route::get('/{contract}/unserialize', 'V3\Dashboard\ContractController@unserialize')->name('V3.contract.unserialize');
// Route::get('/report/map', 'V3\Dashboard\ContractController@getAllDataToMap')->name('V3.contract.report.map');
// Route::get('/{contract}', 'V3\Dashboard\ContractController@detail')->name('V3.contract.detail');
});
});
Route::prefix('profile')
->name('profile.')
->controller(ProfileController::class)
->group(function () {
Route::get('info', 'info')->name('info');
Route::post('edit', 'edit')->name('edit');
Route::post('change_password', 'changePassword')->name('changePassword');
Route::post('add_activity', 'addActivity')->name('addActivity');
});
Route::prefix('azmayesh_types')
->name('azmayesh_types.')
->controller(AzmayeshTypeController::class)
->group(function () {
Route::get('/', 'index')->middleware('permission:azmayesh-type-management')->name('index');
Route::get('/list', 'list')->middleware(['permission:azmayesh-type-management|azmayesh-management'])->name('list');
Route::get('/fields/{azmayeshType}', 'fields')->middleware('permission:azmayesh-type-management')->name('fields');
Route::get('/{azmayeshType}', 'show')->middleware('permission:azmayesh-type-management')->name('show');
Route::post('/store', 'store')->middleware('permission:azmayesh-type-management')->name('store');
Route::post('/update/{azmayeshType}', 'update')->middleware('permission:azmayesh-type-management')->name('update');
Route::post('/delete/{azmayeshType}', 'destroy')->middleware('permission:azmayesh-type-management')->name('delete');
});
Route::prefix('azmayesh_samples')
->name('azmayesh_samples.')
->middleware('permission:azmayesh-management')
->controller(AzmayeshSampleController::class)
->group(function () {
Route::get('/index/{azmayesh_id}', 'index')->name('index');
Route::get('/{azmayeshSample}', 'show')->name('show');
Route::post('/store', 'store')->name('store');
Route::post('/update/{azmayeshSample}', 'update')->name('update');
Route::post('/delete/{azmayeshSample}', 'destroy')->name('delete');
});
Route::prefix('azmayeshes')
->name('azmayeshes.')
->middleware('permission:azmayesh-management')
->controller(AzmayeshController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/{azmayesh}', 'show')->name('show');
Route::post('/store', 'store')->name('store');
Route::post('/update/{azmayesh}', 'update')->name('update');
Route::post('/delete/{azmayesh}', 'destroy')->name('delete');
});
Route::post('logout', LogoutController::class)->name('logout');
Route::prefix('road_items')
->name('road_items.')
->controller(RoadItemsProjectController::class)
->group(function () {
Route::get('/supervisor_index', 'supervisorIndex')
->middleware(['permission:show-road-item-supervise-cartable|show-road-item-supervise-cartable-province'])
->name('supervisorIndex');
Route::post('/verify_by_supervisor/{roadItemsProject}', 'VerifyBySupervisor')
->name('VerifyBySupervisor');
Route::post('/restore/{roadItemsProject}', 'restore')
->middleware('permission:restore-road-item')
->name('restore');
Route::post('/delete/{roadItemsProject}', 'delete')
->middleware('permission:delete-road-item')
->name('delete');
Route::get('/supervisor_report', 'supervisorCartableReport')
->name('supervisorCartableReport');
Route::get('/operator_index', 'operatorIndex')
->middleware('permission:create-road-item')
->name('operatorIndex');
Route::post('/store', 'store')
->middleware('permission:create-road-item')
->name('store');
Route::post('/update/{roadItemsProject}', 'update')->name('update');
Route::get('/operator_report', 'operatorCartableReport')
->name('operatorCartableReport');
Route::get('/machines/{roadItemsProject}', 'roadItemMachine')->name('roadItemMachine');
Route::get('/rahdaran/{roadItemsProject}', 'roadItemRahdar')->name('roadItemRahdar');
Route::get('/files/{roadItemsProject}', 'roadItemFile')->name('roadItemFile');
});
Route::prefix('road_patrols')
->name('road_patrols.')
->controller(RoadPatrolProjectController::class)
->group(function () {
Route::get('/supervisor_index', 'supervisorIndex')
->middleware(['permission:show-road-patrol-supervise-cartable|show-road-patrol-supervise-cartable-province'])
->name('supervisorIndex');
Route::post('/delete/{roadPatrol}', 'delete')
->middleware('permission:partial-delete-road-patrol|complete-delete-road-patrol')
->name('delete');
Route::get('/supervisor_report', 'supervisorCartableReport')
->name('supervisorCartableReport');
Route::get('/operator_index', 'operatorIndex')
->middleware('permission:add-road-patrol')
->name('operatorIndex');
Route::post('/store', 'store')
->middleware('permission:add-road-patrol')
->name('store');
Route::get('/operator_report', 'operatorCartableReport')
->name('operatorCartableReport');
Route::get('/operator/report/{roadPatrol}', 'getReport')
->name('getReport');
Route::get('/detail/{roadPatrol}', 'show')
->name('show');
Route::get('/machines/{roadPatrol}', 'roadPatrolMachine')->name('roadPatrolMachine');
Route::get('/rahdaran/{roadPatrol}', 'roadPatrolRahdar')->name('roadPatrolRahdar');
});
Route::prefix('cmms_machines')
->name('cmms_machines.')
->controller(CMMSMachinesController::class)
->group(function () {
Route::get('/list', 'list')->name('list');
Route::get('/search', 'search')->name('search');
});
Route::prefix('rahdaran')
->name('rahdaran.')
->controller(RahdaranController::class)
->group(function () {
Route::get('/list', 'list')->name('list');
Route::get('/search', 'search')->name('search');
});
Route::prefix('fms_vehicle')
->name('fmsVehicle.')
->controller(FMSVehicleManagementController::class)
->group(function () {
Route::post('/get_activity', 'getActivity')->name('getActivity');
});
Route::prefix('observed_items')
->name('observedItem.')
->controller(ObservedItemController::class)
->group(function () {
Route::get('/filter', 'filter')->name('filter');
Route::get('/{observedItem}', 'show')->name('show');
});
Route::prefix('road_item_reports')
->name('roadItemReports.')
->controller(RoadItemsReportController::class)
->group(function () {
Route::get('/get_sub_items', 'getSubItems')->name('getSubItems');
Route::get('/country_activity_per_sub_item', 'countryActivityPerSubItem')->name('countryActivityPerSubItem');
Route::get('/province_activity_per_sub_item', 'provinceActivityPerSubItem')->name('provinceActivityPerSubItem');
Route::get('/country_activity_per_item', 'countryActivityPerItem')->name('countryActivityPerItem');
Route::get('/province_activity_per_item', 'provinceActivityPerItem')->name('provinceActivityPerItem');
Route::get('/country_activity_excel_per_item', 'countryActivityExcelPerItem')->name('countryActivityExcelPerItem');
Route::get('/province_activity_excel_per_item', 'provinceActivityExcelPerItem')->name('provinceActivityExcelPerItem');
Route::get('/country_activity_excel_per_sub_item', 'countryActivityExcelPerSubItem')->name('countryActivityExcelPerSubItem');
Route::get('/province_activity_excel_per_sub_item', 'provinceActivityExcelPerSubItem')->name('provinceActivityExcelPerSubItem');
Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap');
Route::get('/show_on_map/{roadItemsProject}', 'showOnMap')->name('showOnMap');
});
Route::prefix('road_patrol_reports')
->name('roadPatrolReports.')
->controller(RoadPatrolReportController::class)
->group(function () {
Route::get('/country_activity', 'countryPatrolActivity')->name('countryPatrolActivity');
Route::get('/province_activity', 'provincePatrolActivity')->name('provincePatrolActivity');
Route::get('/country_activity_excel', 'countryActivityExcel')->name('countryActivityExcel');
Route::get('/province_activity_excel', 'provinceActivityExcel')->name('provinceActivityExcel');
Route::get('/activities_on_map', 'activitiesOnMap')->name('activitiesOnMap');
Route::get('/show_on_map/{roadPatrol}', 'showOnMap')->name('showOnMap');
});
Route::prefix('damages')
->name('damages.')
->middleware('permission:manage-damage')
->controller(DamageManagementController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/list', 'list')->name('list')->withoutMiddleware('permission:manage-damage');
Route::post('/', 'store')->name('store');
Route::get('/{damage}', 'show')->name('show');
Route::post('/{damage}', 'update')->name('update');
Route::post('/activate/{damage}', 'activate')->name('activate');
});
Route::prefix('receipts')
->name('receipts.')
->controller(AccidentReceiptController::class)
->group(function () {
Route::get('/', 'index')->name('index');
Route::get('/excel_report', 'excelReport')->name('excelReport');
Route::post('/', 'store')->name('store');
Route::get('/{accident}', 'show')->name('show');
Route::post('/{accident}', 'update')->name('update');
Route::delete('/{accident}', 'destroy')->name('destroy');
Route::get('/generate_insurance_letter/{accident}', 'generateInsuranceLetter')->name('generateInsuranceLetter');
Route::post('/confirm_payment_info/{accident}', 'confirmPaymentInfo')->name('confirmPaymentInfo');
Route::get('/submit_invoice/{accident}', 'submitInvoice')->name('submitInvoice');
Route::get('/check_payment_status/{accident}', 'checkPaymentStatus')->name('checkPaymentStatus');
Route::get('/generate_police_document/{accident}', 'generatePoliceDocument')->name('generatePoliceDocument');
Route::get('/send_sms_again/{accident}', 'sendSmsAgain')->name('sendSmsAgain');
Route::get('/accident_types', 'accidentTypes')->name('accidentTypes');
});
Route::prefix('receipt_reports')
->name('receiptReports.')
->controller(AccidentReceiptReportController::class)
->group(function () {
Route::get('/country_report', 'countryReport')->name('countryReport');
Route::get('/province_report', 'provinceReport')->name('provinceReport');
Route::get('/country_excel_report', 'countryExcelReport')->name('countryExcelReport');
Route::get('/province_excel_report', 'provinceExcelReport')->name('provinceExcelReport');
});
Route::prefix('road_observations')
->name('roadObservations.')
->controller(RoadObservationController::class)
->group(function () {
Route::get('/supervisor_index', 'supervisorIndex')->name('supervisorIndex')->middleware('permission:show-fast-react-province|show-fast-react');
Route::post('/verify/{road_observed}', 'verifyBySupervisor')->name('verifyBySupervisor');
Route::get('/supervisor_report', 'supervisorCartableReport')->name('supervisorCartableReport')->middleware('permission:show-fast-react-province|show-fast-react');
Route::get('/operator_index','operatorIndex')->name('operatorIndex')->middleware('permission:show-fast-react-edarate-shahri');
Route::get('/operator_report','operatorCartableReport')->name('operatorCartableReport')->middleware('permission:show-fast-react-edarate-shahri');
Route::get('/complaints_index', 'complaintsIndex')
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
->name('complaintsIndex');
Route::post('/register/{roadObserved}', 'register')
->middleware('permission:show-fast-react-edarate-shahri')
->name('register');
Route::post('/refer/{roadObserved}', 'refer')
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
->name('refer');
Route::get('/refer_list/{roadObserved}', 'referList')
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react')
->name('referList');
Route::post('/restore/{roadObserved}', 'restore')
->middleware('permission:restore-fast-react')
->name('restore');
Route::get('/complaints_report', 'complaintsReport')->name('complaintsReport')
->middleware('permission:show-fast-react-edarate-shahri|show-fast-react-province|show-fast-react');
});