mp/consumerWebsite/views/profile.ejs
newtbot c234aa3616 Add nodemailer configuration and console.log statement
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
2024-01-27 04:52:02 +08:00

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') %>