Commit 4b5e5bdb authored by Hasitha Samarasekara's avatar Hasitha Samarasekara

Merge branch 'IT18063288' into 'master'

It18063288

See merge request !13
parents 90d14588 3fbdd6ff
const router = require('express').Router();
let userAccount = require('../models/userAccount.user.model');
let StudentAccount = require('../models/student.user.model');
let TutorAccount = require('../models/tutor.user.model');
let InstituteAccount = require('../models/institute.user.model');
router.route('/update/:id').post((req,res) =>{
userAccount.findById(req.params.id, function(err, details){
......@@ -25,9 +28,67 @@ router.route('/getCredentials').post((req, res) => {
const email = req.body.user_email;
const password = req.body.user_password;
userAccount.find({user_email:email, user_password:password}, function (err, User) {
}).then(User => res.json(User))
userAccount.find({user_email:email}, function (err, User) {
}).then(User => {
let payload = {
user_id: User[0].user_id,
user_email:User[0].user_email,
user_name:'',
user_type:User[0].user_type
}
console.log(User);
if(User.length > 0){
console.log(password);
console.log(User[0].user_password);
if(User[0].user_password === password){
console.log("inside password")
if(User[0].confirmed){
console.log("inside Confirmed")
if(User[0].user_type === "Student"){
console.log("inside student")
StudentAccount.findById(User[0].user_id).then(result=>{
console.log(result);
payload.user_name = result.student_name
res.json(payload)
})
}
else if(User.user_type === "Tutor"){
TutorAccount.findById(User[0].user_id).then(result=>{
payload.user_name = result.tutor_name
res.json(payload)
})
}
else if(User.user_type === "Institute"){
InstituteAccount.findById(User[0].user_id).then(result=>{
payload.user_name = result.institute_name
res.json(payload)
})
}
}
else {
res.json("Not Verified")
}
}
else {
res.json("Invalid Password")
}
}
else {
res.json("Not registered")
}
})
.catch(err => res.status(400).json('Error: ' + err));
......
......@@ -29,7 +29,7 @@ function App() {
<Route path="/beforeConfirm" exact component={beforeConfirmation}/>
<Route path="/AccountVerified/:id" exact component={VerifiedAccount}/>
<Route path="/Home/ViewProfile/:id" exact component={TutorProfileView}/>
{/*<Route path="/studentDashboard" exact component={StudentDashboard}/>*/}
<Route path="/studentDashboard" exact component={StudentDashboard}/>
{/*<Route path="/" exact component={Dashboard}/>*/}
......
......@@ -78,10 +78,11 @@ export default class TutorCard extends Component{
</div>
<div className="row">
<div className="col-1">
<img src={Calender} style={{width:'20px', height:'20px'}}/>
<br/>
{/*<img src={Calender} style={{width:'20px', height:'20px'}}/>*/}
</div>
<div className="col">
<h5 style={{float:"left"}}>6y experience</h5>
{/*<h5 style={{float:"left"}}>6y experience</h5>*/}
</div>
</div>
<div className="row">
......
import React, {Component} from "react";
import ItemNav from "./Navbar";
import axios from "axios";
import * as configs from "../Config/config";
import swal from "sweetalert";
export default class Login extends Component{
......@@ -28,31 +30,53 @@ export default class Login extends Component{
const email = this.state.email;
axios.post('http://localhost:5000/userAccount/getCredentials', LogUser)
axios.post(configs.BASE_URL + '/userAccount/getCredentials', LogUser)
.then(response => {
console.log(response.data);
if (response.data.length > 0) {
console.log(response.data);
console.log(response.data.password);
//console.log(response.data.length);
// if (response.data.length > 0) {
//console.log(response.data);
//console.log(response.data.password);
// localStorage.setItem("Name",response.data[0].name);
// localStorage.setItem("userID",response.data[0].id);
if(response.data[0].user_type === 'Student'){
window.location = '/Home';
if(response.data === "Invalid Password"){
swal("Sorry", "Invalid Password", "warning");
}
else if(response.data[0].user_type === 'Tutor'){
window.location = '/admin';
else if(response.data === "Not registered"){
swal("Sorry", "This email not registered!!!", "warning");
}
else if(response.data[0].user_type === 'Institute'){
window.location = '/admin';
else if(response.data === "Not Verified"){
swal("Sorry", "This email is not Verified\nPlease verify your email first", "warning");
}else {
console.log(response.data);
console.log(response.data.user_email);
console.log(response.data.user_name);
localStorage.setItem("email",response.data.user_email);
localStorage.setItem("userID",response.data.user_id);
localStorage.setItem("userName",response.data.user_name);
localStorage.setItem("userType",response.data.user_type);
if(response.data.user_type === 'Student'){
window.location = '/Home';
}
else if(response.data.user_type === 'Tutor'){
window.location = '/admin';
}
else if(response.data.user_type === 'Institute'){
window.location = '/admin';
}
}
//window.location = '/Places';
}
else {
alert("Email or Password Invalid!!!")
}
//}
// else {
// swal("Sorry", response.data, "warning");
//
// }
});
......
import React, {Component} from 'react';
import Logo from "../Images/logo.jpg";
import logout from "../Images/logout2.png";
export default class NavBar extends Component {
constructor(props) {
super(props);
this.state = {
user_email : '',
user_id : '',
user_name :'',
user_type :'',
isLogged : false
}
}
componentDidMount() {
const user_email = localStorage.getItem("email");
const user_id = localStorage.getItem("userID");
const user_name = localStorage.getItem("userName");
const user_type = localStorage.getItem("userType");
if(user_id !== " "){
this.setState({
isLogged : true
})
}
this.setState({
user_email: user_email,
user_id : user_id,
user_name : user_name,
user_type : user_type
})
console.log(user_email);
console.log(user_name);
}
render() {
return (
......@@ -16,26 +55,29 @@ export default class NavBar extends Component {
<img src={Logo} style={{width:'200px', height:'50px'}}/>
<div className="collapse navbar-collapse" id="navbarNavAltMarkup">
<div className="navbar-nav">
<a className="nav-item nav-link " style={{color:'white', marginLeft:'50px'}} href="/Home">Home <span
<a className="nav-item nav-link " style={{color:'white', marginLeft:'50px'}} href="/Home"><h5>Home</h5> <span
className="sr-only">(current)</span></a>
</div>
<label style={{
position: 'absolute',
top: '15px',
right: '120px',
color: '#EAE4E4'
}}>{localStorage.getItem("Name") != null ? localStorage.getItem("Name") : <label onClick={() => {
color: '#EAE4E4',
marginRight: '50px'
}}><h5>{this.state.user_name !== null ? <span style={{cursor:'pointer'}} onClick={()=>{ window.location.replace("/studentDashboard");}}> {this.state.user_name}</span> : <label onClick={() => {
window.location.replace("UserLogin");
}}>Login</label>} </label>
{localStorage.getItem("Name") != null && <label onClick={() => {
}}>Login</label>} </h5></label>
{this.state.user_name !== null && <img src={logout} onClick={() => {
localStorage.clear();
window.location.replace("/UserLogin");
}} style={{position: 'absolute', top: '15px', right: '30px', color: '#EAE4E4'}}>Logout</label>}
}} style={{position: 'absolute', top: '10px', right: '30px', width:'40px', height:'40px',cursor:'pointer'}}/>}
{/*{this.state.user_name !== null && <h5 onClick={() => {*/}
{/* localStorage.clear();*/}
{/* window.location.replace("/UserLogin");*/}
{/*}} style={{position: 'absolute', top: '15px', right: '30px', color: 'darkred'}}><b>Logout</b></h5>}*/}
</div>
</nav>
......
......@@ -3,8 +3,46 @@ import React, {Component} from 'react';
import {Link, Route} from "react-router-dom";
import {NavLink} from "react-router-dom";
import ALResults from "./ALResults";
import TestTeacher from "../../Images/defaultimageicon.jpg";
export default class StudentDashboard extends Component {
constructor(props) {
super(props);
this.state = {
user_email : '',
user_id : '',
user_name :'',
user_type :'',
isLogged : false
}
}
componentDidMount() {
const user_email = localStorage.getItem("email");
const user_id = localStorage.getItem("userID");
const user_name = localStorage.getItem("userName");
const user_type = localStorage.getItem("userType");
if(user_id !== " "){
this.setState({
isLogged : true
})
}
this.setState({
user_email: user_email,
user_id : user_id,
user_name : user_name,
user_type : user_type
})
}
render() {
return (
......@@ -68,22 +106,23 @@ export default class StudentDashboard extends Component {
<div className="widget-content-left">
<div className="btn-group">
<div className="dropdown1">
<img width="42" className="rounded-circle" src="DashboardAssets/images/user.jpg" alt=""/>
<img src={TestTeacher} className="rounded-circle" style={{width:'50px', height:'50px', float:'left', margin:'0px'}}/>
<i className="fa fa-angle-down ml-2 opacity-8"/>
<div className="dropdown-content1 dropdown-menu-right">
<button type="button" className="dropdown-item">User Account</button>
<button type="button" className="dropdown-item" style={{color:"red"}}>Sign Out</button>
<button type="button" className="dropdown-item" onClick={()=>{window.location.replace("/Home");}}>Back To Home</button>
<button type="button" className="dropdown-item" style={{color:"red"}} onClick={()=>{window.location.replace("/UserLogin");}}>Sign Out</button>
</div>
</div>
</div>
</div>
<div className="widget-content-left ml-3 header-user-info">
<div className="widget-heading">
Bandara Dissanayake
{this.state.user_name}
</div>
<div className="widget-subheading">
Tutor
Student
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment