Guest User

Untitled

a guest
Mar 7th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. app.post("/donors/profile/edit",isLoggedIn,(req,res)=>{
  2. if(req.user.validPassword(req.body.currentPassword)) {
  3. upload(req, res, function (err) {
  4. if (err) {
  5. console.log(req.body);
  6. let date = new Date();
  7. let currentYear = date.getFullYear();
  8. req.flash('updateMessage', 'Only image files are allowed.')
  9. res.render("profile_edit_donor",{
  10. user: req.user,
  11. message: req.flash('updateMessage'),
  12. currentYear: currentYear
  13. });
  14. return
  15. }
  16. let user = req.user;
  17. let dob = new Date(req.body.DOBYear + "/" + req.body.DOBMonth + "/" + req.body.DOBDay);
  18. user.credentials.email = req.body.email.trim();
  19. user.credentials.password = user.generateHash(req.body.newPassword);
  20. user.profilePicturePath = typeof req.file != "undefined" ? `/images/${req.file.filename}` : req.user.profilePicturePath;
  21. user.gender = req.body.gender;
  22. user.firstName = req.body.firstName;
  23. user.lastName = req.body.lastName;
  24. user.bloodGroup = req.body.bloodGroup;
  25. user.dateOfBirth = dob;
  26. user.mobileNumber = req.body.mobileNumber;
  27. user.save();
  28. res.redirect("/donors/profile");
  29. })
  30. } else {
  31. let date = new Date();
  32. let currentYear = date.getFullYear();
  33. req.flash('updateMessage', 'Passwords do not match')
  34. res.render("profile_edit_donor",{
  35. user: req.user,
  36. message: req.flash('updateMessage'),
  37. currentYear: currentYear
  38. });
  39. }
  40.  
  41. const storage = multer.diskStorage({
  42. destination: './public/images/',
  43. filename: function(req, file, cb){
  44. cb(null,file.fieldname + '-' + req.user.credentials.email +
  45. path.extname(file.originalname));
  46. }
  47. });
  48.  
  49. const upload = multer({
  50. storage: storage,
  51. limits:{fileSize: 1000000},
  52. fileFilter: function(req, file, cb){
  53. checkFileType(file, cb);
  54. }
  55. }).any();
  56.  
  57. function checkFileType(file, cb){
  58. const filetypes = /jpeg|jpg|png|gif/;
  59. const extname =
  60. filetypes.test(path.extname(file.originalname).toLowerCase());
  61. const mimetype = filetypes.test(file.mimetype);
  62.  
  63. if(mimetype && extname){
  64. return cb(null,true);
  65. } else {
  66. cb('Error: Images Only!');
  67. }
  68. }
Add Comment
Please, Sign In to add comment