Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.post("/donors/profile/edit",isLoggedIn,(req,res)=>{
- if(req.user.validPassword(req.body.currentPassword)) {
- upload(req, res, function (err) {
- if (err) {
- console.log(req.body);
- let date = new Date();
- let currentYear = date.getFullYear();
- req.flash('updateMessage', 'Only image files are allowed.')
- res.render("profile_edit_donor",{
- user: req.user,
- message: req.flash('updateMessage'),
- currentYear: currentYear
- });
- return
- }
- let user = req.user;
- let dob = new Date(req.body.DOBYear + "/" + req.body.DOBMonth + "/" + req.body.DOBDay);
- user.credentials.email = req.body.email.trim();
- user.credentials.password = user.generateHash(req.body.newPassword);
- user.profilePicturePath = typeof req.file != "undefined" ? `/images/${req.file.filename}` : req.user.profilePicturePath;
- user.gender = req.body.gender;
- user.firstName = req.body.firstName;
- user.lastName = req.body.lastName;
- user.bloodGroup = req.body.bloodGroup;
- user.dateOfBirth = dob;
- user.mobileNumber = req.body.mobileNumber;
- user.save();
- res.redirect("/donors/profile");
- })
- } else {
- let date = new Date();
- let currentYear = date.getFullYear();
- req.flash('updateMessage', 'Passwords do not match')
- res.render("profile_edit_donor",{
- user: req.user,
- message: req.flash('updateMessage'),
- currentYear: currentYear
- });
- }
- const storage = multer.diskStorage({
- destination: './public/images/',
- filename: function(req, file, cb){
- cb(null,file.fieldname + '-' + req.user.credentials.email +
- path.extname(file.originalname));
- }
- });
- const upload = multer({
- storage: storage,
- limits:{fileSize: 1000000},
- fileFilter: function(req, file, cb){
- checkFileType(file, cb);
- }
- }).any();
- function checkFileType(file, cb){
- const filetypes = /jpeg|jpg|png|gif/;
- const extname =
- filetypes.test(path.extname(file.originalname).toLowerCase());
- const mimetype = filetypes.test(file.mimetype);
- if(mimetype && extname){
- return cb(null,true);
- } else {
- cb('Error: Images Only!');
- }
- }
Add Comment
Please, Sign In to add comment