From 5ff82a3159ef30a23e4e957fc5218eb0613d4193 Mon Sep 17 00:00:00 2001 From: nicolaslabbe Date: Thu, 17 Nov 2016 09:27:46 +0100 Subject: [PATCH] fix: precontribution 33 --- src/cli/cms/templates/template.js | 8 ++++-- .../public/scripts/modules/FormCreate.js | 26 ++++++++++--------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/cli/cms/templates/template.js b/src/cli/cms/templates/template.js index bbd2f15..ef5c43e 100755 --- a/src/cli/cms/templates/template.js +++ b/src/cli/cms/templates/template.js @@ -260,7 +260,7 @@ export function getAbeRequestWhereKeysFromTemplates(templatesList) { } export function setAbeSlugDefaultValueIfDoesntExist(templateText) { - var matches = cmsData.regex.getTagAbeWithTab(templateText, 'slug') + var matches = cmsData.regex.getTagAbeWithType(templateText, 'slug') if(matches == null || matches[0] == null) { templateText = `{{abe type="slug" source="{{name}}"}}\n${templateText}` } @@ -292,7 +292,11 @@ export function getAbePrecontribFromTemplates(templatesList) { var fields = [] var precontributionTemplate = '' Array.prototype.forEach.call(templatesList, (file) => { - var templateText = setAbePrecontribDefaultValueIfDoesntExist(file.template) + var slugMatch = cmsData.regex.getTagAbeWithType(file.template, 'slug') + var templateText = file.template + if(slugMatch == null || slugMatch[0] == null) { + templateText = setAbePrecontribDefaultValueIfDoesntExist(file.template) + } var matchesTabSlug = cmsData.regex.getTagAbeWithTab(templateText, 'slug') Array.prototype.forEach.call(matchesTabSlug, (match) => { diff --git a/src/server/public/scripts/modules/FormCreate.js b/src/server/public/scripts/modules/FormCreate.js index f085f4a..3e72447 100755 --- a/src/server/public/scripts/modules/FormCreate.js +++ b/src/server/public/scripts/modules/FormCreate.js @@ -154,18 +154,20 @@ export default class FormCreate { var slug = slugs[this._selectedTemplate] var slugMatches = slug.match(/{{.*?}}/g) - Array.prototype.forEach.call(slugMatches, function(slugMatch) { - var cleanSlugMath = slugMatch.replace('{{', '').replace('}}', '') - try { - var valueSlug = eval('values.' + cleanSlugMath) - valueSlug = limax(valueSlug, {separateNumbers: false}) - slug = slug.replace(slugMatch, valueSlug) - }catch(e) { - slug = slug.replace(slugMatch, '') - isValid = false - console.error('error on create', e) - } - }.bind(this)) + if (slugMatches !== null) { + Array.prototype.forEach.call(slugMatches, function(slugMatch) { + var cleanSlugMath = slugMatch.replace('{{', '').replace('}}', '') + try { + var valueSlug = eval('values.' + cleanSlugMath) + valueSlug = limax(valueSlug, {separateNumbers: false}) + slug = slug.replace(slugMatch, valueSlug) + }catch(e) { + slug = slug.replace(slugMatch, '') + isValid = false + console.error('error on create', e) + } + }.bind(this)) + } var slugPaths = document.querySelectorAll('[data-slug-type=path]') Array.prototype.forEach.call(slugPaths, function(slugPath) {