update branch

Merge branch 'plugin/settings-manager-dev' of github.com:soupette/strapi into plugin/settings-manager-dev
This commit is contained in:
cyril lopez 2017-07-12 18:01:26 +02:00
commit aa924aec70
4 changed files with 119 additions and 66 deletions

View File

@ -1,4 +1,45 @@
{
"menu.section.global-settings": "Global settings",
"menu.section.environments": "Environments"
"menu.item.general": "General",
"menu.item.languages": "Languages",
"menu.item.advanced": "Advanced",
"menu.section.environments": "Environments",
"menu.item.databases": "Databases",
"menu.item.security": "Security",
"menu.item.server": "Server",
"form.general": "General",
"form.general.description": "Configure your general settings.",
"form.general.name": "Name",
"form.general.description": "Description",
"form.general.version": "Version",
"form.security": "Security",
"form.security.description": "Configure your security settings.",
"form.security.session": "Session",
"form.security.session.key": "Secret key",
"form.security.session.maxAge": "Maximum age",
"form.security.xframe": "Xframe",
"form.security.xframe.deny": "DENY",
"form.security.xframe.sameorigin": "SAMEORIGIN",
"form.security.xframe.allow-from": "ALLOW-FROM",
"form.security.xssProtection": "xss Protection",
"form.security.cors": "Cors",
"form.security.cors.origin": "Origin",
"form.server": "Server",
"form.server.description": "Configure your server settings.",
"form.server.host": "Host",
"form.server.port": "Port",
"request.error.config": "Config file doesn't exist.",
"request.error.environment.required": "Environment is required.",
"request.error.environment.required": "Environment is unknow."
}

View File

@ -1 +1,45 @@
{}
{
"menu.section.global-settings": "Configuration général",
"menu.item.general": "Général",
"menu.item.languages": "Langues",
"menu.item.advanced": "Avancé",
"menu.section.environments": "Environnements",
"menu.item.databases": "Base de donnée",
"menu.item.security": "Sécurité",
"menu.item.server": "Serveur",
"form.general": "Général",
"form.general.description": "Modification des configurations général.",
"form.general.name": "Nom",
"form.general.description": "Description",
"form.general.version": "Version",
"form.security": "Sécurité",
"form.security.description": "Modification des configurations de sécurité.",
"form.security.session": "Session",
"form.security.session.key": "Clé secrète",
"form.security.session.maxAge": "Durée de vie ",
"form.security.xframe": "Xframe",
"form.security.xframe.deny": "DENY",
"form.security.xframe.sameorigin": "SAMEORIGIN",
"form.security.xframe.allow-from": "ALLOW-FROM",
"form.security.xssProtection": "Protection xss",
"form.security.cors": "Cors",
"form.security.cors.origin": "Origin",
"form.server": "Serveur",
"form.server.description": "Modification des configurations du serveur",
"form.server.host": "Host",
"form.server.port": "Port",
"request.error.config": "Le fichier de configuration n'éxiste pas.",
"request.error.environment.required": "L'environnement est obligatoire.",
"request.error.environment.required": "L'environnement est inconnu."
}

View File

@ -17,11 +17,12 @@ module.exports = {
const Service = strapi.plugins['settings-manager'].services.settingsmanager;
const { slug, env } = ctx.params;
if (env && _.isEmpty(_.find(Service.getEnvironments(), { name: env }))) return ctx.badData('request.error.environment');
if (env && _.isEmpty(_.find(Service.getEnvironments(), { name: env }))) return ctx.badData('request.error.environment.unknow');
const model = env ? Service[slug](env) : Service[slug];
if (_.isUndefined(model)) return ctx.badData('request.error.config');
if (_.isFunction(model)) return ctx.badData('request.error.environment.required');
ctx.send(model);
},
@ -31,11 +32,12 @@ module.exports = {
const { slug, env } = ctx.params;
let params = ctx.request.body;
if (env && _.isEmpty(_.find(Service.getEnvironments(), { name: env }))) return ctx.badData('request.error.environment');
if (env && _.isEmpty(_.find(Service.getEnvironments(), { name: env }))) return ctx.badData('request.error.environment.unknow');
const model = env ? Service[slug](env) : Service[slug];
if (_.isUndefined(config)) return ctx.badData('request.error.config');
if (_.isUndefined(model)) return ctx.badData('request.error.config');
if (_.isFunction(model)) return ctx.badData('request.error.environment.required');
const items = Service.getItems(model);

View File

@ -20,8 +20,8 @@ module.exports = {
icon: 'language'
},
{
slug: 'advenced',
name: 'menu.item.advenced',
slug: 'advanced',
name: 'menu.item.advanced',
icon: 'cogs'
}
]
@ -51,7 +51,7 @@ module.exports = {
general: {
name: 'form.general',
description: 'form.general.desc',
description: 'form.general.description',
sections: [
{
name: '',
@ -60,7 +60,7 @@ module.exports = {
name: 'form.general.name',
target: 'package.name',
type: 'string',
value: strapi.config.name,
value: _.get(strapi.config, 'name', null),
validations : {
maxLength: 255,
required: true
@ -70,7 +70,7 @@ module.exports = {
name: 'form.general.description',
target: 'package.description',
type: 'string',
value: strapi.config.description,
value: _.get(strapi.config, 'description', null),
validations : {
maxLength: 255,
required: true
@ -80,9 +80,9 @@ module.exports = {
name: 'form.general.version',
target: 'package.version',
type: 'string',
value: strapi.config.version,
value: _.get(strapi.config, 'version', null),
validations : {
maxLength: 255,
regex: '^(\\d+\\.)?(\\d+\\.)?(\\*|\\d+)$',
required: true
}
}
@ -94,7 +94,7 @@ module.exports = {
security: env => {
return {
name: 'form.security',
description: 'form.security.desc',
description: 'form.security.description',
sections: [
{
name: 'form.security.session',
@ -103,13 +103,16 @@ module.exports = {
name: 'form.security.session.key',
target: 'security.session.key',
type: 'string',
value: strapi.config.environments[env].security.session.key
value: _.get(strapi.config, `environments.${env}.security.session.key`, null),
validations: {
required: true
}
},
{
name: 'form.security.session.maxAge',
target: 'security.session.maxAge',
type: 'number',
value: strapi.config.environments[env].security.session.maxAge
value: _.get(strapi.config, `environments.${env}.security.session.maxAge`, null)
}
]
},
@ -120,18 +123,18 @@ module.exports = {
name: 'form.security.xframe',
target: 'security.xframe',
type: 'enum',
value: strapi.config.environments[env].security.xframe,
value: _.get(strapi.config, `environments.${env}.security.xframe`, null),
items: [
{
name: 'server.xframe.deny',
name: 'form.security.xframe.deny',
value: 'DENY',
},
{
name: 'server.xframe.sameorigin',
name: 'form.security.xframe.sameorigin',
value: 'SAMEORIGIN',
},
{
name: 'server.xframe.allow-from',
name: 'form.security.xframe.allow-from',
value: 'ALLOW-FROM',
},
]
@ -140,7 +143,7 @@ module.exports = {
name: 'form.security.xssProtection',
target: 'security.xssProtection',
type: 'boolean',
value: strapi.config.environments[env].security.xssProtection
value: _.get(strapi.config, `environments.${env}.security.xssProtection`, null)
}
]
},
@ -151,7 +154,7 @@ module.exports = {
name: 'form.security.cors.origin',
target: 'security.cors.origin',
type: 'string',
value: strapi.config.environments[env].security.cors.origin,
value: _.get(strapi.config, `environments.${env}.security.cors.origin`, null)
}
]
}
@ -162,7 +165,7 @@ module.exports = {
server: env => {
return {
name: 'form.server',
description: 'form.server.desc',
description: 'form.server.description',
sections: [
{
name: '',
@ -171,55 +174,13 @@ module.exports = {
name: 'form.server.host',
target: 'server.host',
type: 'string',
value: strapi.config.environments[env].server.host
value: _.get(strapi.config, `environments.${env}.server.host`, null)
},
{
name: 'form.server.port',
target: 'server.port',
type: 'number',
value: strapi.config.environments[env].server.port
}
]
},
{
name: 'form.server.parser',
items: [
{
name: 'form.server.parser.xframe',
target: 'server.xframe',
type: 'enum',
value: strapi.config.environments[env].server.xframe,
items: [
{
name: 'server.xframe.deny',
value: 'DENY',
},
{
name: 'server.xframe.sameorigin',
value: 'SAMEORIGIN',
},
{
name: 'server.xframe.allow-from',
value: 'ALLOW-FROM',
},
]
},
{
name: 'form.server.xssProtection',
target: 'server.xssProtection',
type: 'boolean',
value: strapi.config.environments[env].server.xssProtection
}
]
},
{
name: 'form.server.cors',
items: [
{
name: 'form.server.cors.origin',
target: 'server.cors.origin',
type: 'string',
value: strapi.config.environments[env].server.cors.origin
value: _.get(strapi.config, `environments.${env}.server.port`, null)
}
]
}
@ -278,6 +239,11 @@ module.exports = {
message: 'form.error.validation.required'
});
if (key === 'regex' && !new RegExp(value).test(input)) errors.push({
target: item.target,
message: 'form.error.validation.regex'
});
if (key === 'max' && parseInt(input) > value) errors.push({
target: item.target,
message: 'form.error.validation.max'