Updated nomenclaruta to portuguese and changed user profile page

This commit is contained in:
ygbanzato 2023-08-04 10:49:40 +01:00
parent 79b7cfd307
commit 7ddb163db2
10 changed files with 14471 additions and 962 deletions

View File

@ -21,6 +21,30 @@
class userController extends Controller class userController extends Controller
{ {
public function EditProfile(Request $request){
// $request->validate([
// 'name' => 'required',
// 'email' => 'required|email|unique:users,email,' . $user->user_id,
// 'password' => 'nullable|min:8|confirmed',
// 'user_type' => 'required',
// 'user_phone' => 'required',
// 'user_nif' => 'required',
// ]);
// $user->update([
// 'name' => $request->get('name'),
// 'email' => $request->get('email'),
// 'password' => $request->filled('password') ? Hash::make($request->get('password')) : $user->password,
// 'user_type' => $request->get('user_type'),
// 'user_phone' => $request->get('user_phone'),
// 'user_nif' => $request->get('user_nif'),
// ]);
return redirect('/users/ListUsers')->with('success', 'Utilizadores atualizado com Sucesso!!');
}
public function UserProfile($id) public function UserProfile($id)
{ {
$user = User::find($id); $user = User::find($id);

13894
public/assets/dist/css/bootstrap.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
@extends('Templates/templateAdmin') @extends('Templates/templateAdmin')
@section('Main-content') @section('Main-content')
<section class="content"> <section class="content">
<div class="container-fluid"> <div class="container-fluid">
@ -46,52 +47,45 @@
<div class="tab-content pt-2"> <div class="tab-content pt-2">
<div class="tab-pane fade show active profile-overview" id="profile-overview"> <div class="tab-pane fade show active profile-overview" id="profile-overview">
<h5 class="card-title">Profile Details</h5>
<div class="row"> <div class="row">
<div class="col-lg-3 col-md-4 label ">Full Name</div> <div class="col-lg-3 col-md-4 label ">Nome e Apelido </div>
<div class="col-lg-9 col-md-8">Kevin Anderson</div> <div class="col-lg-9 col-md-8">{{$user->user_name}}</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-3 col-md-4 label">Company</div> <div class="col-lg-3 col-md-4 label">Nif </div>
<div class="col-lg-9 col-md-8">Lueilwitz, Wisoky and Leuschke</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">Job</div>
<div class="col-lg-9 col-md-8">Web Designer</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Country</div>
<div class="col-lg-9 col-md-8">USA</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Address</div>
<div class="col-lg-9 col-md-8">A108 Adam Street, New York, NY 535022
</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Phone</div>
<div class="col-lg-9 col-md-8">(436) 486-3538 x29071</div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-3 col-md-4 label">Email </div> <div class="col-lg-3 col-md-4 label">Email </div>
<div class="col-lg-9 col-md-8">k.anderson@example.com</div> <div class="col-lg-9 col-md-8">{{$user->email}}</div>
</div> </div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Tipo de utilizador </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-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-9 col-md-8">{{$user->created_at}}</div>
</div>
</div> </div>
<div class="tab-pane fade profile-edit pt-3" id="profile-edit"> <div class="tab-pane fade profile-edit pt-3" id="profile-edit">
<!-- Profile Edit Form --> <!-- Profile Edit Form -->
<form> <form action="{{ route('editProfile',$user->user_id)}}">
<div class="row mb-3"> @csrf
{{-- Quando for implementar a imagem ao Utilizador --}}
{{-- <div class="row mb-3">
<label for="profileImage" <label for="profileImage"
class="col-md-4 col-lg-3 col-form-label">Profile Image</label> class="col-md-4 col-lg-3 col-form-label">Profile Image</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
@ -105,335 +99,64 @@ class="bi bi-upload"></i></a>
class="bi bi-trash"></i></a> class="bi bi-trash"></i></a>
</div> </div>
</div> </div>
</div> </div> --}}
<div class="row mb-3"> <div class="row mb-3">
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">Full <label for="fullName" class="col-md-4 col-lg-3 col-form-label">Nome e Apelido</label>
Name</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="fullName" type="text" class="form-control" <input type="text" class="form-control" id="fullName" name="fullName" value="{{ $user->user_name }}" required>
id="fullName" value="Kevin Anderson">
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="about" <label for="about"
class="col-md-4 col-lg-3 col-form-label">About</label> class="col-md-4 col-lg-3 col-form-label">Nif</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<textarea name="about" class="form-control" id="about" style="height: 100px">Sunt est soluta temporibus accusantium neque nam maiores cumque temporibus. Tempora libero non est unde veniam est qui dolor. Ut sunt iure rerum quae quisquam autem eveniet perspiciatis odit. Fuga sequi sed ea saepe at unde.</textarea> <input type="text" class="form-control" id="nif" name="nif" value="{{ $user->user_nif }}" required>
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<label for="company" <label for="company"
class="col-md-4 col-lg-3 col-form-label">Company</label> class="col-md-4 col-lg-3 col-form-label">Email</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="company" type="text" class="form-control" <input type="text" class="form-control" id="email" name="email" value="{{ $user->email }}" required>
id="company" value="Lueilwitz, Wisoky and Leuschke">
</div> </div>
</div> </div>
<div class="row mb-3">
<label for="Job"
class="col-md-4 col-lg-3 col-form-label">Job</label>
<div class="col-md-8 col-lg-9">
<input name="job" type="text" class="form-control"
id="Job" value="Web Designer">
</div>
</div>
<div class="row mb-3"> <div class="row mb-3">
<label for="Country" <label for="Country"
class="col-md-4 col-lg-3 col-form-label">Country</label> class="col-md-4 col-lg-3 col-form-label">Telemóvel</label>
<div class="col-md-8 col-lg-9"> <div class="col-md-8 col-lg-9">
<input name="country" type="text" class="form-control" <input type="text" class="form-control" id="phone" name="phone" value="{{ $user->user_phone }}" >
id="Country" value="USA">
</div> </div>
</div> </div>
<div class="row mb-3">
<label for="Address"
class="col-md-4 col-lg-3 col-form-label">Address</label>
<div class="col-md-8 col-lg-9">
<input name="address" type="text" class="form-control"
id="Address"
value="A108 Adam Street, New York, NY 535022">
</div>
</div>
<div class="row mb-3">
<label for="Phone"
class="col-md-4 col-lg-3 col-form-label">Phone</label>
<div class="col-md-8 col-lg-9">
<input name="phone" type="text" class="form-control"
id="Phone" value="(436) 486-3538 x29071">
</div>
</div>
<div class="row mb-3">
<label for="Email"
class="col-md-4 col-lg-3 col-form-label">Email</label>
<div class="col-md-8 col-lg-9">
<input name="email" type="email" class="form-control"
id="Email" value="k.anderson@example.com">
</div>
</div>
<div class="row mb-3">
<label for="Twitter"
class="col-md-4 col-lg-3 col-form-label">Twitter
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="twitter" type="text" class="form-control"
id="Twitter" value="https://twitter.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Facebook"
class="col-md-4 col-lg-3 col-form-label">Facebook
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="facebook" type="text" class="form-control"
id="Facebook" value="https://facebook.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Instagram"
class="col-md-4 col-lg-3 col-form-label">Instagram
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="instagram" type="text" class="form-control"
id="Instagram" value="https://instagram.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Linkedin"
class="col-md-4 col-lg-3 col-form-label">Linkedin
Profile</label>
<div class="col-md-8 col-lg-9">
<input name="linkedin" type="text" class="form-control"
id="Linkedin" value="https://linkedin.com/#">
</div>
</div>
<div class="text-center"> <div class="text-center">
<button type="submit" class="btn btn-primary">Save <button type="submit" class="btn btn-primary">Guardar</button>
Changes</button>
</div> </div>
</form><!-- End Profile Edit Form --> </form><!-- End Profile Edit Form -->
</div> </div>
<div class="tab-pane fade pt-3" id="profile-settings">
<!-- Settings Form -->
<form>
<div class="row mb-3">
<label for="fullName"
class="col-md-4 col-lg-3 col-form-label">Email
Notifications</label>
<div class="col-md-8 col-lg-9">
<div class="form-check">
<input class="form-check-input" type="checkbox"
id="changesMade" checked>
<label class="form-check-label" for="changesMade">
Changes made to your account
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox"
id="newProducts" checked>
<label class="form-check-label" for="newProducts">
Information on new products and services
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox"
id="proOffers">
<label class="form-check-label" for="proOffers">
Marketing and promo offers
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox"
id="securityNotify" checked disabled>
<label class="form-check-label" for="securityNotify">
Security alerts
</label>
</div>
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Save
Changes</button>
</div>
</form><!-- End settings Form -->
</div>
<div class="tab-pane fade pt-3" id="profile-change-password">
<!-- Change Password Form -->
<form>
<div class="row mb-3">
<label for="currentPassword"
class="col-md-4 col-lg-3 col-form-label">Current
Password</label>
<div class="col-md-8 col-lg-9">
<input name="password" type="password" class="form-control"
id="currentPassword">
</div>
</div>
<div class="row mb-3">
<label for="newPassword"
class="col-md-4 col-lg-3 col-form-label">New Password</label>
<div class="col-md-8 col-lg-9">
<input name="newpassword" type="password"
class="form-control" id="newPassword">
</div>
</div>
<div class="row mb-3">
<label for="renewPassword"
class="col-md-4 col-lg-3 col-form-label">Re-enter New
Password</label>
<div class="col-md-8 col-lg-9">
<input name="renewpassword" type="password"
class="form-control" id="renewPassword">
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Change
Password</button>
</div>
</form><!-- End Change Password Form -->
</div>
</div><!-- End Bordered Tabs --> </div><!-- End Bordered Tabs -->
</div> </div>
</div> </div>
</div> </div>
{{-- col-xl-8 --}}
</div> </div>
</section> </section>
</div> </div>
{{-- ./col-md-12 --}} {{-- ./col-md-12 --}}
</div> </div>
{{-- ./row justify-content-center --}} {{-- ./row justify-content-center --}}
</div> </div>
{{-- ./container-fluid" --}} {{-- ./container-fluid" --}}
</section> </section>
{{-- ./content --}}
</div>
{{-- ./content-wrapper --}}
@endsection @endsection
<div class="card card-primary">
<div class="card-body">
<div class="row align-items-center">
<div class="col-sm">
<div class="user-panel mt-3 pb-3 mb-3">
<div class="image d-flex justify-content-center align-items-center">
<label for="input-file" class="imgProfile-hover">
<img src="{{ asset('/img/avatar5.png') }}" class="img-circle elevation-2 imgProfile"
alt="User Image">
{{-- Parte de baixo para colocar o 'Escolher arquivo' --}}
{{-- <div class="input-group input-file">
<input type="text" class="form-control"
placeholder="Escolha um arquivo" readonly>
<span class="input-group-btn">
<button class="btn btn-secondary btn-choose" type="button">Escolher
arquivo</button>
</span>
</div> --}}
</label>
{{-- <input type="file" id="input-file" class="d-none"> --}}
</div>
<div class="text-center">
<h5>{{ $user->userType->type }} :: {{ $user->name }} </h5>
</div>
</div>
<div class="info text-center">
{{-- <p class="d-block" style="font-size: 2rem;">{{ $tipo_Utilizador }}</p> --}}
</div>
</div>
<div class="col-sm">
<div class="row">
<div class="col-sm form-group align-self-center">
<p>Nome: <input class="form-control" type="text" name=""
value="{{ $user->name }}"></p>
</div>
<div class="col-sm form-group align-self-center">
<p>Email: <input class="form-control" type="text" name=""
value="{{ $user->email }}"></p>
</div>
</div>
<div class="row">
<div class="col-sm form-group align-self-center">
<p>Telemovel: <input class="form-control" type="text" name=""
value="{{ $user->user_phone }}"></p>
</div>
<div class="col-sm form-group align-self-center">
<p>NIF: <input class="form-control" type="text" name=""
value="{{ $user->user_nif }}"></p>
</div>
</div>
{{-- <div class="row">
<div class="col-sm form-group align-self-center">
<p>Palavra-passe : <input class="form-control" type="password" ></p>
</div>
<div class="col-sm form-group align-self-center">
<p>Confirmar Palavra-passe : <input class="form-control" type="password" ></p>
</div>
</div> --}}
<div class="row">
<div class="col-sm form-group align-self-center">
{{-- <p>Nova Palavra-passe: <input class="form-control" type="text" name=""></p> --}}
</div>
</div>
</div>
</div>
</div>
<!-- /.card-body -->
<div class="card-footer">
<div class="float-right">
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="btn btn-danger">T</button>
</form>
</div>
</div>

View File

@ -9,6 +9,14 @@
<link rel="stylesheet" href="{{ asset('StyleAdmin/css/styleProgressBar.css') }}"> <link rel="stylesheet" href="{{ asset('StyleAdmin/css/styleProgressBar.css') }}">
{{-- Scrpit nao funciona --}}
{{-- <script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-beta1/js/bootstrap.bundle.min.js"></script> --}}
<link rel="stylesheet" href="{{ asset('assets/dist/css/bootstrap.min.css') }}">
{{-- Se sobrepoe ao nosso templete principal --}}
{{-- <link rel="stylesheet" href="{{ asset('assets/dist/css/profileStyle.css') }}"> --}}
<!-- Google Font: Source Sans Pro --> <!-- Google Font: Source Sans Pro -->
<link rel="stylesheet" <link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"> href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback">
@ -354,6 +362,8 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
{{-- Scripts-Plugins --}} {{-- Scripts-Plugins --}}
<script src="{{ asset('assets/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script> <script src="{{ asset('plugins/jquery/jquery.min.js') }}"></script>
<!-- jQuery UI 1.11.4 --> <!-- jQuery UI 1.11.4 -->
@ -364,6 +374,9 @@ class="d-block">{{ Auth::user()->userType?->type_user }}</a>
</script> </script>
<!-- Bootstrap 4 --> <!-- Bootstrap 4 -->
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script> <script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script>
<!-- ChartJS --> <!-- ChartJS -->
<script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script> <script src="{{ asset('plugins/chart.js/Chart.min.js') }}"></script>
<!-- Sparkline --> <!-- Sparkline -->

View File

@ -7,8 +7,8 @@
</head> </head>
<body> <body>
<h1>Olá!</h1> <h1>Olá!</h1>
<p>Segue abaixo o link para acessar o formulário:</p> <p>Segue o link para aceder ao formulário:</p>
<a href="{{ route('formulario') }}" target="_blank" style="background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer;">Acessar Formulário</a> <a href="{{ route('formulario') }}" target="_blank" style="background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer;">Acessar Formulário</a>
<p>Se você não solicitou este e-mail, por favor, desconsidere.</p> <p>Se não solicitou este e-mail, por favor, desconsidere.</p>
</body> </body>
</html> </html>

View File

@ -1,565 +1,279 @@
@extends('Templates/templateAdmin') <!DOCTYPE html>
<html lang="en">
@section('Main-content') <head>
<br> <link rel="stylesheet" href="{{ asset('assets/dist/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="{{ asset('assets/dist/css/profileStyle.css') }}">
{{-- <link rel="stylesheet" href="{{ asset('assets/dist/css/bootstrap.bundle.min.js') }}"> --}}
</head>
<body>
<table class="table table-bordered"> <section class="section profile">
<thead> <div class="row">
<tr> <div class="col-xl-8">
<th>Equipment ID</th>
<th>Factory ID</th>
<th>Equipament Type ID</th>
<th>Tag</th>
<th>equipment_description</th>
<th>Serial Number</th>
<th>Brand</th>
<th>Model</th>
<th>Is Active</th>
<th>Attribute Description</th>
<th>Attribute Value</th>
</tr>
</thead>
<tbody>
@foreach ($equipments as $equipment)
<tr>
<td>{{ $equipment->equipment_id }}</td>
<td>{{ $equipment->factory_id }}</td>
<td>{{ $equipment->equipament_type_id }}</td>
<td>{{ $equipment->tag }}</td>
<td>{{ $equipment->equipment_description }}</td>
<td>{{ $equipment->serial_number }}</td>
<td>{{ $equipment->brand }}</td>
<td>{{ $equipment->model }}</td>
<td>{{ $equipment->Is_active }}</td>
@if (isset($equipment->specific_attributes))
@foreach ($equipment->specific_attributes as $attribute)
@if ($loop->first)
<td>{{ $attribute['description'] }}</td>
<td>{{ $attribute['value'] }}</td>
@else
</tr><tr>
<td colspan="9"></td>
<td>{{ $attribute['description'] }}</td>
<td>{{ $attribute['value'] }}</td>
@endif
@endforeach
@else
<td colspan="2"></td>
@endif
</tr>
@endforeach
</tbody>
</table>
@endsection
@extends('Templates/templateAdmin')
@section('Main-content')
<!-- Content Header (Page header) -->
<!-- /.content-header -->
@if (session('success'))
<div class="alert alert-success" role="alert">
{{ session('success') }}
</div>
@endif
<meta name="csrf-token" content="{{ csrf_token() }}">
<br><br>
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body pt-3">
<div class="container mt-5"> <!-- Bordered Tabs -->
<form action="{{ route('createEquipamentProject') }}" method="post" enctype="multipart/form-data"> <ul class="nav nav-tabs nav-tabs-bordered">
@csrf
<div class="form-group">
<label for="inputDocumento">Selecione um documento:</label>
<input type="file" class="form-control-file" id="inputDocumento" name="documento" accept=".xlsx, .xls">
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form>
<li class="nav-item">
<button class="nav-link active" data-bs-toggle="tab" data-bs-target="#profile-overview">Overview</button>
</li>
<br><br> <li class="nav-item">
<a id="btn-download-template" href="{{ route('download') }}" class="btn btn-warning">Baixar Template</a> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#profile-edit">Edit Profile</button>
</li>
</div> <li class="nav-item">
<table class="table table-bordered"> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#profile-settings">Settings</button>
<thead> </li>
<tr>
<th>Equipment ID</th>
<th>Factory ID</th>
<th>Equipament Type ID</th>
<th>Tag</th>
<th>equipment_description</th>
<th>Serial Number</th>
<th>Brand</th>
<th>Model</th>
<th>Is Active</th>
</tr>
</thead>
<tbody>
@if(Session::has('listValves'))
@foreach(Session::get('listValves') as $valve)
<tr>
<td>{{ $valve->equipment_id }}</td>
<td>{{ $valve->factory_id }}</td>
<td>{{ $valve->equipament_type_id }}</td>
<td>{{ $valve->tag }}</td>
<td>{{ $valve->equipment_description }}</td>
<td>{{ $valve->serial_number }}</td>
<td>{{ $valve->brand }}</td>
<td>{{ $valve->model }}</td>
<td>{{ $valve->Is_active }}</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div> <li class="nav-item">
</div> <button class="nav-link" data-bs-toggle="tab" data-bs-target="#profile-change-password">Change Password</button>
</li>
@endsection
{{-- Create Project --}}
{{-- @extends('Templates/templateAdmin')
@section('Main-content')
<!-- Content Header (Page header) -->
<!-- /.content-header -->
@if (session('success'))
<div class="alert alert-success" role="alert">
{{ session('success') }}
</div>
@endif
<div class="row justify-content-center">
<div class="card-body">
<!-- progressbar -->
<ul id="progressbar" class="nav nav-pills flex-sm-row" style=" text-align: center;">
<li class="active flex-sm-fill">Project details</li>
<li class="flex-sm-fill">Articulated</li>
<li class="flex-sm-fill">Workstation</li>
</ul> </ul>
</div> <div class="tab-content pt-2">
</div>
<!-- Card details project -->
<fieldset>
<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>
</div>
<div class="card-body"> <div class="tab-pane fade show active profile-overview" id="profile-overview">
<h5 class="card-title">About</h5>
<p class="small fst-italic">Sunt est soluta temporibus accusantium neque nam maiores cumque temporibus. Tempora libero non est unde veniam est qui dolor. Ut sunt iure rerum quae quisquam autem eveniet perspiciatis odit. Fuga sequi sed ea saepe at unde.</p>
<form method="POST" action="{{ route('createProject1') }}" id="idDoFormulario"> <h5 class="card-title">Profile Details</h5>
@csrf
<div class="row"> <div class="row">
<div class="form-group col-sm-6"> <div class="col-lg-3 col-md-4 label ">Full Name</div>
<label>Descrição da obra</label> <div class="col-lg-9 col-md-8">Kevin Anderson</div>
<input type="text" name="description_project" class="form-control"
placeholder="Descrição da obra;">
</div> </div>
<div class="form-group col-sm-6">
<label>. obra ISPT</label>
<input type="number" name="n_project_ispt" class="form-control"
placeholder="Nº. obra ISPT&hellip;">
</div>
</div>
<div class="row">
<div class="form-group col-sm-6">
<label>Responsável obra ISPT</label>
<input type="text" name="responsible_project_ispt" class="form-control"
placeholder="Responsável obra ISPT&hellip;">
</div>
<div class="form-group col-sm-6">
<label>Responsável obra Empresa</label>
<input type="text" name="responsible_project_company" class="form-control"
placeholder="Responsável obra cliente&hellip;">
</div>
</div>
<div class="row">
<div class="form-group col-sm-6" id="companyField">
<label>Empresa</label>
<select class="form-control" name="user_id" id="company_select">
<option value="#">Selecione uma Empresa...</option>
@foreach ($companies as $company)
<option value="{{ $company->id }}">{{ $company->name }}</option>
@endforeach
</select>
</div>
<div class="form-group col-sm-6" id="installationField" hidden>
<label>Instalação</label>
<select class="form-control" name="installation_id" id="installationSelect">
<!-- As opções de instalação serão preenchidas dinamicamente -->
</select>
</div>
</div>
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control" name="new_company_name"
placeholder="Digite o nome da nova empresa">
</div>
<div class="form-group col-sm-6">
<label>Nova Localização</label>
<input type="text" class="form-control" name="new_company_address"
placeholder="Localização...">
</div>
</div>
<div class="form-group" id="localization_installation_client">
<label>Localização</label>
<input type="text" class="form-control" placeholder="Localização" readonly>
</div>
<div class="row"> <div class="row">
<div class="form-group col-sm-6"> <div class="col-lg-3 col-md-4 label">Company</div>
<label>. de obra cliente</label> <div class="col-lg-9 col-md-8">Lueilwitz, Wisoky and Leuschke</div>
<input type="number" name="" class="form-control"
placeholder="Nº. de obra cliente&hellip;">
</div> </div>
<!-- Date --> <div class="row">
<div class="form-group col-sm-6"> <div class="col-lg-3 col-md-4 label">Job</div>
<label>Datas:</label> <div class="col-lg-9 col-md-8">Web Designer</div>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="far fa-calendar-alt"></i>
</span>
</div> </div>
<input name="date_started" type="datetime-local" class="form-control float-right">
<div class="row">
<div class="col-lg-3 col-md-4 label">Country</div>
<div class="col-lg-9 col-md-8">USA</div>
</div> </div>
<!-- /.input group -->
<div class="row">
<div class="col-lg-3 col-md-4 label">Address</div>
<div class="col-lg-9 col-md-8">A108 Adam Street, New York, NY 535022</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Phone</div>
<div class="col-lg-9 col-md-8">(436) 486-3538 x29071</div>
</div>
<div class="row">
<div class="col-lg-3 col-md-4 label">Email</div>
<div class="col-lg-9 col-md-8">k.anderson@example.com</div>
</div> </div>
</div> </div>
<!-- /.card-body -->
<div class="card-footer"> <div class="tab-pane fade profile-edit pt-3" id="profile-edit">
<div class="float-right">
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</div>
</form>
<!-- Profile Edit Form -->
</div>
{{-- /.card-body --}}
{{-- </div> --}}
{{-- /.card card-primary --}}
{{-- </fieldset> --}}
<!-- Card Articulado -->
{{-- <fieldset>
<div class="card card-primary">
<div class="card-header">
<h3 class="card-title">Articulated</h3>
</div>
<!-- ./Card-header -->
<div class="card-body">
<!-- Table articulado da obra -->
<div class="card">
<div class="card-header">
<h3 class="card-title">Tasks</h3>
</div>
<!-- /.card-header -->
<div class="card-body">
<div class="container mt-5">
<form> <form>
<div class="form-group"> <div class="row mb-3">
<label for="inputDocumento">Selecione um documento:</label> <label for="profileImage" class="col-md-4 col-lg-3 col-form-label">Profile Image</label>
<input type="file" class="form-control-file" id="inputDocumento" <div class="col-md-8 col-lg-9">
accept=".xlsx, .xls"> <img src="assets/img/profile-img.jpg" alt="Profile">
<div class="pt-2">
<a href="#" class="btn btn-primary btn-sm" title="Upload new profile image"><i class="bi bi-upload"></i></a>
<a href="#" class="btn btn-danger btn-sm" title="Remove my profile image"><i class="bi bi-trash"></i></a>
</div>
</div> </div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form>
<br><br>
<button id="btn-download-template" type="submit" class="btn btn-warning">Baixar
Template</button>
<div id="tabelaExcel" class="mt-5"></div>
</div> </div>
<div id="tabelaExcel" class="mt-5"></div> <div class="row mb-3">
<div id="tabelaExcel1" class="mt-5"></div> <label for="fullName" class="col-md-4 col-lg-3 col-form-label">Full Name</label>
<div id="tabelaExcel2" class="mt-5"></div> <div class="col-md-8 col-lg-9">
<input name="fullName" type="text" class="form-control" id="fullName" value="Kevin Anderson">
</div>
</div>
<div class="row mb-3">
<label for="about" class="col-md-4 col-lg-3 col-form-label">About</label>
<div class="col-md-8 col-lg-9">
<textarea name="about" class="form-control" id="about" style="height: 100px">Sunt est soluta temporibus accusantium neque nam maiores cumque temporibus. Tempora libero non est unde veniam est qui dolor. Ut sunt iure rerum quae quisquam autem eveniet perspiciatis odit. Fuga sequi sed ea saepe at unde.</textarea>
</div>
</div>
<div class="row mb-3">
<label for="company" class="col-md-4 col-lg-3 col-form-label">Company</label>
<div class="col-md-8 col-lg-9">
<input name="company" type="text" class="form-control" id="company" value="Lueilwitz, Wisoky and Leuschke">
</div>
</div>
<div class="row mb-3">
<label for="Job" class="col-md-4 col-lg-3 col-form-label">Job</label>
<div class="col-md-8 col-lg-9">
<input name="job" type="text" class="form-control" id="Job" value="Web Designer">
</div>
</div>
<div class="row mb-3">
<label for="Country" class="col-md-4 col-lg-3 col-form-label">Country</label>
<div class="col-md-8 col-lg-9">
<input name="country" type="text" class="form-control" id="Country" value="USA">
</div>
</div>
<div class="row mb-3">
<label for="Address" class="col-md-4 col-lg-3 col-form-label">Address</label>
<div class="col-md-8 col-lg-9">
<input name="address" type="text" class="form-control" id="Address" value="A108 Adam Street, New York, NY 535022">
</div>
</div>
<div class="row mb-3">
<label for="Phone" class="col-md-4 col-lg-3 col-form-label">Phone</label>
<div class="col-md-8 col-lg-9">
<input name="phone" type="text" class="form-control" id="Phone" value="(436) 486-3538 x29071">
</div>
</div>
<div class="row mb-3">
<label for="Email" class="col-md-4 col-lg-3 col-form-label">Email</label>
<div class="col-md-8 col-lg-9">
<input name="email" type="email" class="form-control" id="Email" value="k.anderson@example.com">
</div>
</div>
<div class="row mb-3">
<label for="Twitter" class="col-md-4 col-lg-3 col-form-label">Twitter Profile</label>
<div class="col-md-8 col-lg-9">
<input name="twitter" type="text" class="form-control" id="Twitter" value="https://twitter.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Facebook" class="col-md-4 col-lg-3 col-form-label">Facebook Profile</label>
<div class="col-md-8 col-lg-9">
<input name="facebook" type="text" class="form-control" id="Facebook" value="https://facebook.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Instagram" class="col-md-4 col-lg-3 col-form-label">Instagram Profile</label>
<div class="col-md-8 col-lg-9">
<input name="instagram" type="text" class="form-control" id="Instagram" value="https://instagram.com/#">
</div>
</div>
<div class="row mb-3">
<label for="Linkedin" class="col-md-4 col-lg-3 col-form-label">Linkedin Profile</label>
<div class="col-md-8 col-lg-9">
<input name="linkedin" type="text" class="form-control" id="Linkedin" value="https://linkedin.com/#">
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Save Changes</button>
</div>
</form><!-- End Profile Edit Form -->
</div> </div>
<!-- /.card-body -->
</div>
<!-- /. Table articulado da obra-->
<div class="tab-pane fade pt-3" id="profile-settings">
<!-- Settings Form -->
<form>
<div class="row mb-3">
<label for="fullName" class="col-md-4 col-lg-3 col-form-label">Email Notifications</label>
<div class="col-md-8 col-lg-9">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="changesMade" checked>
<label class="form-check-label" for="changesMade">
Changes made to your account
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="newProducts" checked>
<label class="form-check-label" for="newProducts">
Information on new products and services
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="proOffers">
<label class="form-check-label" for="proOffers">
Marketing and promo offers
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="securityNotify" checked disabled>
<label class="form-check-label" for="securityNotify">
Security alerts
</label>
</div>
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Save Changes</button>
</div>
</form><!-- End settings Form -->
</div> </div>
<!-- ./Card-body -->
<div class="tab-pane fade pt-3" id="profile-change-password">
<!-- Change Password Form -->
<form>
<div class="row mb-3">
<label for="currentPassword" class="col-md-4 col-lg-3 col-form-label">Current Password</label>
<div class="col-md-8 col-lg-9">
<input name="password" type="password" class="form-control" id="currentPassword">
</div>
</div> </div>
<!-- ./Card card-primary -->
<input type="button" name="previous" class="btn btn-primary previous float-left" value="Previous" /> <div class="row mb-3">
<input type="button" name="next" class="btn btn-primary next float-right" value="Próximo" /> <label for="newPassword" class="col-md-4 col-lg-3 col-form-label">New Password</label>
</fieldset> --}} <div class="col-md-8 col-lg-9">
<input name="newpassword" type="password" class="form-control" id="newPassword">
</div>
</div>
{{-- <br> <div class="row mb-3">
<label for="renewPassword" class="col-md-4 col-lg-3 col-form-label">Re-enter New Password</label>
<div class="col-md-8 col-lg-9">
<input name="renewpassword" type="password" class="form-control" id="renewPassword">
</div>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary">Change Password</button>
</div>
</form><!-- End Change Password Form -->
</div>
</div><!-- End Bordered Tabs -->
</div>
</div>
</div>
</div>
</section> </section>
</div> <script src="{{ asset('assets/dist/js/bootstrap.bundle.min.js') }}"></script>
<!-- /.content-wrapper --> {{-- <script src="{{ asset('assets/plugins/bootstrap/js/bootstrap.bundle.min.js') }}"></script> --}}
<script>
$(document).ready(function() {
var installationsData; // Esta variável irá armazenar as informações das instalações
$('#company_select').change(function() {
var user_id = $(this).val();
if (user_id == '#') {
$('#installationField').attr('hidden', 'hidden');
$('#localization_installation_client').hide();
$('#new_company_div').hide();
return;
}
$.get('/api/installations?user_id=' + user_id, function(data) {
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>');
// Agora você pode adicionar suas opções dinâmicas.
$.each(data, function(index, installation) {
select.append('<option value="' + installation.installation_ID +
'">' +
installation.installation_name + '</option>');
});
// Armazene os dados em installationsData
installationsData = data;
$('#installationField').removeAttr('hidden');
});
});
// Adicione este código para lidar com a mudança na seleção da instalação
$('#installationSelect').change(function() {
if (this.value == 'new_install') {
$('#new_company_div').show();
$('#localization_installation_client').hide();
return;
}
$('#new_company_div').hide();
$('#localization_installation_client').show();
if (this.value == '#') {
$('#new_company_div').hide();
$('#localization_installation_client').hide();
return;
}
// Verifique se installationsData está definido
if (installationsData) {
// Encontre a instalação selecionada nos dados da instalação
var selectedInstallation = installationsData.find(function(installation) {
return installation.installation_ID == this.value;
}.bind(this));
if (selectedInstallation) {
// Preencha o valor do campo de endereço com o endereço da instalação selecionada
$('#localization_installation_client input').val(selectedInstallation.address);
}
}
});
$('#localization_installation_client').hide();
$('#new_company_div').hide();
});
</script> --}}
{{-- <script>
$('#new_company_div').hide();
$('#idDoFormulario').on('submit', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(response) {
if (response.success) {
moveToNextFieldset
(); // Mover para o próximo fieldset se a solicitação for bem-sucedida
} else {
// Trate o caso em que a resposta foi bem-sucedida, mas o conteúdo da resposta indica um erro.
// Por exemplo, você pode mostrar uma mensagem de erro.
}
},
error: function(response) {
// Trate o caso em que a própria solicitação falhou.
// Por exemplo, você pode mostrar uma mensagem de erro.
}
});
});
function moveToNextFieldset() {
if (animating) return;
animating = true;
current_fs = $('.active').parent();
next_fs = $('.active').parent().next();
$("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
next_fs.show();
current_fs.animate({
opacity: 0
}, {
step: function(now, mx) {
scale = 1 - (1 - now) * 0.2;
left = (now * 50) + "%";
opacity = 1 - now;
current_fs.css({
'transform': 'scale(' + scale + ')',
'position': 'absolute'
});
next_fs.css({
'left': left,
'opacity': opacity
});
},
duration: 800,
complete: function() {
current_fs.hide();
animating = false;
},
easing: 'easeInOutBack'
});
}
</script> --}}
{{-- Script Articlado --}}
{{-- <script>
// Atribua a URL ao atributo formaction do botão </body>
document.getElementById('btn-download-template').setAttribute('formaction', downloadUrl);
(function() { </html>
const tabelaExcel1 = document.getElementById('tabelaExcel1');
function handleFormSubmit(event) {
event.preventDefault(); // Previne o comportamento padrão do formulário
const inputFile = document.getElementById('inputDocumento').files[0];
const reader = new FileReader();
reader.readAsBinaryString(inputFile);
reader.onload = function() {
const fileData = reader.result;
const workbook = XLSX.read(fileData, {
type: 'binary'
});
const worksheet1 = workbook.Sheets[workbook.SheetNames[0]];
const tableData1 = XLSX.utils.sheet_to_json(worksheet1);
const tabelaHtml1 = criarTabelaHtml(tableData1);
const tabelaExcel1 = document.getElementById('tabelaExcel1');
if (tabelaExcel1 !== null) {
tabelaExcel1.innerHTML = tabelaHtml1;
}
};
}
function criarTabelaHtml(dados) {
const colunasObj = dados[2];
const colunasheader = Object.keys(colunasObj).map(key =>
colunasObj[key]);
console.log(dados);
const colunasHtml = colunasheader.map(coluna => `<th>${coluna}</th>`).join('');
const colunas = Object.keys(dados[2]);
const linhasHtml = dados
.slice(3)
.map(linha => {
const celulasHtml = colunas.map(coluna => {
const valor = linha[coluna] !== undefined ? linha[coluna] : 'NULL';
return `<td>${valor}</td>`;
}).join('');
return `<tr>${celulasHtml}</tr>`;
})
.join('');
// console.log()
return `
<table class="table table-bordered">
<thead>
<tr>${colunasHtml}</tr>
</thead>
<tbody>
${linhasHtml}
</tbody>
</table>
`;
}
const form = document.querySelector('form');
form.addEventListener('submit', handleFormSubmit);
})();
</script> --}}
{{-- @endsection --}}

View File

@ -110,3 +110,129 @@
</body> </body>
</html> </html>
<div class="card card-primary">
<div class="card-body">
<div class="row align-items-center">
<div class="col-sm">
<div class="user-panel mt-3 pb-3 mb-3">
<div class="image d-flex justify-content-center align-items-center">
<label for="input-file" class="imgProfile-hover">
<img src="{{ asset('/img/avatar5.png') }}" class="img-circle elevation-2 imgProfile"
alt="User Image">
{{-- Parte de baixo para colocar o 'Escolher arquivo' --}}
{{-- <div class="input-group input-file">
<input type="text" class="form-control"
placeholder="Escolha um arquivo" readonly>
<span class="input-group-btn">
<button class="btn btn-secondary btn-choose" type="button">Escolher
arquivo</button>
</span>
</div> --}}
</label>
{{-- <input type="file" id="input-file" class="d-none"> --}}
</div>
<div class="text-center">
<h5>{{ $user->userType->type }} :: {{ $user->name }} </h5>
</div>
</div>
<div class="info text-center">
{{-- <p class="d-block" style="font-size: 2rem;">{{ $tipo_Utilizador }}</p> --}}
</div>
</div>
<div class="col-sm">
<div class="row">
<div class="col-sm form-group align-self-center">
<p>Nome: <input class="form-control" type="text" name=""
value="{{ $user->name }}"></p>
</div>
<div class="col-sm form-group align-self-center">
<p>Email: <input class="form-control" type="text" name=""
value="{{ $user->email }}"></p>
</div>
</div>
<div class="row">
<div class="col-sm form-group align-self-center">
<p>Telemovel: <input class="form-control" type="text" name=""
value="{{ $user->user_phone }}"></p>
</div>
<div class="col-sm form-group align-self-center">
<p>NIF: <input class="form-control" type="text" name=""
value="{{ $user->user_nif }}"></p>
</div>
</div>
{{-- <div class="row">
<div class="col-sm form-group align-self-center">
<p>Palavra-passe : <input class="form-control" type="password" ></p>
</div>
<div class="col-sm form-group align-self-center">
<p>Confirmar Palavra-passe : <input class="form-control" type="password" ></p>
</div>
</div> --}}
<div class="row">
<div class="col-sm form-group align-self-center">
{{-- <p>Nova Palavra-passe: <input class="form-control" type="text" name=""></p> --}}
</div>
</div>
</div>
</div>
</div>
<!-- /.card-body -->
<div class="card-footer">
<div class="float-right">
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="btn btn-danger">T</button>
</form>
</div>
</div>
{{-- Oficial --}}
{{-- ./content --}}
</div>
{{-- ./content-wrapper --}}

View File

@ -29,6 +29,10 @@
use App\Http\Controllers\ExecutionProjectController; use App\Http\Controllers\ExecutionProjectController;
use App\Http\Controllers\WorkstationsJobsController; use App\Http\Controllers\WorkstationsJobsController;
Route::get('test', function(){
return view('test');
});
Route::post('receiveEquipmentToAssociateTasks', [CreateProjectController::class,'receiveEquipmentToAssociateTasks'])->name('receiveEquipmentToAssociateTasks'); Route::post('receiveEquipmentToAssociateTasks', [CreateProjectController::class,'receiveEquipmentToAssociateTasks'])->name('receiveEquipmentToAssociateTasks');
@ -149,6 +153,10 @@
Route::put('users/{user}', [userController::class, 'update'])->name('users.update'); Route::put('users/{user}', [userController::class, 'update'])->name('users.update');
Route::delete('users/{user}', [UserController::class, 'destroy'])->name('users.destroy'); Route::delete('users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
// Route::post('editProfile/{id}',[userController::class,'EditProfile'])->name('editProfile');
Route::put('editProfile/{id}',[userController::class,'EditProfile'])->name('editProfile');
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -162,12 +170,12 @@
*/ */
Route::get('/CreateUsers', [Pending_UserController::class, 'ListPendingUsers'])->name('CreateUsers'); Route::get('/CreateUsers', [Pending_UserController::class, 'ListPendingUsers'])->name('CreateUsers');
Route::get('/CreateUsers/{id}', [Pending_UserController::class, 'ShowFormUser'])->name('ShowPendingUser'); Route::get('/CreateUsers/{id}', [Pending_UserController::class, 'ShowFormUser'])->name('ShowPendingUser');
});
Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser'); Route::post('formulario/receive', [Pending_UserController::class, 'store'])->name('criarUser');
Route::get('formulario', function () { Route::get('formulario', function () {
return view('email/FormAdmin'); return view('email/FormAdmin');
})->name('formulario'); })->name('formulario');
});
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------