Manage user pages
parent
badfb83f41
commit
9c9fa4c975
|
@ -29,7 +29,7 @@ class UserPageController extends Controller
|
|||
|
||||
$planRoute = true;
|
||||
|
||||
return view('user_page', ['name'=>$user->name, 'vehicles' => $vehicles, 'planRoute' => $planRoute]);
|
||||
return view('planRoute', ['name'=>$user->name, 'vehicles' => $vehicles, 'planRoute' => $planRoute]);
|
||||
}
|
||||
|
||||
public function add(Request $request)
|
||||
|
@ -53,13 +53,20 @@ class UserPageController extends Controller
|
|||
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
public function editVehicle($id=null)
|
||||
{
|
||||
|
||||
$user = Auth::user();
|
||||
$vehicles = Vehicle::join('vehicles', 'vehicle.id', 'vehicles.vehicle_id')->join('users', 'users.id', 'vehicles.user_id')->where('users.email', $user->email)->get();
|
||||
$vehicle=Vehicle::where('id', $id)->get();
|
||||
|
||||
$vehicles = Vehicle::join('vehicles', 'vehicle.id', 'vehicles.vehicle_id')
|
||||
->join('users', 'users.id', 'vehicles.user_id')->where('users.email', $user->email)
|
||||
->select('brand','model', 'vehicle.id as vehicle_id')->get();
|
||||
|
||||
$selectedVehicle=Vehicle::where('id', $id)->first();
|
||||
|
||||
$preferredVehicle = User::where('id', Auth::user()->id)->get();
|
||||
return view('user_page', ['name'=>$user->name, 'vehicle' => $vehicle, 'vehicles' => $vehicles]);
|
||||
|
||||
return view('manageVehicles', ['name'=>$user->name, 'selectedVehicle' => $selectedVehicle, 'vehicles' => $vehicles]);
|
||||
|
||||
}
|
||||
|
||||
|
@ -212,4 +219,32 @@ class UserPageController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
public function getVehicles()
|
||||
{
|
||||
# code...
|
||||
$user = Auth::user();
|
||||
$vehicles = Vehicle::join('vehicles', 'vehicle.id', 'vehicles.vehicle_id')
|
||||
->join('users', 'users.id', 'vehicles.user_id')
|
||||
->where('users.email', $user->email)
|
||||
->get();
|
||||
|
||||
|
||||
return view('manageVehicles', ['name'=>$user->name, 'vehicles' => $vehicles]);
|
||||
|
||||
}
|
||||
|
||||
public function getInfo()
|
||||
{
|
||||
# code...
|
||||
$user = Auth::user();
|
||||
$vehicles = Vehicle::join('vehicles', 'vehicle.id', 'vehicles.vehicle_id')
|
||||
->join('users', 'users.id', 'vehicles.user_id')
|
||||
->where('users.email', $user->email)
|
||||
->get();
|
||||
|
||||
|
||||
return view('manageInfo', ['name'=>$user->name, 'vehicles' => $vehicles]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<li class="active"><a href="{{route('home')}}">Home</a></li>
|
||||
<li><a href="#">About</a></li>
|
||||
@if (Auth::user())
|
||||
<li><a href="{{route('userpage')}}">My Area</a></li>
|
||||
<li><a href="{{route('planRoute')}}">My Area</a></li>
|
||||
@endif
|
||||
</ul>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
@include('header')
|
||||
<div class="col-sm-8 text-center">
|
||||
<h1 class="center">Welcome, {{$name}}</h1>
|
||||
<br><br>
|
||||
|
||||
<div class="btn-group">
|
||||
<a id="percurso" type="button" class="btn btn-primary btn-lg" href="{{route('planRoute')}}">Planear Percurso</a>
|
||||
<a id="veiculos" type="button" class="btn btn-success btn-lg" href="{{route('manageVehicles')}}">Gerir Veiculos</a>
|
||||
<a id="info" type="button" class="btn btn-info btn-lg" href="{{route('manageInfo')}}">Gerir Info</a>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div id="divInfo">
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Nome: </label>
|
||||
<input class="form-control" id="txtName" name="name" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Email: </label>
|
||||
<input class="form-control" id="txtEmail" name="email" type="text">
|
||||
</div>
|
||||
|
||||
<a href="#" class="btn btn-success">Guardar Alterações</a>
|
||||
|
||||
</div>
|
||||
|
||||
<form id="form-change-password" role="form" method="POST" action="{{ route('editPass') }}" novalidate class="form-horizontal">
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="current-password" class="col-sm-4 control-label">Password Antiga: </label>
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="password" class="form-control" id="current-password" name="current-password" placeholder="Password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password" class="col-sm-4 control-label">Password Nova: </label>
|
||||
<input type="password" class="form-control" id="password" name="password" placeholder="Nova Password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password_confirmation" class="col-sm-4 control-label">Confirmar Password</label>
|
||||
<input type="password" class="form-control" id="password_confirmation" name="password_confirmation" placeholder="Confirmar Password">
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-danger">Alterar Password</a>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@include('footer')
|
|
@ -0,0 +1,93 @@
|
|||
@include('header')
|
||||
<div class="col-sm-8 text-center">
|
||||
<h1 class="center">Welcome, {{$name}}</h1>
|
||||
<br><br>
|
||||
|
||||
<div class="btn-group">
|
||||
<a id="percurso" type="button" class="btn btn-primary btn-lg" href="{{route('planRoute')}}">Planear Percurso</a>
|
||||
<a id="veiculos" type="button" class="btn btn-success btn-lg" href="{{route('manageVehicles')}}">Gerir Veiculos</a>
|
||||
<a id="info" type="button" class="btn btn-info btn-lg" href="{{route('manageInfo')}}">Gerir Info</a>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div id="divVeiculos">
|
||||
<div class="col-sm-6">
|
||||
<div class="list-group" id="vehicleList">
|
||||
@if($vehicles)
|
||||
<ul>
|
||||
@foreach($vehicles as $vehicle)
|
||||
<li class="list-group-item {{Auth::user()->preferredVehicle==$vehicle->vehicle_id ? 'active': ''}}"
|
||||
value="{{$vehicle->vehicle_id}}">{{$vehicle->brand}} - {{$vehicle->model}}
|
||||
<a class="btn btn-success" href="{{ route('editVehicle',$vehicle->vehicle_id)}}">Editar</a>
|
||||
<a class="btn btn-danger">Remover</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 text-left">
|
||||
<form method="POST" action="{{ route('addvehicle') }}">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="form-group">
|
||||
<label for="brand">Marca: </label>
|
||||
<input class="form-control" id="txtBrand" name="brand" type="text"
|
||||
value="@if(isset($selectedVehicle)){{$selectedVehicle->brand}}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="model">Modelo: </label>
|
||||
<input class="form-control" id="txtModel" name="model" type="text"
|
||||
value="@if(isset($selectedVehicle)){{$selectedVehicle->model}}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="fuel">Tipo de Combustível: </label>
|
||||
<input class="form-control" id="txtFuelType" name="fuel" type="text"
|
||||
value="@if(isset($selectedVehicle)){{$selectedVehicle->fuel}}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="consumption">Consumo(L/100): </label>
|
||||
<input class="form-control" id="txtConsumption" type="number" name="consumption" step="0.1"
|
||||
value="@if(isset($selectedVehicle)){{$selectedVehicle->consumption}}@endif">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="favoriteVehicle">Preferred Vehicle </label>
|
||||
<input type="checkbox" name="favoriteVehicle">
|
||||
</div>
|
||||
<div class="center">
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-lg">Guardar</button>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(" #vehicleList>a").click(function(){
|
||||
/*{{-- @foreach($vehicles as $vehicle)
|
||||
@if($vehicle->id == $(this).val())
|
||||
$("#txtBrand").val("{{$vehicle->brand}}");
|
||||
$("#txtModel").val('');
|
||||
$("#txtFuelType").val('');
|
||||
$("#txtConsumption").val('');
|
||||
@endif
|
||||
@endforeach--}}*/
|
||||
});
|
||||
|
||||
$("#addVehicle").click(function(){
|
||||
$("#txtBrand").val('');
|
||||
$("#txtModel").val('');
|
||||
$("#txtFuelType").val('');
|
||||
$("#txtConsumption").val('');
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@include('footer')
|
|
@ -0,0 +1,70 @@
|
|||
@include('header')
|
||||
<div class="col-sm-8 text-center">
|
||||
<h1 class="center">Welcome, {{$name}}</h1>
|
||||
<br><br>
|
||||
|
||||
<div class="btn-group">
|
||||
<a id="percurso" type="button" class="btn btn-primary btn-lg" href="{{route('planRoute')}}">Planear Percurso</a>
|
||||
<a id="veiculos" type="button" class="btn btn-success btn-lg" href="{{route('manageVehicles')}}">Gerir Veiculos</a>
|
||||
<a id="info" type="button" class="btn btn-info btn-lg" href="{{route('manageInfo')}}">Gerir Info</a>
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<div id="divPercurso">
|
||||
<div id="mapUP" class="col-sm-6" style="width: 300px;height: 500px;"></div>
|
||||
<!--<script>
|
||||
function initMap() {
|
||||
var centerPortugal = {lat: 39.676944, lng: -8.1425};
|
||||
var map = new google.maps.Map(document.getElementById('map'), {
|
||||
zoom: 7,
|
||||
center: centerPortugal
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script async defer
|
||||
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDsZDCiU1k6mSuywRRL88xxXY-81RMEU7s&callback=initMap">
|
||||
</script>
|
||||
-->
|
||||
<div class="col-sm-6 text-left">
|
||||
|
||||
{{csrf_field()}}
|
||||
<div class="form-group">
|
||||
<label for="inputdefault">Inicio: </label>
|
||||
<input class="form-control" id="upOrigin" name="upOrigin" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="inputdefault">Destino: </label>
|
||||
<input class="form-control" id="upDestination" name="upDestination" type="text">
|
||||
</div>
|
||||
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Veiculos
|
||||
<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="checkbox" name="highway" id="upHighway">Autoestrada</input>
|
||||
<label>Autonomia (km):<input type="number" name="upAutonomyKm" id="upAutonomyKm"></label><br>
|
||||
<label>Autonomia (l):<input type="number" name="upAutonomyL" id="upAutonomyL"></label>
|
||||
<label>Consumo (l/km):<input type="number" name="upConsumption" id="upConsumption"></label>
|
||||
|
||||
<br><br>
|
||||
<div class="center">
|
||||
|
||||
<button id="upSearch" class="btn btn-primary btn-lg">Pesquisar</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<script async defer
|
||||
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDsZDCiU1k6mSuywRRL88xxXY-81RMEU7s&callback=initMapUP" >
|
||||
</script>
|
||||
@include('footer')
|
|
@ -1,206 +0,0 @@
|
|||
@include('header')
|
||||
<div class="col-sm-8 text-center">
|
||||
<h1 class="center">Welcome, {{$name}}</h1>
|
||||
<br><br>
|
||||
|
||||
<div class="btn-group">
|
||||
<button id="percurso" type="button" class="btn btn-primary btn-lg">Planear Percurso</button>
|
||||
<button id="veiculos" type="button" class="btn btn-success btn-lg">Gerir Veiculos</button>
|
||||
<button id="info" type="button" class="btn btn-info btn-lg">Gerir Info</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$('#veiculos').click(function() {
|
||||
$('#divPercurso').hide();
|
||||
$('#divInfo').hide();
|
||||
$('#divVeiculos').toggle('slow', function() {
|
||||
// Animation complete.
|
||||
});
|
||||
});
|
||||
$('#percurso').click(function() {
|
||||
$('#divVeiculos').hide();
|
||||
$('#divInfo').hide();
|
||||
$('#divPercurso').toggle('slow', function() {
|
||||
// Animation complete.
|
||||
});
|
||||
});
|
||||
$('#info').click(function() {
|
||||
$('#divVeiculos').hide();
|
||||
$('#divPercurso').hide();
|
||||
$('#divInfo').toggle('slow', function() {
|
||||
// Animation complete.
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<br><br><br>
|
||||
|
||||
|
||||
<div id="divPercurso">
|
||||
<div id="mapUP" class="col-sm-6" style="width: 300px;height: 500px;"></div>
|
||||
<!--<script>
|
||||
function initMap() {
|
||||
var centerPortugal = {lat: 39.676944, lng: -8.1425};
|
||||
var map = new google.maps.Map(document.getElementById('map'), {
|
||||
zoom: 7,
|
||||
center: centerPortugal
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script async defer
|
||||
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDsZDCiU1k6mSuywRRL88xxXY-81RMEU7s&callback=initMap">
|
||||
</script>
|
||||
-->
|
||||
<div class="col-sm-6 text-left">
|
||||
|
||||
{{csrf_field()}}
|
||||
<div class="form-group">
|
||||
<label for="inputdefault">Inicio: </label>
|
||||
<input class="form-control" id="upOrigin" name="upOrigin" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="inputdefault">Destino: </label>
|
||||
<input class="form-control" id="upDestination" name="upDestination" type="text">
|
||||
</div>
|
||||
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-default dropdown-toggle" type="button" id="menu1" data-toggle="dropdown">Veiculos
|
||||
<span class="caret"></span></button>
|
||||
<ul class="dropdown-menu" role="menu" aria-labelledby="menu1">
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li>
|
||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<input type="checkbox" name="highway" id="upHighway">Autoestrada</input>
|
||||
<label>Autonomia (km):<input type="number" name="upAutonomyKm" id="upAutonomyKm"></label><br>
|
||||
<label>Autonomia (l):<input type="number" name="upAutonomyL" id="upAutonomyL"></label>
|
||||
<label>Consumo (l/km):<input type="number" name="upConsumption" id="upConsumption"></label>
|
||||
|
||||
<br><br>
|
||||
<div class="center">
|
||||
|
||||
<button id="upSearch" class="btn btn-primary btn-lg">Pesquisar</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="divVeiculos" style="display:none">
|
||||
<div class="col-sm-6">
|
||||
<div class="list-group" id="vehicleList">
|
||||
@if($vehicles)
|
||||
@foreach($vehicles as $vehicle)
|
||||
<a href="{{ route('editVehicle',$vehicle->id)}}"class="list-group-item {{Auth::user()->preferredVehicle==$vehicle->vehicle_id ? 'active': ''}}" value="{{$vehicle->id}}" onclick="var brand={{$vehicle->brand}}, {{$vehicle->model}}, {{$vehicle->fuel}}, {{$vehicle->consumption}}, {{Auth::user()->preferredVehicle==$vehicle->id? 1 : 0}};updateVehiclePage(brand)">{{$vehicle->brand}} - {{$vehicle->model}}</a>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 text-left">
|
||||
<form method="POST" action="{{ route('addvehicle') }}" autocomplete="on">
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="form-group">
|
||||
<label for="brand">Marca: </label>
|
||||
<input class="form-control" id="txtBrand" name="brand" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="model">Modelo: </label>
|
||||
<input class="form-control" id="txtModel" name="model" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="fuel">Tipo de Combustível: </label>
|
||||
<input class="form-control" id="txtFuelType" name="fuel" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="consumption">Consumo(L/100): </label>
|
||||
<input class="form-control" id="txtConsumption" type="number" name="consumption" step="0.1">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="favoriteVehicle">Preferred Vehicle </label>
|
||||
<input type="checkbox" name="favoriteVehicle">
|
||||
</div>
|
||||
<div class="center">
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-lg">Adicionar</button>
|
||||
<button type="button" class="btn btn-success btn-lg">Editar</button>
|
||||
<button type="button" class="btn btn-danger btn-lg" formaction="{{--route('deletevehicle',$v->id)--}}">Remover</button>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(" #vehicleList>a").click(function(){
|
||||
/*{{-- @foreach($vehicles as $vehicle)
|
||||
@if($vehicle->id == $(this).val())
|
||||
$("#txtBrand").val("{{$vehicle->brand}}");
|
||||
$("#txtModel").val('');
|
||||
$("#txtFuelType").val('');
|
||||
$("#txtConsumption").val('');
|
||||
@endif
|
||||
@endforeach--}}*/
|
||||
});
|
||||
|
||||
$("#addVehicle").click(function(){
|
||||
$("#txtBrand").val('');
|
||||
$("#txtModel").val('');
|
||||
$("#txtFuelType").val('');
|
||||
$("#txtConsumption").val('');
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="divInfo" style="display:none">
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label>Nome: </label>
|
||||
<input class="form-control" id="txtName" name="name" type="text">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Email: </label>
|
||||
<input class="form-control" id="txtEmail" name="email" type="text">
|
||||
</div>
|
||||
|
||||
<a href="#" class="btn btn-success">Guardar Alterações</a>
|
||||
|
||||
</div>
|
||||
|
||||
<form id="form-change-password" role="form" method="POST" action="{{ route('editPass') }}" novalidate class="form-horizontal">
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="current-password" class="col-sm-4 control-label">Password Antiga: </label>
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="password" class="form-control" id="current-password" name="current-password" placeholder="Password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password" class="col-sm-4 control-label">Password Nova: </label>
|
||||
<input type="password" class="form-control" id="password" name="password" placeholder="Nova Password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password_confirmation" class="col-sm-4 control-label">Confirmar Password</label>
|
||||
<input type="password" class="form-control" id="password_confirmation" name="password_confirmation" placeholder="Confirmar Password">
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-danger">Alterar Password</a>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script async defer
|
||||
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDsZDCiU1k6mSuywRRL88xxXY-81RMEU7s&callback=initMapUP" >
|
||||
</script>
|
||||
@include('footer')
|
|
@ -63,3 +63,9 @@ Route::get('/userpage/edit/{id}', 'UserPageController@edit')->name('editVehicle'
|
|||
Route::post('/userpage', 'UserPageController@postTripData')->name('sendTripData');
|
||||
|
||||
Route::post('/userpage/editPass', 'UserPageController@postCredentials')->name('editPass');
|
||||
|
||||
Route::get('/userpage', 'UserPageController@index')->name('planRoute');
|
||||
Route::get('/userpage/vehicles', 'UserPageController@getVehicles')->name('manageVehicles');
|
||||
Route::get('/userpage/info', 'UserPageController@getInfo')->name('manageInfo');
|
||||
|
||||
Route::get('/userpage/vehicles/edit/{id}', 'UserPageController@editVehicle')->name('editVehicle');
|
||||
|
|
Loading…
Reference in New Issue