mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-08 05:43:48 +00:00
added contentful uni pages as fallback
This commit is contained in:
parent
a5aab40320
commit
2339cda318
3 changed files with 53 additions and 3 deletions
|
@ -5,6 +5,12 @@ _ = require("underscore")
|
|||
ErrorController = require "../Errors/ErrorController"
|
||||
StaticPageHelpers = require("./StaticPageHelpers")
|
||||
sanitize = require('sanitizer')
|
||||
Settings = require("settings-sharelatex")
|
||||
contentful = require('contentful')
|
||||
marked = require("marked")
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = UniversityController =
|
||||
|
||||
|
@ -17,7 +23,7 @@ module.exports = UniversityController =
|
|||
logger.log url:url, "proxying request to university api"
|
||||
request.get universityUrl, (err, r, data)->
|
||||
if r?.statusCode == 404
|
||||
return ErrorController.notFound(req, res, next)
|
||||
return UniversityController.getContentfulPage(req, res, next)
|
||||
if err?
|
||||
return res.send 500
|
||||
data = data.trim()
|
||||
|
@ -37,4 +43,28 @@ module.exports = UniversityController =
|
|||
upstream = request.get(originUrl)
|
||||
upstream.on "error", (error) ->
|
||||
logger.error err: error, "university proxy error"
|
||||
upstream.pipe res
|
||||
upstream.pipe res
|
||||
|
||||
getContentfulPage: (req, res, next)->
|
||||
console.log Settings.contentful
|
||||
if !Settings.contentful?.uni?.space? and !Settings.contentful?.uni?.accessToken?
|
||||
return ErrorController.notFound(req, res, next)
|
||||
|
||||
client = contentful.createClient({
|
||||
space: Settings.contentful?.uni?.space
|
||||
accessToken: Settings.contentful?.uni?.accessToken
|
||||
})
|
||||
|
||||
url = req.url?.toLowerCase().replace("/university/","")
|
||||
client.getEntries({content_type: 'caseStudy', 'fields.slug':url})
|
||||
.catch (e)->
|
||||
return res.send 500
|
||||
.then (entry)->
|
||||
if !entry? or !entry.items? or entry.items.length == 0
|
||||
return ErrorController.notFound(req, res, next)
|
||||
viewData = entry.items[0].fields
|
||||
viewData.html = marked(viewData.content)
|
||||
res.render "university/case_study", viewData:viewData
|
||||
|
||||
|
||||
|
||||
|
|
19
services/web/app/views/university/case_study.jade
Normal file
19
services/web/app/views/university/case_study.jade
Normal file
|
@ -0,0 +1,19 @@
|
|||
extends ../layout
|
||||
|
||||
block content
|
||||
.masthead
|
||||
.container
|
||||
.row
|
||||
.col-md-12
|
||||
h1 !{viewData.title}
|
||||
.row.row-spaced
|
||||
|
||||
.pattern-container
|
||||
.content
|
||||
.container
|
||||
.row
|
||||
.col-md-10.col-md-offset-1
|
||||
.card
|
||||
.row
|
||||
| !{viewData.html}
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
"body-parser": "^1.13.1",
|
||||
"bufferedstream": "1.6.0",
|
||||
"connect-redis": "2.3.0",
|
||||
"contentful": "^3.3.14",
|
||||
"cookie": "^0.2.3",
|
||||
"cookie-parser": "1.3.5",
|
||||
"csurf": "^1.8.3",
|
||||
|
@ -31,7 +32,7 @@
|
|||
"ldapjs": "^1.0.0",
|
||||
"logger-sharelatex": "git+https://github.com/sharelatex/logger-sharelatex.git#v1.3.1",
|
||||
"lynx": "0.1.1",
|
||||
"marked": "^0.3.3",
|
||||
"marked": "^0.3.5",
|
||||
"method-override": "^2.3.3",
|
||||
"metrics-sharelatex": "git+https://github.com/sharelatex/metrics-sharelatex.git#v1.3.0",
|
||||
"mimelib": "0.2.14",
|
||||
|
|
Loading…
Add table
Reference in a new issue