HomeController.coffee 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. logger = require('logger-sharelatex')
  2. Settings = require('settings-sharelatex')
  3. _ = require('underscore')
  4. Features = require "../../infrastructure/Features"
  5. Path = require "path"
  6. fs = require "fs"
  7. ErrorController = require "../Errors/ErrorController"
  8. AuthenticationController = require('../Authentication/AuthenticationController')
  9. homepageExists = fs.existsSync Path.resolve(__dirname + "/../../../views/external/home.pug")
  10. module.exports = HomeController =
  11. index : (req,res)->
  12. if AuthenticationController.isUserLoggedIn(req)
  13. if req.query.scribtex_path?
  14. res.redirect "/project?scribtex_path=#{req.query.scribtex_path}"
  15. else
  16. res.redirect '/project'
  17. else
  18. HomeController.home(req, res)
  19. home: (req, res)->
  20. if Features.hasFeature('homepage') and homepageExists
  21. res.render 'external/home'
  22. else
  23. res.redirect "/login"
  24. externalPage: (page, title) ->
  25. return (req, res, next = (error) ->) ->
  26. path = Path.resolve(__dirname + "/../../../views/external/#{page}.pug")
  27. fs.exists path, (exists) -> # No error in this callback - old method in Node.js!
  28. if exists
  29. res.render "external/#{page}.pug",
  30. title: title
  31. else
  32. ErrorController.notFound(req, res, next)