Merge remote-tracking branch 'origin/Project-update-after-test-in-sines' into Update-project-style
This commit is contained in:
commit
4db5baa536
21
app/Http/Controllers/LanguageController.php
Normal file
21
app/Http/Controllers/LanguageController.php
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class LanguageController extends Controller
|
||||
{
|
||||
|
||||
public function switchLanguage(Request $request)
|
||||
{
|
||||
$locale = $request->input('locale');
|
||||
|
||||
if (!in_array($locale, ['en', 'pt'])) {
|
||||
abort(400);
|
||||
}
|
||||
|
||||
session(['locale' => $locale]);
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@ class WorkstationsJobsController extends Controller
|
|||
{
|
||||
public function receiveAnswersEquipment(Request $request)
|
||||
{
|
||||
|
||||
// Primeiro ele deve criar a associação entre id atual do control + perguntas e respostas
|
||||
$receiveAnswersElementalTasks = new workstationsTaskAnswers;
|
||||
$receiveAnswersElementalTasks->control_equipment_workstation_id = $request->control_equipment_workstationid;
|
||||
|
|
@ -49,7 +50,7 @@ public function receiveAnswersEquipment(Request $request)
|
|||
|
||||
// Armazenando a string JSON no banco de dados
|
||||
$receiveAnswersElementalTasks->answer_json = $jsonString;
|
||||
// $receiveAnswersElementalTasks->save();
|
||||
$receiveAnswersElementalTasks->save();
|
||||
|
||||
// update departure_date value
|
||||
$receiveDataControlWs = ControlEquipmentWorkstation::find($request->control_equipment_workstationid);
|
||||
|
|
@ -92,8 +93,6 @@ public function receiveAnswersEquipment(Request $request)
|
|||
$elemental_tasks_id = null;
|
||||
$further_tasks_id = $next_todo;
|
||||
}
|
||||
// dd($recebeDataControlId->id_workstations );
|
||||
|
||||
|
||||
if ($request->stateEquipment == "cancel") {
|
||||
$deleteDataControlWhereRefreashPage = ControlEquipmentWorkstation::where('id_workstations', $receiveDataControlWs->id_workstations)
|
||||
|
|
@ -297,7 +296,57 @@ public function getEquipmentData($equipment_id)
|
|||
'task_todo' => $controlEquipmentWorkstation->elemental_tasks_id
|
||||
]);
|
||||
} else
|
||||
// Busca as tarefas do Equipamento a serem feitas
|
||||
$equipmentTasks = DB::table('users as u')
|
||||
->join('construction_workstations as cw', 'u.user_name', '=', 'cw.name_workstations')
|
||||
->join('workstations_association_tasks as wat', 'cw.id_workstations', '=', 'wat.id_workstations')
|
||||
->join('equipments as e', 'wat.company_projects_id', '=', 'e.company_projects_id')
|
||||
->join('ordered_equipment_tasks as oet', 'e.equipment_id', '=', 'oet.equipment_id')
|
||||
->where('u.email', $userEmail->email)
|
||||
->select('e.equipment_id', 'e.equipment_tag', DB::raw('GROUP_CONCAT(DISTINCT COALESCE(oet.elemental_tasks_id, oet.further_tasks_id) ORDER BY oet.execution_order) AS equipment_all_tasks'))
|
||||
->groupBy('e.equipment_id', 'e.equipment_tag')
|
||||
->orderBy('e.equipment_id', 'ASC')
|
||||
->get();
|
||||
|
||||
//Busca as tarefas que podem ser feitas pela WS Atual a partir do Email
|
||||
$userTasks = DB::table('users as u')
|
||||
->join('construction_workstations as cw', 'u.user_name', '=', 'cw.name_workstations')
|
||||
->join('workstations_association_tasks as wat', 'cw.id_workstations', '=', 'wat.id_workstations')
|
||||
->where('u.email', $userEmail->email)
|
||||
->select('cw.id_workstations', 'cw.name_workstations', DB::raw('GROUP_CONCAT(COALESCE(wat.elemental_tasks_id, wat.further_tasks_id)) AS all_tasks'))
|
||||
->groupBy('cw.id_workstations', 'cw.name_workstations')
|
||||
->get();
|
||||
|
||||
// Convertendo as tarefas do usuário em um array
|
||||
$tasksArray = explode(',', $userTasks->pluck('all_tasks')->first());
|
||||
|
||||
$controlEquipmentWorkstation = ControlEquipmentWorkstation::where('equipment_id', $receiveDataEquipment->equipment_id)
|
||||
->whereIn('elemental_tasks_id', $tasksArray)
|
||||
->whereNull('id_workstations')
|
||||
->whereNull('entry_date')
|
||||
->whereNull('departure_date')
|
||||
->first();
|
||||
|
||||
// Se encontrar um dado que satisfaca as verificacoes acima deve implementar a tarefa para esta WS.
|
||||
if ($controlEquipmentWorkstation) {
|
||||
|
||||
$controlEquipmentWorkstation->id_workstations = $findDataWs->id_workstations;
|
||||
$controlEquipmentWorkstation->entry_date = now();
|
||||
$controlEquipmentWorkstation->save();
|
||||
|
||||
$receiveDataElementalTask = ElementalTasks::find($controlEquipmentWorkstation->elemental_tasks_id);
|
||||
|
||||
//Returning the values to a view "values"
|
||||
return view('workstations.workstations', [
|
||||
'receiveDataElementalTask' => $receiveDataElementalTask,
|
||||
'receiveDataEquipment' => $receiveDataEquipment,
|
||||
'control_ew_id' => $controlEquipmentWorkstation->control_equipment_workstation_id,
|
||||
'task_todo' => $controlEquipmentWorkstation->elemental_tasks_id
|
||||
]);
|
||||
} else
|
||||
|
||||
//cria a nova linha
|
||||
$equipmentData = DB::select('CALL ManageEquipmentTasks(?, ?)', [$userEmail->email, $equipment_id]);
|
||||
//cria a nova linha
|
||||
$equipmentData = DB::select('CALL ManageEquipmentTasks(?, ?)', [$userEmail->email, $equipment_id]);
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class Kernel extends HttpKernel
|
|||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\Language::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
|
|
|
|||
25
app/Http/Middleware/Language.php
Normal file
25
app/Http/Middleware/Language.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class Language
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// return $next($request);
|
||||
if (session('locale')) {
|
||||
app()->setLocale(session('locale'));
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
|
|
@ -83,9 +83,7 @@
|
|||
|
|
||||
*/
|
||||
|
||||
// 'locale' => 'en',
|
||||
'locale' => 'pt',
|
||||
|
||||
'locale' => 'en',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
140
resources/lang/en/messages.php
Normal file
140
resources/lang/en/messages.php
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
<?php
|
||||
|
||||
|
||||
return [
|
||||
|
||||
// Tudo relacionado ao dashboard, tanto a pagina como o navbarMenu
|
||||
'dashboard' => [
|
||||
//navbarMenu
|
||||
'dashboard' => 'Dashboard',
|
||||
|
||||
'planning' => [
|
||||
'description' => 'In planning',
|
||||
'text' => 'In planning for 2023'
|
||||
],
|
||||
'prepared' => [
|
||||
'description' => 'Prepared',
|
||||
'text' => 'Waiting for the work to start.'
|
||||
],
|
||||
'on_going' => [
|
||||
'description' => 'On going',
|
||||
'text' => 'Work in progress.'
|
||||
],
|
||||
'finished' => [
|
||||
'description' => 'Finished.',
|
||||
'text' => 'Last projects 2023.'
|
||||
],
|
||||
],
|
||||
|
||||
//alterar na view Portfolio
|
||||
'portfolio' => [
|
||||
'top_view_part' => [
|
||||
'management_assets' => 'Management assets',
|
||||
'portfolio' => 'portfolio',
|
||||
'managing_assets' => 'Managing Assets',
|
||||
],
|
||||
'change_buttons' => [
|
||||
'create_assets' => 'Create assets',
|
||||
'asset_table' => 'Asset table',
|
||||
],
|
||||
'asset_table' => [
|
||||
''=> '',
|
||||
],
|
||||
'users_table' => [
|
||||
'id' => 'ID',
|
||||
'name' => 'Name',
|
||||
'email' => 'Email',
|
||||
'user_type' => 'User type',
|
||||
'actions' => [
|
||||
'actions' => 'Actions',
|
||||
'details' => 'Details',
|
||||
'edit'=> 'Edit',
|
||||
'delete' => 'Delete'
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'users_listUsers' => [
|
||||
//Navbar
|
||||
'users' => 'Users',
|
||||
'companies' => 'Companies',
|
||||
'create_users' => 'Create users',
|
||||
|
||||
'top_view_part' => [
|
||||
'companies' => 'Companies',
|
||||
'administration' => 'Administration',
|
||||
'users_table' => 'Users table',
|
||||
'companies_table' => 'Companies Table',
|
||||
],
|
||||
],
|
||||
|
||||
// View : Create Users
|
||||
'pendingUsers' => [
|
||||
'create_users' => 'Create Users',
|
||||
'administration' => 'Administration',
|
||||
'submit_form' => 'Submit Form',
|
||||
'pending_users' => 'Pending Users',
|
||||
'submit' => 'Submit',
|
||||
'table_pending_user' => [
|
||||
'name' => 'Name',
|
||||
'email' => 'Email',
|
||||
'verify' => 'Verify'
|
||||
],
|
||||
],
|
||||
|
||||
// View : createProject
|
||||
'createProject' => [
|
||||
//NavbarMenu
|
||||
"create_project"=> "Create a project",
|
||||
|
||||
'project_work_details' => 'Project Work Details',
|
||||
'project_identification' => 'Project identification',
|
||||
'ispt_project_number' => 'ISPT Project Number',
|
||||
'ispt_project_manager' => 'ISPT Project Manager',
|
||||
'compan_project_manager' => 'Company Project Manager',
|
||||
//Selecionar uma empresa.
|
||||
'select_company' => [
|
||||
'contracting_company' => 'Contracting Company',
|
||||
'select_company' => 'Select a contracting Company',
|
||||
],
|
||||
//Selecionar ou criar uma instalacao
|
||||
'select_plant' => [
|
||||
'plant' => 'Select Plant',
|
||||
'create_new_plant' => 'Create a new plant',
|
||||
'new_plant' => 'New plant',
|
||||
'plant_address' => 'Plant address',
|
||||
'select_plant' => 'Select Plant',
|
||||
],
|
||||
'company_project_number' => 'Company Project Number',
|
||||
'project_start_date' => 'Project Start Date',
|
||||
],
|
||||
|
||||
|
||||
'profile' => [
|
||||
'show_profile' => [
|
||||
'profile' => 'Profile',
|
||||
'full_name' => 'Full Name',
|
||||
'nif' => 'Nif',
|
||||
'email_address' => 'Email address',
|
||||
'user_type' => 'User type',
|
||||
'mobile_phone' => 'Mobile phone',
|
||||
'account_creation_date' => 'account_creation_date'
|
||||
],
|
||||
'edit_profile' => [
|
||||
'edit_profile'=> 'Edit profile',
|
||||
'update_your_logo' => 'Update your logo',
|
||||
'image' => 'Image',
|
||||
'full_name'=> 'Full name',
|
||||
'nif' => 'Nif',
|
||||
'email_address' => 'Email address',
|
||||
'mobile_phone' => 'mobile_phone',
|
||||
],
|
||||
],
|
||||
|
||||
//Botoes gerais ISPT4.0
|
||||
'buttons' => [
|
||||
'save' => 'save',
|
||||
],
|
||||
|
||||
'welcome' => 'Welcome to our application!',
|
||||
];
|
||||
0
resources/lang/en/validation.php
Normal file
0
resources/lang/en/validation.php
Normal file
136
resources/lang/pt/messages.php
Normal file
136
resources/lang/pt/messages.php
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
|
||||
|
||||
return [
|
||||
|
||||
'dashboard' => [
|
||||
//navbarMenu
|
||||
'dashboard' => 'Dashboard',
|
||||
|
||||
'planning' => [
|
||||
'description' => 'Em planeamento',
|
||||
'text' => 'Em planeamento de 2023'
|
||||
],
|
||||
'prepared' => [
|
||||
'description' => 'Preparadas',
|
||||
'text' => 'Aguarda o início da obra.'
|
||||
],
|
||||
'on_going' => [
|
||||
'description' => 'Em execução',
|
||||
'text' => 'Obra em curso.'
|
||||
],
|
||||
'finished' => [
|
||||
'description' => 'Concluídas',
|
||||
'text' => 'Últimas obras de 2023.'
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
'portfolio' => [
|
||||
'top_view_part' => [
|
||||
'management_assets' => 'Gestão de ativos',
|
||||
'portfolio' => 'Portefólio',
|
||||
'managing_assets' => 'Gerir ativos',
|
||||
],
|
||||
'change_buttons' => [
|
||||
'create_assets' => 'Criar ativos',
|
||||
'asset_table' => 'Tabela de ativos',
|
||||
],
|
||||
'users_table' => [
|
||||
'id' => 'ID',
|
||||
'name' => 'Nome',
|
||||
'email' => 'Email',
|
||||
'user_type' => 'Tipo de Utilizador',
|
||||
'actions' => [
|
||||
'actions' => 'Ações',
|
||||
'details' => 'Detalhes',
|
||||
'edit' => 'Editar',
|
||||
'delete' => 'Excluir'
|
||||
],
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
'users_listUsers' => [
|
||||
//Navbar
|
||||
'users' => 'Utilizadores',
|
||||
'companies' => 'Clientes',
|
||||
'create_users' => 'Criar Utilizadores',
|
||||
|
||||
'top_view_part' => [
|
||||
'companies' => 'Empresas',
|
||||
'administration' => 'Administração',
|
||||
'users_table' => 'Tabela Utilizadores',
|
||||
'companies_table' => 'Tabela Empresas',
|
||||
],
|
||||
],
|
||||
|
||||
// View : Create Users
|
||||
'pendingUsers' => [
|
||||
'create_users' => 'Criar Utilizadores',
|
||||
'administration' => 'Administração',
|
||||
'submit_form' => 'Enviar Formulário',
|
||||
'pending_users' => 'Utilizadores Pendentes',
|
||||
'submit' => 'Enviar',
|
||||
'table_pending_user' => [
|
||||
'name' => 'Nome',
|
||||
'email' => 'Email',
|
||||
'verify' => 'Verificar'
|
||||
],
|
||||
],
|
||||
|
||||
// View : createProject
|
||||
'createProject' => [
|
||||
//NavbarMenu
|
||||
"create_project" => "Criar obra",
|
||||
|
||||
'project_work_details' => 'Detalhes Técnicos do Projeto',
|
||||
'project_identification' => 'Identificação do projecto',
|
||||
'ispt_project_number' => 'Número do Projeto ISPT',
|
||||
'ispt_project_manager' => 'Gestor de Projeto ISPT',
|
||||
'compan_project_manager' => 'Gestor de Projeto da Empresa',
|
||||
//Selecionar uma empresa.
|
||||
'select_company' => [
|
||||
'contracting_company' => 'Empresa Contratante',
|
||||
'select_company' => 'Selecionar uma Empresa',
|
||||
],
|
||||
//Selecionar ou criar uma instalacao
|
||||
'select_plant' => [
|
||||
'plant' => 'Instalação',
|
||||
'create_new_plant' => 'Criar uma nova Instalacao',
|
||||
'new_plant' => 'Nova Instalação',
|
||||
'plant_address' => 'Morada Instalação',
|
||||
'select_plant' => 'Selecione uma Instalação',
|
||||
],
|
||||
'company_project_number' => 'Número do Projeto da Empresa',
|
||||
'project_start_date' => 'Data de Início do Projeto',
|
||||
],
|
||||
|
||||
//view: usersProfiles
|
||||
'profile' => [
|
||||
'show_profile' => [
|
||||
'profile' => 'Perfil',
|
||||
'full_name' => 'Nome e Apelido',
|
||||
'nif' => 'Nif',
|
||||
'email_address' => 'Email',
|
||||
'user_type' => 'Tipo de utilizador',
|
||||
'mobile_phone' => 'Telemóvel',
|
||||
'account_creation_date' => 'Conta Criada em'
|
||||
],
|
||||
'edit_profile' => [
|
||||
'update_your_logo' => 'Actualizar o seu logótipo',
|
||||
'image' => 'Imagem',
|
||||
'full_name'=> 'Nome e Apelido',
|
||||
'nif' => 'Nif',
|
||||
'email_address' => 'Email',
|
||||
'mobile_phone' => 'Telemóvel',
|
||||
],
|
||||
],
|
||||
|
||||
'buttons' => [
|
||||
'save' => 'Guardar',
|
||||
],
|
||||
|
||||
'welcome' => 'Bem-vindo à nossa aplicação!',
|
||||
// outras traduções
|
||||
];
|
||||
|
|
@ -11,12 +11,12 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="text-light">Empresas</h1>
|
||||
<h1 class="text-light">{{__('messages.users_listUsers.top_view_part.companies')}}</h1>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Administração</li>
|
||||
<li class="breadcrumb-item active">Empresas</li>
|
||||
<li class="breadcrumb-item active">{{__('messages.users_listUsers.top_view_part.administration')}}</li>
|
||||
<li class="breadcrumb-item active">{{__('messages.users_listUsers.top_view_part.companies')}}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="card-light">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Tabela Empresas</h3>
|
||||
<h3 class="card-title">{{__('messages.users_listUsers.top_view_part.companies_table')}}</h3>
|
||||
</div>
|
||||
{{-- ./card-header --}}
|
||||
<div class="card-body">
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="text-light">Empresas</h1>
|
||||
<h1 class="text-light">{{__('messages.users_listUsers.top_view_part.companies')}}</h1>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Administração</li>
|
||||
<li class="breadcrumb-item active">Empresas</li>
|
||||
<li class="breadcrumb-item active">{{__('messages.users_listUsers.top_view_part.administration')}}</li>
|
||||
<li class="breadcrumb-item active">{{__('messages.users_listUsers.top_view_part.companies')}}</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="card-light">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Tabela Utilizadores</h3>
|
||||
<h3 class="card-title">{{__('messages.users_listUsers.top_view_part.users_table')}}</h3>
|
||||
</div>
|
||||
<!-- /.card-header -->
|
||||
<div class="card-body">
|
||||
|
|
@ -35,12 +35,12 @@
|
|||
<table class="table table-hover text-nowrap" id="TableReceiveAllUsers">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Nome</th>
|
||||
<th>Email</th>
|
||||
<th>Tipo de Utilizador</th>
|
||||
<th>Ações</th>
|
||||
</tr>Empresas
|
||||
<th>{{__('messages.portfolio.users_table.id')}}</th>
|
||||
<th>{{__('messages.portfolio.users_table.name')}}</th>
|
||||
<th>{{__('messages.portfolio.users_table.email')}}</th>
|
||||
<th>{{__('messages.portfolio.users_table.user_type')}}</th>
|
||||
<th>{{__('messages.portfolio.users_table.actions.actions')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($users as $user)
|
||||
|
|
@ -59,12 +59,12 @@ class="actions-btn btn btn-light circle ">
|
|||
<a href="{{ route('users.Show', ['id' => $user->user_id]) }}"
|
||||
class="dropdown-item text-light">
|
||||
<i class="fa-solid fa-eye text-light"></i>
|
||||
Detalhes
|
||||
{{__('messages.portfolio.users_table.actions.details')}}
|
||||
</a>
|
||||
<a href="{{ route('users.edit', ['id' => $user->user_id]) }}"
|
||||
class="dropdown-item text-light">
|
||||
<i class="fa-solid fa-edit text-light"></i>
|
||||
Editar
|
||||
{{__('messages.portfolio.users_table.actions.edit')}}
|
||||
</a>
|
||||
<form action="{{ route('users.destroy', $user) }}" method="POST"
|
||||
onsubmit="return confirm('Are you sure you want to delete this user?');"
|
||||
|
|
@ -73,7 +73,7 @@ class="dropdown-item text-light">
|
|||
@method('DELETE')
|
||||
<button type="submit" class="dropdown-item text-danger">
|
||||
<i class="fa-solid fa-trash-alt text-danger"></i>
|
||||
Excluir
|
||||
{{__('messages.portfolio.users_table.actions.delete')}}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -6,12 +6,14 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="text-light">Gestão de ativos</h1>
|
||||
<h1 class="text-light">{{ __('messages.portfolio.top_view_part.management_assets') }}</h1>
|
||||
{{-- {{__('messages.dashboard.text')}} --}}
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Portefólio</li>
|
||||
<li class="breadcrumb-item active">Gerir ativos</li>
|
||||
<li class="breadcrumb-item active">{{ __('messages.portfolio.top_view_part.portfolio') }}</li>
|
||||
<li class="breadcrumb-item active">{{ __('messages.portfolio.top_view_part.managing_assets') }}</li>
|
||||
</ol>
|
||||
</div><!-- /.col -->
|
||||
</div>
|
||||
|
|
@ -28,13 +30,10 @@
|
|||
<form>
|
||||
<div class="row">
|
||||
<div class="col-sm-6" id="buttonCreateAssets">
|
||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">Criar
|
||||
ativos</a>
|
||||
|
||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">{{ __('messages.portfolio.change_buttons.create_assets') }}</a>
|
||||
</div>
|
||||
<div class="col-sm-6" id="buttonAssetsTable">
|
||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">Tabela de
|
||||
Ativos</a>
|
||||
<a href="#" type="button" class="btn btn-block bg-gradient-primary btn-lg">{{ __('messages.portfolio.change_buttons.asset_table') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -43,10 +42,10 @@
|
|||
|
||||
<div class="card-light" id="cardAssetsTable">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Tabela de Ativos</h3>
|
||||
<h3 class="card-title">{{ __('messages.portfolio.change_buttons.asset_table') }}</h3>
|
||||
</div>
|
||||
<!-- /.card-header -->
|
||||
<div class="card-body">
|
||||
{{-- <div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover text-nowrap" id="assetsTable">
|
||||
<thead>
|
||||
|
|
@ -73,7 +72,7 @@
|
|||
</table>
|
||||
</div>
|
||||
<!-- /.card -->
|
||||
</div>
|
||||
</div> --}}
|
||||
<!-- /.card-body -->
|
||||
|
||||
</div>
|
||||
|
|
@ -89,7 +88,7 @@
|
|||
@endsection
|
||||
|
||||
@section('scriptsTemplateAdmin')
|
||||
<script>
|
||||
{{-- <script>
|
||||
$(function() {
|
||||
$("#assetsTable").DataTable({
|
||||
"responsive": true,
|
||||
|
|
@ -98,7 +97,7 @@
|
|||
"buttons": ["copy", "csv", "excel", "pdf", "print", "colvis"]
|
||||
}).buttons().container().appendTo('#assetsTable_wrapper .col-md-6:eq(0)');
|
||||
});
|
||||
</script>
|
||||
</script> --}}
|
||||
|
||||
{{--
|
||||
<script type="text/javascript">
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
<div class="card-header info-box bg-secondary">
|
||||
<span class="info-box-icon"><i class="fas fa-file-edit"></i></span>
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">Em planeamento</span>
|
||||
<span class="info-box-text">{{__('messages.dashboard.planning.description')}}</span>
|
||||
<span
|
||||
class="info-box-number">{{ $CompanyProject->where('order_project', 1)->count() }}</span>
|
||||
<span class="progress-description">
|
||||
Em planeamento de 2023
|
||||
{{__('messages.dashboard.planning.text')}}
|
||||
</span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
|
|
@ -71,12 +71,13 @@ class="btn btn-tool">
|
|||
<span class="info-box-icon"><i class="fas fa-file"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">Preparadas</span>
|
||||
<span class="info-box-text">{{__('messages.dashboard.prepared.description')}}</span>
|
||||
<span
|
||||
class="info-box-number">{{ $CompanyProject->where('order_project', 2)->count() }}</span>
|
||||
|
||||
<span class="progress-description">
|
||||
Aguardam o início da obra.
|
||||
{{__('messages.dashboard.prepared.text')}}
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
|
|
@ -111,11 +112,11 @@ class="btn btn-tool">
|
|||
<span class="info-box-icon"><i class="fas fa-file-alt"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">Em execução</span>
|
||||
<span class="info-box-text">{{__('messages.dashboard.on_going.description')}}</span>
|
||||
<span
|
||||
class="info-box-number">{{ $CompanyProject->where('order_project', 3)->count() }}</span>
|
||||
<span class="progress-description">
|
||||
Obras em curso.
|
||||
{{__('messages.dashboard.on_going.text')}}
|
||||
</span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
|
|
@ -150,11 +151,11 @@ class="btn btn-tool">
|
|||
<span class="info-box-icon"><i class="fas fa-check-circle"></i></span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">Concluídas</span>
|
||||
<span class="info-box-text">{{__('messages.dashboard.finished.description')}}</span>
|
||||
<span
|
||||
class="info-box-number">{{ $CompanyProject->where('order_project', 4)->count() }}</span>
|
||||
<span class="progress-description">
|
||||
Últimas obras de 2023
|
||||
{{__('messages.dashboard.finished.text')}}
|
||||
</span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
|
|
|
|||
|
|
@ -69,12 +69,13 @@
|
|||
|
||||
<li class="nav-item">
|
||||
<button class="nav-link active" data-bs-toggle="tab"
|
||||
data-bs-target="#profile-overview">Perfil</button>
|
||||
data-bs-target="#profile-overview">{{ __('messages.profile.show_profile.profile') }}</button>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<button class="nav-link" data-bs-toggle="tab"
|
||||
data-bs-target="#profile-edit">Editar Perfil</button>
|
||||
data-bs-target="#profile-edit">{{ __('messages.profile.edit_profile.edit_profile') }}
|
||||
</button>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -85,32 +86,39 @@
|
|||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label ">Nome e Apelido </div>
|
||||
<div class="col-lg-3 col-md-4 label ">
|
||||
{{ __('messages.profile.show_profile.full_name') }} </div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->user_name }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label">Nif </div>
|
||||
<div class="col-lg-3 col-md-4 label">
|
||||
{{ __('messages.profile.show_profile.nif') }} </div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->user_nif }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label">Email </div>
|
||||
<div class="col-lg-3 col-md-4 label">
|
||||
{{ __('messages.profile.show_profile.email_address') }} </div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->email }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label">Tipo de utilizador </div>
|
||||
<div class="col-lg-3 col-md-4 label">
|
||||
{{ __('messages.profile.show_profile.user_type') }} </div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->type_users }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label">Telemóvel </div>
|
||||
<div class="col-lg-3 col-md-4 label">
|
||||
{{ __('messages.profile.show_profile.mobile_phone') }} </div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->user_phone }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 label">Conta Criada em </div>
|
||||
<div class="col-lg-3 col-md-4 label">
|
||||
{{ __('messages.profile.show_profile.account_creation_date') }}
|
||||
</div>
|
||||
<div class="col-lg-9 col-md-8">{{ $user->created_at }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -124,19 +132,21 @@
|
|||
<input type="hidden" name="userID" value="{{ $user->user_id }}">
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="user_logo"
|
||||
class="col-md-4 col-lg-3 form-label">Actualizar o seu logótipo.
|
||||
<label for="user_logo" class="col-md-4 col-lg-3 form-label">
|
||||
{{ __('messages.profile.edit_profile.update_your_logo') }}
|
||||
:</label>
|
||||
<div class="custom-file col-md-8 col-lg-9">
|
||||
<input type="file" class="custom-file-input" id="user_logo"
|
||||
name="user_logo" accept="image/*">
|
||||
<label class="custom-file-label" for="customFile">Imagem : (200/250px)x(200/250px)</label>
|
||||
<label class="custom-file-label" for="customFile">
|
||||
{{ __('messages.profile.edit_profile.image') }} :
|
||||
(200/250px)x(200/250px)</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">Nome
|
||||
e Apelido</label>
|
||||
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">
|
||||
{{ __('messages.profile.edit_profile.full_name') }}</label>
|
||||
<div class="col-md-8 col-lg-9">
|
||||
<input type="text" class="form-control" id="fullName"
|
||||
name="fullName" value="{{ $user->user_name }}" required>
|
||||
|
|
@ -144,8 +154,8 @@ class="col-md-4 col-lg-3 form-label">Actualizar o seu logótipo.
|
|||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="about"
|
||||
class="col-md-4 col-lg-3 col-form-label">Nif</label>
|
||||
<label for="about" class="col-md-4 col-lg-3 col-form-label">
|
||||
{{ __('messages.profile.edit_profile.nif') }}</label>
|
||||
<div class="col-md-8 col-lg-9">
|
||||
<input type="text" class="form-control" id="nif"
|
||||
name="nif" value="{{ $user->user_nif }}" required>
|
||||
|
|
@ -153,18 +163,17 @@ class="col-md-4 col-lg-3 col-form-label">Nif</label>
|
|||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="company"
|
||||
class="col-md-4 col-lg-3 col-form-label">Email</label>
|
||||
<label for="company" class="col-md-4 col-lg-3 col-form-label">
|
||||
{{ __('messages.profile.edit_profile.email_address') }}</label>
|
||||
<div class="col-md-8 col-lg-9">
|
||||
<input type="text" class="form-control" id="email"
|
||||
name="email" value="{{ $user->email }}" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="Country"
|
||||
class="col-md-4 col-lg-3 col-form-label">Telemóvel</label>
|
||||
<label for="Country" class="col-md-4 col-lg-3 col-form-label">
|
||||
{{ __('messages.profile.edit_profile.mobile_phone') }}</label>
|
||||
<div class="col-md-8 col-lg-9">
|
||||
<input type="text" class="form-control" id="phone"
|
||||
name="phone" value="{{ $user->user_phone }}">
|
||||
|
|
@ -173,7 +182,7 @@ class="col-md-4 col-lg-3 col-form-label">Telemóvel</label>
|
|||
|
||||
|
||||
<div class="float-right">
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<button type="submit" class="btn btn-primary">{{ __('messages.buttons.save') }}</button>
|
||||
|
||||
</div>
|
||||
</form><!-- End Profile Edit Form -->
|
||||
|
|
|
|||
|
|
@ -17,6 +17,14 @@
|
|||
{{-- <link rel="stylesheet" href="{{ asset('plugins/fontawesome-611/css/all.min.css') }}"> --}}
|
||||
<link rel="stylesheet" href="{{ asset('assets/plugins/fontawesome-6.4.2/css/all.css') }}">
|
||||
|
||||
{{-- Para Adicionar bandeiras ao select --}}
|
||||
<!-- Inclua o CSS do Select2 no cabeçalho da sua página -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" />
|
||||
|
||||
<!-- Inclua o JavaScript do Select2 antes do fechamento da sua tag </body> -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
|
||||
|
|
@ -211,7 +219,32 @@ class="fas fa-bars"></i></a>
|
|||
</ul>
|
||||
|
||||
<!-- Right navbar links -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
{{-- <ul class="navbar-nav ml-auto">
|
||||
<form id="language-form" action="{{ route('language.switch') }}" method="post">
|
||||
@csrf
|
||||
<select class="form-grop" name="locale" onchange="this.form.submit()">
|
||||
<option value="en" {{ app()->getLocale() == 'en' ? 'selected' : '' }}>English</option>
|
||||
<option value="pt" {{ app()->getLocale() == 'pt' ? 'selected' : '' }}>Português</option>
|
||||
</select>
|
||||
</form>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
|
||||
<i class="fas fa-expand-arrows-alt"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul> --}}
|
||||
<ul class="navbar-nav ml-auto align-items-center">
|
||||
<li class="nav-item my-2">
|
||||
<form id="language-form" action="{{ route('language.switch') }}" method="post"
|
||||
class="form-inline">
|
||||
@csrf
|
||||
<select class="custom-select" name="locale" onchange="this.form.submit()">
|
||||
<option value="en" {{ app()->getLocale() == 'en' ? 'selected' : '' }}>English</option>
|
||||
<option value="pt" {{ app()->getLocale() == 'pt' ? 'selected' : '' }}>Português
|
||||
</option>
|
||||
</select>
|
||||
</form>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-widget="fullscreen" href="#" role="button">
|
||||
<i class="fas fa-expand-arrows-alt"></i>
|
||||
|
|
@ -219,6 +252,7 @@ class="fas fa-bars"></i></a>
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</nav>
|
||||
<!-- /.navbar -->
|
||||
|
||||
|
|
@ -258,13 +292,13 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<li class="nav-item">
|
||||
<a href="{{ route('home') }}" class="nav-link active">
|
||||
<i class="nav-icon fas fa-tachometer-alt"></i>
|
||||
<p> Dashboard </p>
|
||||
<p> {{ __('messages.dashboard.dashboard') }} </p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('createProject') }}" class="nav-link">
|
||||
<i class="nav-icon fas fa-helmet-safety"></i>
|
||||
<p> Criar obra </p>
|
||||
<p> {{ __('messages.createProject.create_project') }} </p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
|
@ -282,7 +316,7 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<li class="nav-item">
|
||||
<a href="#" class="nav-link">
|
||||
<i class="nav-icon fas fa-briefcase"></i>
|
||||
<p> Portefólio
|
||||
<p> {{ __('messages.portfolio.top_view_part.portfolio') }}
|
||||
<i class="fas fa-angle-left right"></i>
|
||||
</p>
|
||||
</a>
|
||||
|
|
@ -290,7 +324,7 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<li class="nav-item">
|
||||
<a href="{{ route('manageAssets') }}" class="nav-link">
|
||||
<i class="fa-solid fa-file-edit"></i>
|
||||
<p> Gerir Ativos</p>
|
||||
<p> {{ __('messages.portfolio.top_view_part.management_assets') }}</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -300,7 +334,7 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<li class="nav-item">
|
||||
<a href="#" class="nav-link">
|
||||
<i class="nav-icon fas fa-gear"></i>
|
||||
<p> Administração
|
||||
<p> {{ __('messages.users_listUsers.top_view_part.administration') }}
|
||||
<i class="fas fa-angle-left right"></i>
|
||||
</p>
|
||||
</a>
|
||||
|
|
@ -308,19 +342,19 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<li class="nav-item">
|
||||
<a href="{{ route('users.list') }}" class="nav-link">
|
||||
<i class="fa-solid fa-users"></i>
|
||||
<p>Utilizadores</p>
|
||||
<p>{{ __('messages.users_listUsers.users') }}</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('users.company') }}" class="nav-link">
|
||||
<i class="fa-solid fa-house-user"></i>
|
||||
<p>Clientes</p>
|
||||
<p>{{ __('messages.users_listUsers.companies') }}</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('CreateUsers') }}" class="nav-link">
|
||||
<i class="nav-icon fas fa-gear"></i>
|
||||
<p> Criar Utilizadores </p>
|
||||
<p>{{ __('messages.users_listUsers.create_users') }}</p>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -438,4 +472,27 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
|
|||
<script src="{{ asset('assets/plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
|
||||
<script src="{{ asset('assets/plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
|
||||
|
||||
|
||||
{{-- Script para as bandeiras --}}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
function formatState(state) {
|
||||
if (!state.id) {
|
||||
return state.text;
|
||||
}
|
||||
var $state = $(
|
||||
'<span><img src="' + $(state.element).data('image-url') + '" class="img-flag" /> ' + state.text + '</span>'
|
||||
);
|
||||
return $state;
|
||||
};
|
||||
|
||||
$('#language-selector').select2({
|
||||
templateResult: formatState,
|
||||
templateSelection: formatState,
|
||||
width: 'auto'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ class="brand-image img-circle elevation-3" style="opacity: .8">
|
|||
<a href="#" class="nav-link text-white" style="background-color: #007BFF;">
|
||||
<i class="nav-icon fas fa-play"></i>
|
||||
<p>
|
||||
{{ $equipmentsTodoCount }} a iniciar
|
||||
{{ $equipmentsTodoCount }} a inicia
|
||||
<i class="right fas fa-angle-left"></i>
|
||||
</p>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -11,13 +11,12 @@
|
|||
<div class="container-fluid">
|
||||
<div class="row mb-2">
|
||||
<div class="col-sm-6">
|
||||
<h1 class="text-light">Criar Utilizadores</h1>
|
||||
<h1 class="text-light">{{__('messages.pendingUsers.create_users')}}</h1>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<ol class="breadcrumb float-sm-right">
|
||||
<li class="breadcrumb-item active">Administração
|
||||
</li>
|
||||
<li class="breadcrumb-item active"><a href="{{ route('CreateUsers') }}">Criar Utilizadores</a></li>
|
||||
<li class="breadcrumb-item active">{{__('messages.pendingUsers.administration')}}</li>
|
||||
<li class="breadcrumb-item active"><a href="{{ route('CreateUsers') }}">{{__('messages.pendingUsers.create_users')}}</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -30,9 +29,13 @@
|
|||
|
||||
<div class="card-light">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title mb-0">Enviar Formulário:</h3>
|
||||
<h3 class="card-title mb-0">{{__('messages.pendingUsers.submit_form')}}</h3>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{{-- <h1>{{ __('messages.welcome') }}</h1> --}}
|
||||
|
||||
<div class="card-body">
|
||||
<form action="{{ route('enviar.formulario') }}" method="post">
|
||||
@csrf
|
||||
|
|
@ -43,15 +46,15 @@
|
|||
<i class="fa-sharp fa-solid fa-tag" style="color: #00B0EA;"></i>
|
||||
</span>
|
||||
<div class="has-float-label">
|
||||
<input type="text" name="email" class="form-control card_inputs"
|
||||
id="email" placeholder="Digite o email..." aria-label="Tag Equipment"
|
||||
<input type="text" name="email" class="form-control card_inputs" id="email"
|
||||
placeholder="Digite o email..." aria-label="Tag Equipment"
|
||||
aria-describedby="form-tagEquipment">
|
||||
{{-- <label>Email </label> --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4 text-center">
|
||||
<button type="submit" class="btn btn-light">Enviar</button>
|
||||
<button type="submit" class="btn btn-light">{{__('messages.pendingUsers.submit')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -62,7 +65,7 @@
|
|||
|
||||
<div class="card-light">
|
||||
<div class="card-header">
|
||||
<h2 class="card-title">Utilizadores Pendentes :</h2>
|
||||
<h2 class="card-title">{{__('messages.pendingUsers.pending_users')}}:</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
|
|
@ -70,9 +73,9 @@
|
|||
id="tableReceiveAllPendingUsers">
|
||||
<thead class="text-center">
|
||||
<tr>
|
||||
<th>Nome</th>
|
||||
<th>Email</th>
|
||||
<th>Verificar</th>
|
||||
<th>{{__('messages.pendingUsers.table_pending_user.name')}}</th>
|
||||
<th>{{__('messages.pendingUsers.table_pending_user.email')}}</th>
|
||||
<th>{{__('messages.pendingUsers.table_pending_user.verify')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="text-center">
|
||||
|
|
|
|||
|
|
@ -1221,7 +1221,8 @@ class="btn btn-info">Baixar Template</a>
|
|||
{{-- ./table-responsive --}}
|
||||
|
||||
@foreach ($listEquipmentsProjects as $listEquipmentsProject)
|
||||
<div class="modal fade" id="modal-showEquipment-{{ $listEquipmentsProject->equipment_id }}">
|
||||
|
||||
|
||||
<div class="modal-dialog modal-xl">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-light">
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
<div class="container-fluid">
|
||||
<div class="card card-primary" id="CardDetalhes">
|
||||
<div class="card-header bg-primary text-white">
|
||||
<h3 class="card-title mb-0">Detalhes da Obra</h3>
|
||||
<h3 class="card-title mb-0">{{ __('messages.createProject.project_work_details') }}</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
|
@ -41,34 +41,39 @@
|
|||
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Descrição da obra <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.project_identification') }}<b
|
||||
style="color:red">*</b></label>
|
||||
<input type="text" name="description_project" class="form-control"
|
||||
placeholder="Descrição da obra;" required>
|
||||
placeholder="{{ __('messages.createProject.project_identification') }}…" required>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Nº. obra ISPT <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.ispt_project_number') }}<b
|
||||
style="color:red">*</b></label>
|
||||
<input type="number" name="n_project_ispt" class="form-control"
|
||||
placeholder="Nº. obra ISPT…" required>
|
||||
placeholder="{{ __('messages.createProject.ispt_project_number') }}…" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Responsável obra ISPT <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.ispt_project_manager') }} <b
|
||||
style="color:red">*</b></label>
|
||||
<input type="text" name="responsible_project_ispt" class="form-control"
|
||||
placeholder="Responsável obra ISPT…" required>
|
||||
placeholder="{{ __('messages.createProject.ispt_project_manager') }}…" required>
|
||||
</div>
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Responsável obra Empresa <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.compan_project_manager') }} <b
|
||||
style="color:red">*</b></label>
|
||||
<input type="text" name="responsible_project_company" class="form-control"
|
||||
placeholder="Responsável obra cliente…" required>
|
||||
placeholder="{{ __('messages.createProject.compan_project_manager') }}…" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="form-group col-sm-6" id="companyField">
|
||||
<label>Empresa <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.select_company.contracting_company') }} <b
|
||||
style="color:red">*</b></label>
|
||||
<select class="form-control" name="user_id" id="company_select" required>
|
||||
<option value="">Selecione uma Empresa...</option>
|
||||
<option>{{ __('messages.createProject.select_plant.plant') }} ...</option>
|
||||
@foreach ($companies as $company)
|
||||
<option value="{{ $company->user_id }}">{{ $company->user_name }}</option>
|
||||
@endforeach
|
||||
|
|
@ -76,7 +81,8 @@
|
|||
</div>
|
||||
|
||||
<div class="form-group col-sm-6" id="installationField" hidden>
|
||||
<label>Instalação <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.select_plant.plant') }} <b
|
||||
style="color:red">*</b></label>
|
||||
<select class="form-control" name="installation_id" id="installationSelect">
|
||||
|
||||
<!-- As opções de instalação serão preenchidas dinamicamente -->
|
||||
|
|
@ -88,35 +94,37 @@
|
|||
<div class="row" id="new_company_div">
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Nova Instalação :</label>
|
||||
<label>{{ __('messages.createProject.select_plant.new_plant') }} :</label>
|
||||
<input type="text" id="new_company_name" class="form-control"
|
||||
name="new_company_name" placeholder="Digite o nome da nova empresa">
|
||||
name="new_company_name" placeholder="{{ __('messages.createProject.select_plant.new_plant') }}…">
|
||||
</div>
|
||||
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Morada Instalação</label>
|
||||
<label>{{ __('messages.createProject.select_plant.plant_address') }}</label>
|
||||
<input type="text" class="form-control" name="new_company_address"
|
||||
placeholder="Localização...">
|
||||
placeholder="{{ __('messages.createProject.select_plant.plant_address') }}…">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group" id="localization_installation_client">
|
||||
{{-- <div class="form-group" id="localization_installation_client">
|
||||
<label>Morada Instalação</label>
|
||||
<input type="text" class="form-control" placeholder="Localização" readonly>
|
||||
</div>
|
||||
</div> --}}
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Nº. de obra Empresa <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.company_project_number') }}<b
|
||||
style="color:red">*</b></label>
|
||||
<input type="number" name="project_company_number" class="form-control"
|
||||
placeholder="Nº. de obra cliente…" required>
|
||||
placeholder="{{ __('messages.createProject.company_project_number') }}…" required>
|
||||
</div>
|
||||
|
||||
<!-- Date -->
|
||||
<div class="form-group col-sm-6">
|
||||
<label>Datas: <b style="color:red">*</b></label>
|
||||
<label>{{ __('messages.createProject.project_start_date') }} : <b
|
||||
style="color:red">*</b></label>
|
||||
<div class="input-group">
|
||||
{{-- <div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
|
|
@ -134,7 +142,8 @@ class="form-control float-right" required>
|
|||
|
||||
<div class="card-footer">
|
||||
<div class="float-right">
|
||||
<button type="submit" class="btn btn-primary">Guardar</button>
|
||||
<button type="submit"
|
||||
class="btn btn-primary">{{ __('messages.buttons.save') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -174,12 +183,18 @@ class="form-control float-right" required>
|
|||
var select = $('#installationSelect');
|
||||
select.empty();
|
||||
|
||||
// Adicione as opções fixas aqui
|
||||
select.append('<option value="#">Selecione uma instalação...</option>');
|
||||
select.append(
|
||||
'<option value="new_install">Criar uma nova Instalação ?</option>');
|
||||
var translations = {
|
||||
selectInstallation: @json(__('messages.createProject.select_plant.select_plant')),
|
||||
createNewInstallation: @json(__('messages.createProject.select_plant.new_plant'))
|
||||
};
|
||||
|
||||
var select = $('#installationSelect');
|
||||
select.empty();
|
||||
select.append('<option value="#">' + translations.selectInstallation +
|
||||
'…</option>');
|
||||
select.append('<option value="new_install">' + translations
|
||||
.createNewInstallation + '</option>');
|
||||
|
||||
// Agora você pode adicionar suas opções dinâmicas.
|
||||
|
||||
$.each(data, function(index, installation) {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,13 @@
|
|||
@extends('Templates.templateWorkstations')
|
||||
|
||||
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
|
||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.js">
|
||||
</script>
|
||||
<link rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.3/jquery-ui-timepicker-addon.min.css">
|
||||
|
||||
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
|
||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||
|
|
@ -26,8 +34,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST" id="form1"
|
||||
class="monitored-form">
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST" id="form1" class="monitored-form">
|
||||
@csrf
|
||||
<input type="hidden" name="control_equipment_workstationid" value="{{ $control_ew_id }}">
|
||||
|
||||
|
|
@ -152,6 +159,8 @@ class="form-control" placeholder="">
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -193,8 +202,7 @@ class="btn btn-primary">Seguinte</button>
|
|||
<span>{{ $receiveDataEquipment->equipment_tag }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<form id="form2" class="monitored-form" action="{{ route('receiveAnswersEquipment') }}"
|
||||
method="POST">
|
||||
<form id="form2" class="monitored-form" action="{{ route('receiveAnswersEquipment') }}" method="POST">
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="control_equipment_workstationid" value="{{ $control_ew_id }}">
|
||||
|
|
@ -268,15 +276,13 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE3 - PSV - Pré-teste</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
<span>{{ $receiveDataEquipment->equipment_tag }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST" id="form3"
|
||||
class="monitored-form">
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST" id="form3" class="monitored-form" >
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="control_equipment_workstationid" value="{{ $control_ew_id }}">
|
||||
|
|
@ -674,6 +680,8 @@ class="form-control datetimepicker-input"
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -716,8 +724,7 @@ class="btn btn-primary">Seguinte</button>
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<form id="form4" class="monitored-form" action="{{ route('receiveAnswersEquipment') }}"
|
||||
method="POST">
|
||||
<form id="form4" class="monitored-form" action="{{ route('receiveAnswersEquipment') }}" method="POST">
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="control_equipment_workstationid" value="{{ $control_ew_id }}">
|
||||
|
|
@ -1113,6 +1120,8 @@ class="form-control datetimepicker-input"
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -1156,7 +1165,7 @@ class="btn btn-primary">Seguinte</button>
|
|||
<span>{{ $receiveDataEquipment->equipment_tag }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST" id="form5">
|
||||
<form action="{{ route('receiveAnswersEquipment') }}" method="POST">
|
||||
@csrf
|
||||
<input type="hidden" name="control_equipment_workstationid" value="{{ $control_ew_id }}">
|
||||
|
||||
|
|
@ -1477,6 +1486,8 @@ class="form-control select2" style="width: 100%;" required>
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -1511,9 +1522,9 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE4 - CV - Abertura de válvula, análise e controle dos
|
||||
componentes
|
||||
</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -1911,6 +1922,8 @@ class="form-control select2" style="width: 100%;" required>
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -1945,9 +1958,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE4 - ISV - Abertura de válvula, análise e controle dos
|
||||
componentes
|
||||
</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -2229,10 +2239,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
@csrf
|
||||
<input type="hidden" name="control_equipment_workstationid"
|
||||
value="{{ $control_ew_id }}">
|
||||
|
||||
<input type="hidden" name="elemental_tasks_id"
|
||||
value="{{ $receiveDataElementalTask->elemental_tasks_id }}">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="form-group"> <!-- Single form-group for all content -->
|
||||
|
||||
|
|
@ -2259,6 +2265,8 @@ class="btn btn-primary">Seguinte</button>
|
|||
</div> <!-- End of single form-group -->
|
||||
</div>
|
||||
<div class="card-footer d-flex justify-content-between">
|
||||
<!-- Left-aligned button -->
|
||||
<button type="button" class="btn btn-primary">Voltar</button>
|
||||
|
||||
<!-- Center-aligned button (using `mx-auto` to push it to the center) -->
|
||||
<!-- Botão alinhado à esquerda -->
|
||||
|
|
@ -2393,8 +2401,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE7 - PSV - Fecho da válvula e substituição de componentes
|
||||
</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -2635,7 +2641,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE7 - CV - Fecho de válvula e substituição de componentes</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -3267,8 +3272,7 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE7 - ISV - Fecho de válvula e substituição de componentes
|
||||
</h3> --}}
|
||||
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -3688,7 +3692,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE8 - PSV - Calibrar e certificar</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -3894,7 +3897,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE9 - Pintura</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -3965,7 +3967,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE10 - PSV ISV - Montagem na linha</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4044,7 +4045,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE10 - CV - Montagem na linha</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4124,7 +4124,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE11 - Inspeção final</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4198,7 +4197,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE12 - CV - Inspeção visual</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4406,7 +4404,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE13 - CV - Teste final</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4827,7 +4824,7 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE14 - ISV - Ensaio</h3> --}}
|
||||
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -4980,7 +4977,6 @@ class="btn btn-primary">Seguinte</button>
|
|||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between align-items-center" style="width: 100%;">
|
||||
{{-- <h3 class="card-title mb-0">TE15 - Empancar</h3> --}}
|
||||
<h3 class="card-title mb-0">
|
||||
{{ $receiveDataElementalTask->elemental_tasks_code }}-{{ $receiveDataElementalTask->elemental_tasks_description }}
|
||||
</h3>
|
||||
|
|
@ -5264,3 +5260,6 @@ function addBeforeUnload() {
|
|||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
use App\Http\Controllers\PreparedProjectController;
|
||||
use App\Http\Controllers\ExecutionProjectController;
|
||||
use App\Http\Controllers\WorkstationsJobsController;
|
||||
use App\Http\Controllers\LanguageController;
|
||||
|
||||
|
||||
// Esta rota so pode aceder quem tiver o link atravez do email
|
||||
|
|
@ -35,6 +36,10 @@
|
|||
return view('email/FormAdmin');
|
||||
})->name('formulario');
|
||||
|
||||
Route::post('language/switch', [LanguageController::class, 'switchLanguage'])->name('language.switch');
|
||||
|
||||
|
||||
|
||||
// Email
|
||||
Route::get('/your-verification-route/{id}/{hash}', [UserController::class, 'yourVerificationMethod'])
|
||||
->middleware(['auth', 'signed', 'throttle:6,1'])
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user