Profile Picture
This commit is contained in:
1 parent
867770e14e
commit
43f662982e
365 files changed
+45560
-167
No files matched your search
@@ -16,13 +16,4 @@ router.get('/dashboard', ensureAuthenticated, function(req, res) {
|
||||
});
|
||||
});
|
||||
|
||||
// Member Profile
|
||||
router.get('/profile', ensureAuthenticated, function(req, res) {
|
||||
UserModel.find({}, function(err, data) {
|
||||
res.render('profile', {
|
||||
memberProfile: req.eachMember
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
+94
-2
@@ -6,14 +6,102 @@ const passport = require('passport');
|
||||
const User = require('../models/User');
|
||||
const { forwardAuthenticated } = require('../config/auth');
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const multer = require('multer');
|
||||
|
||||
let storage = multer.diskStorage({
|
||||
destination: (req, file, cb) => {
|
||||
cb(null, 'routes/uploads')
|
||||
},
|
||||
filename: (req, file, cb) => {
|
||||
cb(null, file.fieldname + '-' + Date.now())
|
||||
}
|
||||
});
|
||||
|
||||
let upload = multer({ storage: storage });
|
||||
|
||||
// Login Page
|
||||
router.get('/login', forwardAuthenticated, (req, res) => res.render('login'));
|
||||
|
||||
// Register Page
|
||||
router.get('/register', forwardAuthenticated, (req, res) => res.render('register'));
|
||||
|
||||
// Edit page
|
||||
router.get('/edit', (req, res) => res.render('edit'));
|
||||
|
||||
// Edit
|
||||
router.post('/edit', (req, res) => {
|
||||
const { user, name, email, oldPassword, newPassword, newPassword2 } = req.body;
|
||||
let errors = [];
|
||||
|
||||
if (!name || !email || !oldPassword || !newPassword || !newPassword2) {
|
||||
errors.push({ msg: 'Please enter all fields' });
|
||||
}
|
||||
|
||||
if (oldPassword != user.password) {
|
||||
errors.push({ msg: 'Password is incorrect' });
|
||||
}
|
||||
|
||||
if (newPassword != newPassword2) {
|
||||
errors.push({ msg: 'New password doesnt match' });
|
||||
}
|
||||
|
||||
if (oldPassword == newPassword) {
|
||||
errors.push({ msg: 'Cant use the same password' })
|
||||
}
|
||||
|
||||
if (newPassword.length < 6) {
|
||||
errors.push({ msg: 'Password must be at least 6 characters' });
|
||||
}
|
||||
|
||||
if (errors.length > 0) {
|
||||
res.render('register', {
|
||||
errors,
|
||||
name,
|
||||
email,
|
||||
oldPassword,
|
||||
newPassword2,
|
||||
newPassword2
|
||||
});
|
||||
} else {
|
||||
User.findOne({ email: email }).then(user => {
|
||||
if (user) {
|
||||
errors.push({ msg: 'Email already exists' });
|
||||
res.render('register', {
|
||||
errors,
|
||||
name,
|
||||
email,
|
||||
oldPassword,
|
||||
newPassword,
|
||||
newPassword2
|
||||
});
|
||||
} else {
|
||||
bcrypt.genSalt(10, (err, salt) => {
|
||||
bcrypt.hash(newPassword, salt, (err, hash) => {
|
||||
if (err) throw err;
|
||||
user.password = hash;
|
||||
user.name = name;
|
||||
user.email = email;
|
||||
user
|
||||
.save()
|
||||
.then(user => {
|
||||
req.flash(
|
||||
'success_msg',
|
||||
'You are now registered and can log in'
|
||||
);
|
||||
res.redirect('/users/login');
|
||||
})
|
||||
.catch(err => console.log(err));
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Register
|
||||
router.post('/register', (req, res) => {
|
||||
router.post('/register', upload.single('image'), (req, res, next) => {
|
||||
const { name, email, password, password2 } = req.body;
|
||||
let errors = [];
|
||||
|
||||
@@ -51,8 +139,12 @@ router.post('/register', (req, res) => {
|
||||
} else {
|
||||
const newUser = new User({
|
||||
name,
|
||||
image: {
|
||||
data: fs.readFileSync(path.join(__dirname + '/uploads/' + req.file.filename)),
|
||||
contentType: 'image/png'
|
||||
},
|
||||
email,
|
||||
password
|
||||
password,
|
||||
});
|
||||
|
||||
bcrypt.genSalt(10, (err, salt) => {
|
||||
|
||||
Reference in new issue
Block a user