mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
Updated messaging around {{get}} helper access
closes #10447 - Get helper message talks about the old API, but upgrading is the best way to solve the problem - Had to create a way to add a custom message to a labs enabled helper to achieve this
This commit is contained in:
parent
5365094dfc
commit
426c122ed1
4 changed files with 20 additions and 14 deletions
|
@ -197,7 +197,10 @@ module.exports = function getLabsWrapper() {
|
|||
flagKey: 'publicAPI',
|
||||
flagName: 'Public API',
|
||||
helperName: 'get',
|
||||
helpUrl: 'https://docs.ghost.org/faq/api-versioning/',
|
||||
// Even though this is a labs enabled helper, really we want users to upgrade to v2 API.
|
||||
errMessagePath: 'warnings.helpers.get.apiRequired.message',
|
||||
errContextPath: 'warnings.helpers.get.apiRequired.context',
|
||||
helpUrl: 'https://docs.ghost.org/api/handlebars-themes/packagejson/',
|
||||
async: true
|
||||
}, function executeHelper() {
|
||||
return get.apply(self, args);
|
||||
|
|
|
@ -18,7 +18,8 @@ labs.isSet = function isSet(flag) {
|
|||
};
|
||||
|
||||
labs.enabledHelper = function enabledHelper(options, callback) {
|
||||
var errDetails, errString;
|
||||
const errDetails = {};
|
||||
let errString;
|
||||
|
||||
if (labs.isSet(options.flagKey) === true) {
|
||||
// helper is active, use the callback
|
||||
|
@ -26,14 +27,12 @@ labs.enabledHelper = function enabledHelper(options, callback) {
|
|||
}
|
||||
|
||||
// Else, the helper is not active and we need to handle this as an error
|
||||
errDetails = {
|
||||
message: common.i18n.t('warnings.helpers.helperNotAvailable', {helperName: options.helperName}),
|
||||
context: common.i18n.t('warnings.helpers.flagMustBeEnabled', {
|
||||
helperName: options.helperName,
|
||||
flagName: options.flagName
|
||||
}),
|
||||
help: common.i18n.t('warnings.helpers.seeLink', {url: options.helpUrl})
|
||||
};
|
||||
errDetails.message = common.i18n.t(options.errMessagePath || 'warnings.helpers.helperNotAvailable', {helperName: options.helperName}),
|
||||
errDetails.context = common.i18n.t(options.errContextPath || 'warnings.helpers.flagMustBeEnabled', {
|
||||
helperName: options.helperName,
|
||||
flagName: options.flagName
|
||||
});
|
||||
errDetails.help = common.i18n.t(options.errHelpPath || 'warnings.helpers.seeLink', {url: options.helpUrl});
|
||||
|
||||
common.logging.error(new common.errors.DisabledFeatureError(errDetails));
|
||||
|
||||
|
|
|
@ -565,7 +565,11 @@
|
|||
"iteratorNeeded": "Need to pass an iterator to #foreach"
|
||||
},
|
||||
"get": {
|
||||
"invalidResource": "Invalid resource given to get helper"
|
||||
"invalidResource": "Invalid resource given to get helper",
|
||||
"apiRequired": {
|
||||
"message": "The \\{\\{#get\\}\\} helper requires your theme to have API access.",
|
||||
"context": "Please enable the v2 API via your theme's package.json file."
|
||||
}
|
||||
},
|
||||
"has": {
|
||||
"invalidAttribute": "Invalid or no attribute given to has helper"
|
||||
|
|
|
@ -45,9 +45,9 @@ describe('{{#get}} helper', function () {
|
|||
result.should.be.a.Function();
|
||||
result().should.be.an.Object().with.property(
|
||||
'string',
|
||||
'<script>console.error("The {{get}} helper is not available. ' +
|
||||
'The Public API flag must be enabled in labs if you wish to use the {{get}} helper. ' +
|
||||
'See https://docs.ghost.org/faq/api-versioning/");</script>'
|
||||
'<script>console.error("The {{#get}} helper requires your theme to have API access. ' +
|
||||
'Please enable the v2 API via your theme\'s package.json file. ' +
|
||||
'See https://docs.ghost.org/api/handlebars-themes/packagejson/");</script>'
|
||||
);
|
||||
|
||||
done();
|
||||
|
|
Loading…
Add table
Reference in a new issue