refactor res.locals and settings
This commit is contained in:
@@ -62,43 +62,52 @@ module.exports = {
|
||||
})
|
||||
},
|
||||
|
||||
async setUserLocale (req, res, next) {
|
||||
// select locale based on cookie? and accept-language header
|
||||
acceptLanguage.languages(Object.keys(locales))
|
||||
res.locals.acceptedLocale = acceptLanguage.get(req.headers['accept-language'])
|
||||
dayjs.locale(res.locals.acceptedLocale)
|
||||
next()
|
||||
},
|
||||
|
||||
async initSettings (req, res, next) {
|
||||
// initialize settings
|
||||
req.settings = cloneDeep(settingsController.settings)
|
||||
const settings = settingsController.settings
|
||||
res.locals.settings = cloneDeep(settingsController.settings)
|
||||
|
||||
if (req.settings.smtp && req.settings.smtp.auth && req.settings.smtp.auth.pass) {
|
||||
delete req.settings.smtp.auth.pass
|
||||
if (res.locals.settings.smtp && res.locals.settings.smtp.auth) {
|
||||
if (res.locals.user.is_admin) {
|
||||
delete res.locals.settings.smtp.auth.pass
|
||||
} else {
|
||||
delete res.locals.settings.smtp
|
||||
}
|
||||
}
|
||||
delete req.settings.publicKey
|
||||
req.settings.baseurl = config.baseurl
|
||||
req.settings.hostname = config.hostname
|
||||
req.settings.title = req.settings.title || config.title
|
||||
req.settings.description = req.settings.description || config.description
|
||||
req.settings.version = pkg.version
|
||||
delete res.locals.settings.publicKey
|
||||
res.locals.settings.baseurl = config.baseurl
|
||||
res.locals.settings.hostname = config.hostname
|
||||
res.locals.settings.title = settings.title || config.title
|
||||
res.locals.settings.description = settings.description || config.description
|
||||
res.locals.settings.version = pkg.version
|
||||
|
||||
// select locale based on cookie and accept-language header
|
||||
acceptLanguage.languages(Object.keys(locales))
|
||||
req.acceptedLocale = acceptLanguage.get(req.headers['accept-language'])
|
||||
|
||||
// set locale and user locale
|
||||
req.user_locale = settingsController.user_locale[req.acceptedLocale]
|
||||
dayjs.locale(req.acceptedLocale)
|
||||
// set user locale
|
||||
res.locals.user_locale = settingsController.user_locale[res.locals.acceptedLocale]
|
||||
next()
|
||||
},
|
||||
|
||||
serveStatic () {
|
||||
const settings = settingsController.settings
|
||||
const router = express.Router()
|
||||
// serve event's images/thumb
|
||||
router.use('/media/', express.static(config.upload_path, { immutable: true, maxAge: '1y' } ))
|
||||
router.use('/noimg.svg', express.static('./static/noimg.svg'))
|
||||
|
||||
router.use('/logo.png', (req, res, next) => {
|
||||
const logoPath = req.settings.logo || './static/gancio'
|
||||
const logoPath = settings.logo || './static/gancio'
|
||||
return express.static(logoPath + '.png')(req, res, next)
|
||||
})
|
||||
|
||||
router.use('/favicon.ico', (req, res, next) => {
|
||||
const faviconPath = req.settings.logo || './assets/favicon'
|
||||
const faviconPath = settings.logo || './assets/favicon'
|
||||
return express.static(faviconPath + '.ico')(req, res, next)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user