name('viewProjectsList'); Route::get('changeStateProject/{projectId}', [CreateProjectController::class, 'changeStateProject'])->name('changeStateProject'); Route::get('deleteProject/{projectId}', [CreateProjectController::class, 'deleteProject'])->name('deleteProject'); Route::get('/checkProjectIsptNumber/{projectId?}', [ProjectoDatacontroller::class, 'checkProjectIsptNumber'])->name('checkProjectIsptNumber'); Route::post('deletePendingEquipments', [ CreateProjectController::class, 'deletePendingEq uipments' ])->name('deletePendingEquipments'); Route::get('showDetailsEquipmentForQrCode/{equipmentId}/{projectId}', [PreparedProjectController::class, 'showDetailsEquipmentForQrCode'])->name('showDetailsEquipmentForQrCode'); Route::get('showAllEquipmentsInProjectForQrCode/{projectId}', [PreparedProjectController::class, 'showAllEquipmentsInProjectForQrCode'])->name('showAllEquipmentsInProjectForQrCode'); Route::get('testRelatorio', [ProjectoDatacontroller::class, 'testRelatorio'])->name('testRelatorio'); Route::get('showAllClientsForProjectReports', [ProjectoDatacontroller::class, 'showAllClientsForProjectReports'])->name('showAllClientsForProjectReports'); Route::get('showAllClientsForProjectReportsTable', [ProjectoDatacontroller::class, 'showAllClientsForProjectReportsTable'])->name('showAllClientsForProjectReportsTable'); Route::get('cancelElementalTaskForEquipment/{controlEquipmentID}', [WorkstationsJobsController::class, 'cancelElementalTaskForEquipment'])->name('cancelElementalTaskForEquipment'); // Nao gosto que esteja neste controller, verificar mais tarde Route::get('articulated_2/{projectID}/{equipmentID}', [ProjectoDatacontroller::class, 'projectDetails_11'])->name('projectDetails_11'); Route::get('manageAssets/{equipmentID}', [ProjectoDatacontroller::class, 'articulated_22'])->name('articulated_22'); Route::get('showAmbitDetailsProjectHistory/{projectID}/{equipmentID}', [ProjectoDatacontroller::class, 'showAmbitDetailsProjectHistory'])->name('showAmbitDetailsProjectHistory'); Route::get('getDataEquipment', [ExecutionProjectController::class, 'getDataEquipment'])->name('getDataEquipment'); Route::post('deleteEquipmentInProject', [CreateProjectController::class, 'deleteEquipmentInProject'])->name('deleteEquipmentInProject'); Route::post('changeAmbitEquipment', [CreateProjectController::class, 'changeAmbitEquipment'])->name('changeAmbitEquipment'); Route::get('getDataEquipmentClient', [ExecutionProjectController::class, 'getDataEquipmentClient'])->name('getDataEquipmentClient'); Route::get('getDataProjects', [ClientController::class, 'getDataProjects'])->name('getDataProjects'); Route::get('getDataProjectsClient', [ClientController::class, 'getDataProjectsClient'])->name('getDataProjectsClient'); Route::get('showReportingEquipmentProject/{dataEquipment}', [ClientController::class, 'showReportingEquipmentProject'])->name('showReportingEquipmentProject'); //oK Route::get('showReportingForAmbitsProjectPdf/{ambitId}/{projectId}', [ClientController::class, 'showReportingForAmbitsProjectPdf'])->name('showReportingForAmbitsProjectPdf'); //ok Route::get('getDataAllEquipmentsForAmbitOfProject', [ClientController::class, 'getDataAllEquipmentsForAmbitOfProject'])->name('getDataAllEquipmentsForAmbitOfProject'); // Route::get('test/{id}',[ExecutionProjectController::class, 'projectDetails_11'])->name('projectDetails_11'); // Route::get('getEquipment', [ClientController::class, 'getEquipment'])->name('getEquipment'); // Route::get('getEquipmentsOfAmbit', [ClientController::class, 'getEquipmentsOfAmbit'])->name('getEquipmentsOfAmbit'); // Route::get('getEquipment', [UsersDataTable::class,'getEquipment'])->name('getEquipment'); // Route::get('getEquipment', [UsersDataTable::class, 'html'])->name('getEquipment'); Route::post('language/switch', [LanguageController::class, 'switchLanguage'])->name('language.switch'); // Esta rota so pode aceder quem tiver o link atravez do email // Route::get('formulario', function () { // return view('email/FormAdmin'); // })->name('formulario'); Route::get('createUserForm', [FormController::class, 'createUserForm'])->name('createUserForm'); Route::get('/validate-form', [Pending_UserController::class, 'validateForm'])->name('validateForm'); Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser'); // Email Route::get('/your-verification-route/{id}/{hash}', [UserController::class, 'yourVerificationMethod']) ->middleware(['auth', 'signed', 'throttle:6,1']) ->name('verification.verify'); /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider and all of them will | be assigned to the "web" middleware group. Make something great! | */ // Rotas protegidas que exigem verificação de e-mail Route::middleware(['auth'])->group(function () { /*manageAssets |-------------------------------------------------------------------------- | User_Type (tecnico) |-------------------------------------------------------------------------- |*** Routes unique access to the technical */ Route::middleware(['checkUserType:enterWorkstation'])->group(function () { Route::get('enterWorkstation', function () { return view('workstations.start'); })->name('enterWorkstation'); Route::get('/getEquipmentData/{equipment_id}/{component_tag}', [WorkstationsJobsController::class, 'getEquipmentData'])->name('getEquipmentData'); Route::post('receiveAnswersEquipment/{control_equipment_workstation_id}', [WorkstationsJobsController::class, 'receiveAnswersEquipment'])->name('receiveAnswersEquipment'); }); Route::middleware(['checkUserType:testClient'])->group(function () { // Dashboard Route::get('dashboardClient', [ClientController::class, 'receiveProjectsClient'])->name('dashboardClient'); // Relatorios Route::get('reportingDataClient/{clientID?}', [ClientController::class, 'reportingDataClient'])->name('reportingDataClient'); //Api Route::get('/api/receiveMonths/{yearsProjects}', [ClientController::class, 'receiveMonths']); Route::get('/api/receiveDays/{yearProjects}/{monthProjects}', [ClientController::class, 'receiveDays']); // Equipamentos do Cliente Route::get('manageAssetsClient', [ClientController::class, 'receiveManageAssetsClient'])->name('manageAssetsClient'); //Relatorios Obras Concluidas Route::get('showDataDetailsProjectClient/{projectID?}', [ClientController::class, 'showDataDetailsProjectClient'])->name('showDataDetailsProjectClient'); //Api Route::get('getDataAmbitsOfProject', [ClientController::class, 'getDataAmbitsOfProject'])->name('getDataAmbitsOfProject'); Route::get('getDataEquipmentsOfProject', [ClientController::class, 'getDataEquipmentsOfProject'])->name('getDataEquipmentsOfProject'); // Relatorio por Ambito de uma Determinada Obra. Route::get('showReportingForAmbitsProject/{ambitId}/{projectId}', [ClientController::class, 'showReportingForAmbitsProject'])->name('showReportingForAmbitsProject'); //Api Route::get('getEquipmentsOfAmbit', [ClientController::class, 'getEquipmentsOfAmbit'])->name('getEquipmentsOfAmbit'); }); /* |-------------------------------------------------------------------------- | User_Type (Super_Administrador) |-------------------------------------------------------------------------- |*** Routes unique access to the Super_Administrator, Administrator */ Route::middleware(['checkUserType:home'])->group(function () { Route::get('/', [ProjectoDatacontroller::class, ('HomePage')])->name('home'); /* |-------------------------------------------------------------------------- | CRUD - users |-------------------------------------------------------------------------- | Definition routes to implement the CRUD model */ Route::controller(userController::class) ->group(function () { Route::get('users/listUsers', 'listUsers')->name('users.list'); Route::get('users/listCompanies', 'listCompanies')->name('users.company'); Route::get('users/{id}', 'show')->name('users.Show'); Route::get('users/{id}/edit', 'edit')->name('users.edit'); Route::put('users/{user}', 'update')->name('users.update'); Route::delete('users/{user}', 'destroy')->name('users.destroy'); Route::post('editProfile/{id}', 'EditProfile')->name('editProfile'); Route::get('company/{id}', 'showCompany')->name('showCompany'); Route::post('createCompany', 'createCompany')->name('createCompany'); Route::post('companyEdit', 'companyEdit')->name('companyEdit'); }); Route::post('editEquipmentTasks/{equipmentID}/{projectId}', [ProjectoDatacontroller::class, 'editEquipmentTasks'])->name('editEquipmentTasks'); /* |-------------------------------------------------------------------------- | Management of projects created |-------------------------------------------------------------------------- | */ Route::controller(CreateProjectController::class) ->group(function () { // indication of progress bar to projects that are in 'Planning' Route::get('projectDetails_1/{id}', 'showStep1')->name('projectDetails_1'); Route::get('articulated_2/{projectID}', 'showStep2')->name('articulated_2'); Route::get('workStation_3/{id}', 'showStep3')->name('workStation_3'); // Para adicionar uma tarefa Complementar Route::post('addFurtherTasks', 'addFurtherTasks')->name('addFurtherTasks'); Route::post('deleteFurtherTasks', 'deleteFurtherTasks')->name('deleteFurtherTasks'); Route::get('createProject', 'createProjectForStep1')->name('createProject'); Route::post('receiveEquipmentToAssociateTasks', 'receiveEquipmentToAssociateTasks')->name('receiveEquipmentToAssociateTasks'); Route::get('finishCreatingProject/{numberProject}', 'finishCreatingProject')->name('finishCreatingProject'); Route::get('testDataTables', 'testDataTables')->name('testDataTables'); Route::get('workstationsAssociationTasks', 'workstationsAssociationTasks')->name('workstationsAssociationTasks'); Route::get('AddNomenclatureWorkstation', 'AddNomenclatureWorkstation')->name('AddNomenclatureWorkstation'); Route::get('removeProjectEquipment', 'removeProjectEquipment')->name('removeProjectEquipment'); Route::delete('deleteWorkstation/{name}', 'deleteWorkstation')->name('deleteWorkstation'); Route::post('editEquipment', 'EditEquipment')->name('editEquipment'); Route::post('newProject1', 'processStep1')->name('processStep1'); Route::post('createWorkStations', 'createWorkStations')->name('createWorkStations'); Route::post('projectDetails_1', 'EditprocessStep1')->name('EditprocessStep1'); Route::post('articulated_2', 'processStep2')->name('processStep2'); Route::post('articulated_2CreateEquipment', 'createEquipmentManual')->name('articulated_2CreateEquipment'); Route::post('workStation_3', 'processStep3'); Route::delete('removeEquipment/{id}', 'removePendingEquipment')->name('removeEquipment'); Route::post('CreateNewEquipmentFromPendingEquipment/{id}', 'CreateNewEquipmentFromPendingEquipment')->name('CreateNewEquipmentFromPendingEquipment'); Route::post('create-equipament-project', 'createEquipamentProject')->name('createEquipamentProject'); Route::get('equipments/{id}/attributes', 'getAttributes'); /* |-------------------------------------------------------------------------- | Template Excel |-------------------------------------------------------------------------- */ Route::get('template1/{numberProject}', 'receiveUnitsForExcelTemplate')->name('download'); }); Route::get('user-data', [PreparedProjectController::class, 'getData1'])->name('getData'); Route::get('preparedProject/{projectID}', [PreparedProjectController::class, 'PreparedProject'])->name('preparedProject'); Route::get('EditProjectForArticulated', [PreparedProjectController::class, 'editProjectForArticulated'])->name('EditProjectForArticulated'); Route::get('ExecutionProject/{projectID}', [ExecutionProjectController::class, 'receiveExecutionProject'])->name('ExecutionProject'); Route::get('/ReceiveEquipmentIdForShowModal/{EquipmentID}', [ExecutionProjectController::class, 'receiveEquipmentIdForShowModal'])->name('ReceiveEquipmentIdForShowModal '); Route::post('/changeFromExecutionToPlanning/{projectID}', [ExecutionProjectController::class, 'changeFromExecutionToPlanning'])->name('changeFromExecutionToPlanning'); //Gerir os Ativos gerais Route::get('manageAssets', [ProjectoDatacontroller::class, 'ManageAssets'])->name('manageAssets'); Route::get('units/{id}', [ProjectoDatacontroller::class, 'showUnit'])->name('showUnit'); Route::get('usersProfiles/{id}', [userController::class, 'UserProfile'])->name('usersProfiles'); Route::post('enviar-formulario', [FormController::class, 'enviarEmail'])->name('enviar.formulario'); Route::get('/CreateUsers/{id}', [Pending_UserController::class, 'ShowFormUser'])->name('ShowPendingUser'); Route::get('/CreateUsers', [Pending_UserController::class, 'ListPendingUsers'])->name('CreateUsers'); Route::post('/register', [CustomRegistrationController::class, 'store'])->name('register'); // Mostrar Instalação click }); }); // *** All api routes have been moved to api.php *** Route::get('/api/receiveEquipmentsExecutionProject/{receiveNumberProject}', [ExecutionProjectController::class, 'receiveEquipmentsExecutionProject'])->name('receiveEquipmentsExecutionProject'); Route::get('/api/receiveAllEquipments', [ProjectoDatacontroller::class, 'receiveAllEquipments']); Route::get('/api/receiveEquipmentsProject/{receiveNumberProject}', [ProjectoDatacontroller::class, 'receiveEquipmentsProject']); Route::get('/api/receiveWorkstationProject/{receiveNumberProject}', [ProjectoDatacontroller::class, 'receiveWorkstationProject']); Route::get('/api/getEquipmentDetails/{receiveListEquipmentId}', [ProjectoDatacontroller::class, 'getEquipmentDetails']); // Route::get('/api/receiveAllInstallationEquipment/{receiveNumberProject}', [ProjectoDatacontroller::class, 'receiveAllInstallationEquipment']); Route::get('/api/receiveAllInstallationEquipment', [ProjectoDatacontroller::class, 'receiveAllInstallationEquipment'])->name('api_receiveAllInstallationEquipment'); Route::get('/api/receveTasksWorkstationPlanning/{WorkstationId}', [CreateProjectController::class, 'receveTasksWorkstationPlanning']); Route::get('/api/ambits/prepared{equipmentType}', [PreparedProjectController::class, 'getAmbits']); Route::get('/api/equipment/{id}', [CreateProjectController::class, 'showJson']); Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']); Route::get('/api/ambits/{equipmentType}', [CreateProjectController::class, 'getAmbits']); Route::get('/api/receiveQuestionsEquipment/{equipmentID}', [WorkstationsJobsController::class, 'receiveQuestionsEquipment']); // Route::get('/api/receiveUnits', [CreateProjectController::class, 'receiveUnits']); //Rota Api diretamente para a cracao da Obra Route::get('/api/receiveUnits/{numberProject}', [CreateProjectController::class, 'receiveUnits']); Route::get('api/receivePlants/{receiveAllClients}', [ProjectoDatacontroller::class, 'receivePlants']); Route::get('api/receiveUnitsManageAssets/{receivePlantClientRelated}', [ProjectoDatacontroller::class, 'receiveUnitsManageAssets']); // Route::get('api/reloadWsPage{controlEquipmentId}',[WorkstationsJobsController::class,'reloadWsPage']); // Route::post('/api/reloadWsPage/{controlEquipmentId}', [WorkstationsJobsController::class, 'reloadWsPage']); // Route::post('/api/reloadWsPage/{controlEquipmentId}', [WorkstationsJobsController::class, 'reloadWsPage']); // Route::post('/api/updateWorkstationStatus/', [WorkstationsJobsController::class, 'updateWorkstationStatus']); // Route::post('/api/closeWorkstationSession/', [WorkstationsJobsController::class, 'closeWorkstationSession']); Route::post('/api/updateSessionStatus/{controlEquipmentId}', [WorkstationsJobsController::class, 'updateSessionStatus']); Route::post('/api/closeSession/{controlEquipmentId}', [WorkstationsJobsController::class, 'closeSession']); // // Rotas para o tipo de usuário 'Técnico' // Route::middleware(['auth', 'checkUserType:enterWorkstation'])->group(function () { // Route::get('enterWorkstation', function () { // return view('workstations.start'); // })->name('enterWorkstation'); // // Adicione outras rotas específicas para 'Técnico' aqui // }); // Rotas para o tipo de usuário 'Empresa' Route::middleware(['auth', 'checkUserType:dashboardClient'])->group(function () { Route::get('dashboardClient', [ClientController::class, 'receiveProjectsClient'])->name('dashboardClient'); // Adicione outras rotas específicas para 'Empresa' aqui });