UserPagesController.coffee 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. UserLocator = require("./UserLocator")
  2. dropboxHandler = require('../Dropbox/DropboxHandler')
  3. logger = require("logger-sharelatex")
  4. Settings = require("settings-sharelatex")
  5. fs = require('fs')
  6. module.exports =
  7. registerPage : (req, res)->
  8. sharedProjectData =
  9. project_name:req.query.project_name
  10. user_first_name:req.query.user_first_name
  11. newTemplateData = {}
  12. if req.session.templateData?
  13. newTemplateData.templateName = req.session.templateData.templateName
  14. res.render 'user/register',
  15. title: 'Register'
  16. redir: req.query.redir
  17. sharedProjectData: sharedProjectData
  18. newTemplateData: newTemplateData
  19. new_email:req.query.new_email || ""
  20. loginPage : (req, res)->
  21. res.render 'user/login',
  22. title: 'Login',
  23. redir: req.query.redir
  24. settingsPage : (req, res)->
  25. logger.log user: req.session.user, "loading settings page"
  26. UserLocator.findById req.session.user._id, (err, user)->
  27. dropboxHandler.getUserRegistrationStatus user._id, (err, status)->
  28. userIsRegisteredWithDropbox = !err? and status.registered
  29. res.render 'user/settings',
  30. title:'Your settings',
  31. userHasDropboxFeature: user.features.dropbox
  32. userIsRegisteredWithDropbox: userIsRegisteredWithDropbox
  33. user: user,
  34. themes: THEME_LIST,
  35. editors: ['default','vim','emacs'],
  36. fontSizes: ['10','11','12','13','14','16','20','24']
  37. languages: Settings.languages,
  38. accountSettingsTabActive: true
  39. THEME_LIST = []
  40. do generateThemeList = () ->
  41. files = fs.readdirSync __dirname + '/../../../../public/js/ace/theme'
  42. for file in files
  43. if file.slice(-2) == "js"
  44. cleanName = file.slice(0,-3)
  45. THEME_LIST.push name: cleanName