Merge pull request #589 from geekyd/master
Adds enable/disable PDF export via config
This commit is contained in:
commit
be5de239ea
7 changed files with 30 additions and 10 deletions
|
@ -148,6 +148,7 @@ Environment variables (will overwrite other server configs)
|
||||||
| HMD_LDAP_PROVIDERNAME | `My institution` | Optional name to be displayed at login form indicating the LDAP provider |
|
| HMD_LDAP_PROVIDERNAME | `My institution` | Optional name to be displayed at login form indicating the LDAP provider |
|
||||||
| HMD_IMGUR_CLIENTID | no example | Imgur API client id |
|
| HMD_IMGUR_CLIENTID | no example | Imgur API client id |
|
||||||
| HMD_EMAIL | `true` or `false` | set to allow email signin |
|
| HMD_EMAIL | `true` or `false` | set to allow email signin |
|
||||||
|
| HMD_ALLOW_PDF_EXPORT | `true` or `false` | Enable or disable PDF exports |
|
||||||
| HMD_ALLOW_EMAIL_REGISTER | `true` or `false` | set to allow email register (only applied when email is set, default is `true`) |
|
| HMD_ALLOW_EMAIL_REGISTER | `true` or `false` | set to allow email register (only applied when email is set, default is `true`) |
|
||||||
| HMD_IMAGE_UPLOAD_TYPE | `imgur`, `s3` or `filesystem` | Where to upload image. For S3, see our [S3 Image Upload Guide](docs/guides/s3-image-upload.md) |
|
| HMD_IMAGE_UPLOAD_TYPE | `imgur`, `s3` or `filesystem` | Where to upload image. For S3, see our [S3 Image Upload Guide](docs/guides/s3-image-upload.md) |
|
||||||
| HMD_S3_ACCESS_KEY_ID | no example | AWS access key id |
|
| HMD_S3_ACCESS_KEY_ID | no example | AWS access key id |
|
||||||
|
|
4
app.json
4
app.json
|
@ -127,6 +127,10 @@
|
||||||
"HMD_IMGUR_CLIENTID": {
|
"HMD_IMGUR_CLIENTID": {
|
||||||
"description": "Imgur API client id",
|
"description": "Imgur API client id",
|
||||||
"required": false
|
"required": false
|
||||||
|
},
|
||||||
|
"HMD_ALLOW_PDF_EXPORT": {
|
||||||
|
"description": "Enable or disable PDF exports",
|
||||||
|
"required": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"addons": [
|
"addons": [
|
||||||
|
|
|
@ -94,5 +94,6 @@ module.exports = {
|
||||||
tlsca: undefined
|
tlsca: undefined
|
||||||
},
|
},
|
||||||
email: true,
|
email: true,
|
||||||
allowemailregister: true
|
allowemailregister: true,
|
||||||
|
allowpdfexport: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,5 +69,6 @@ module.exports = {
|
||||||
tlsca: process.env.HMD_LDAP_TLS_CA
|
tlsca: process.env.HMD_LDAP_TLS_CA
|
||||||
},
|
},
|
||||||
email: toBooleanConfig(process.env.HMD_EMAIL),
|
email: toBooleanConfig(process.env.HMD_EMAIL),
|
||||||
allowemailregister: toBooleanConfig(process.env.HMD_ALLOW_EMAIL_REGISTER)
|
allowemailregister: toBooleanConfig(process.env.HMD_ALLOW_EMAIL_REGISTER),
|
||||||
|
allowpdfexport: toBooleanConfig(process.env.HMD_ALLOW_PDF_EXPORT)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
|
@ -90,6 +91,7 @@ config.isEmailEnable = config.email
|
||||||
config.isGitHubEnable = config.github.clientID && config.github.clientSecret
|
config.isGitHubEnable = config.github.clientID && config.github.clientSecret
|
||||||
config.isGitLabEnable = config.gitlab.clientID && config.gitlab.clientSecret
|
config.isGitLabEnable = config.gitlab.clientID && config.gitlab.clientSecret
|
||||||
config.isLDAPEnable = config.ldap.url
|
config.isLDAPEnable = config.ldap.url
|
||||||
|
config.isPDFExportEnable = config.allowpdfexport
|
||||||
|
|
||||||
// generate correct path
|
// generate correct path
|
||||||
config.sslcapath = path.join(appRootPath, config.sslcapath)
|
config.sslcapath = path.join(appRootPath, config.sslcapath)
|
||||||
|
@ -106,7 +108,7 @@ config.errorpath = path.join(appRootPath, config.errorpath)
|
||||||
config.prettypath = path.join(appRootPath, config.prettypath)
|
config.prettypath = path.join(appRootPath, config.prettypath)
|
||||||
config.slidepath = path.join(appRootPath, config.slidepath)
|
config.slidepath = path.join(appRootPath, config.slidepath)
|
||||||
|
|
||||||
// maek config readonly
|
// make config readonly
|
||||||
config = deepFreeze(config)
|
config = deepFreeze(config)
|
||||||
|
|
||||||
module.exports = config
|
module.exports = config
|
||||||
|
|
|
@ -69,6 +69,7 @@ function showIndex (req, res, next) {
|
||||||
ldap: config.isLDAPEnable,
|
ldap: config.isLDAPEnable,
|
||||||
email: config.isEmailEnable,
|
email: config.isEmailEnable,
|
||||||
allowemailregister: config.allowemailregister,
|
allowemailregister: config.allowemailregister,
|
||||||
|
allowpdfexport: config.allowpdfexport,
|
||||||
signin: req.isAuthenticated(),
|
signin: req.isAuthenticated(),
|
||||||
infoMessage: req.flash('info'),
|
infoMessage: req.flash('info'),
|
||||||
errorMessage: req.flash('error')
|
errorMessage: req.flash('error')
|
||||||
|
@ -98,7 +99,8 @@ function responseHackMD (res, note) {
|
||||||
google: config.isGoogleEnable,
|
google: config.isGoogleEnable,
|
||||||
ldap: config.isLDAPEnable,
|
ldap: config.isLDAPEnable,
|
||||||
email: config.isEmailEnable,
|
email: config.isEmailEnable,
|
||||||
allowemailregister: config.allowemailregister
|
allowemailregister: config.allowemailregister,
|
||||||
|
allowpdfexport: config.allowpdfexport
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,7 +384,12 @@ function noteActions (req, res, next) {
|
||||||
actionInfo(req, res, note)
|
actionInfo(req, res, note)
|
||||||
break
|
break
|
||||||
case 'pdf':
|
case 'pdf':
|
||||||
actionPDF(req, res, note)
|
if (config.allowpdfexport) {
|
||||||
|
actionPDF(req, res, note)
|
||||||
|
} else {
|
||||||
|
logger.error('PDF export failed: Disabled by config. Set "allowpdfexport: true" to enable. Check the documentation for details')
|
||||||
|
response.errorForbidden(res)
|
||||||
|
}
|
||||||
break
|
break
|
||||||
case 'gist':
|
case 'gist':
|
||||||
actionGist(req, res, note)
|
actionGist(req, res, note)
|
||||||
|
|
|
@ -70,8 +70,10 @@
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> <%= __('Raw HTML') %></a>
|
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> <%= __('Raw HTML') %></a>
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-download-pdf-beta" tabindex="-1" href="#" target="_self"><i class="fa fa-file-pdf-o fa-fw"></i> PDF (Beta)</a>
|
<% if(allowpdfexport) {%>
|
||||||
</li>
|
<li role="presentation"><a role="menuitem" class="ui-download-pdf-beta" tabindex="-1" href="#" target="_self"><i class="fa fa-file-pdf-o fa-fw"></i> PDF (Beta)</a>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-help" href="#" data-toggle="modal" data-target=".help-modal"><i class="fa fa-question-circle fa-fw"></i> Help</a>
|
<li role="presentation"><a role="menuitem" class="ui-help" href="#" data-toggle="modal" data-target=".help-modal"><i class="fa fa-question-circle fa-fw"></i> Help</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -169,8 +171,10 @@
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> <%= __('Raw HTML') %></a>
|
<li role="presentation"><a role="menuitem" class="ui-download-raw-html" tabindex="-1" href="#" target="_self"><i class="fa fa-file-code-o fa-fw"></i> <%= __('Raw HTML') %></a>
|
||||||
</li>
|
</li>
|
||||||
<li role="presentation"><a role="menuitem" class="ui-download-pdf-beta" tabindex="-1" href="#" target="_self"><i class="fa fa-file-pdf-o fa-fw"></i> PDF (Beta)</a>
|
<% if(allowpdfexport) {%>
|
||||||
</li>
|
<li role="presentation"><a role="menuitem" class="ui-download-pdf-beta" tabindex="-1" href="#" target="_self"><i class="fa fa-file-pdf-o fa-fw"></i> PDF (Beta)</a>
|
||||||
|
</li>
|
||||||
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
Loading…
Reference in a new issue