Update formAJAX function to log data from the server Add getUserByEmail and checkEmail functions Update profile.ejs to require login Update addSensorData function to emit new sensor data Update api.css with styling changes Update token route to generate and send token email Update authChecker middleware to allow user and token routes
116 lines
5.2 KiB
Plaintext
116 lines
5.2 KiB
Plaintext
<%- include('top') %>
|
|
<script type="text/javascript">
|
|
// Require login to see this page.
|
|
app.auth.forceLogin()
|
|
</script>
|
|
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<div class="profile">
|
|
<!-- <li jq-repeat="getUsername" class="nav-item"> -->
|
|
<div class="edit_information" jq-repeat="getUserDetails">
|
|
<form id="profileForm" action="user/update" method="put" onsubmit="formAJAX(this)"
|
|
evalAJAX="app.auth.profileRedirect();">
|
|
<div class="card-header shadow actionMessage" style="display:none"></div>
|
|
<h3 class="text-center">Edit Personal Information</h3>
|
|
<br>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">First Name:</label>
|
|
<input type="text" name="first_name" value="{{ user.firstname }}" class="form-control"
|
|
pattern="^[a-zA-Z\s]+$">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Last Name: </label>
|
|
<input type="text" name="last_name" value="{{ user.lastname }}" class="form-control"
|
|
pattern="^[a-zA-Z\s]+$">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Username:</label>
|
|
<input type="text" name="username" value="{{ user.username }}" class="form-control"
|
|
pattern="^\w+$">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Password:</label>
|
|
<input type="password" name="password" placeholder="Password" class="form-control" value=""
|
|
pattern="^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Email Address:</label>
|
|
<input type="email" name="email" value="{{user.email}}" class="form-control"
|
|
pattern="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Address:</label>
|
|
<input type="text" name="address" value="{{ user.address }}" class="form-control"
|
|
pattern="^(\d{1,3}.)?.+\s(\d{6})$">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
|
|
<div class="form-group">
|
|
<label class="profile_details_text">Phone Number:</label>
|
|
<input type="tel" name="phone" value="{{ user.phone }}" class="form-control" value=""
|
|
pattern="^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,8}$">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
<div class="row justify-content-center mt-3">
|
|
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6 submit">
|
|
<div class="form-group text-center">
|
|
<input type="submit" class="btn btn-success updateButton" value="Update Profile">
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6 text-center">
|
|
<button type="button" class="btn btn-danger deleteButton" onclick="return myConfirm();">Delete
|
|
Profile</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<script>
|
|
function myConfirm() {
|
|
var result = confirm("Do you wish to Delete your Profile");
|
|
if (result == true) {
|
|
app.user.deleteProfile();
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
<%- include('bot') %> |