overleaf/services/web/app/coffee/Features/StaticPages/HomeController.coffee
2017-11-22 10:45:31 +00:00

38 lines
1.2 KiB
CoffeeScript
Executable file

logger = require('logger-sharelatex')
Settings = require('settings-sharelatex')
_ = require('underscore')
Features = require "../../infrastructure/Features"
Path = require "path"
fs = require "fs"
ErrorController = require "../Errors/ErrorController"
AuthenticationController = require('../Authentication/AuthenticationController')
homepageExists = fs.existsSync Path.resolve(__dirname + "/../../../views/external/home.pug")
module.exports = HomeController =
index : (req,res)->
if AuthenticationController.isUserLoggedIn(req)
if req.query.scribtex_path?
res.redirect "/project?scribtex_path=#{req.query.scribtex_path}"
else
res.redirect '/project'
else
HomeController.home(req, res)
home: (req, res)->
if Features.hasFeature('homepage') and homepageExists
res.render 'external/home'
else
res.redirect "/login"
externalPage: (page, title) ->
return (req, res, next = (error) ->) ->
path = Path.resolve(__dirname + "/../../../views/external/#{page}.pug")
fs.exists path, (exists) -> # No error in this callback - old method in Node.js!
if exists
res.render "external/#{page}.pug",
title: title
else
ErrorController.notFound(req, res, next)