From fd73ca72cd3e83506d0d8980bb25911b15d59e2a Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Wed, 14 Oct 2015 18:34:03 +0100 Subject: [PATCH] Minor tag settings validation updates & fixes refs #5845 - add tests for `tag-settings` validator - add validation for tag slug length - fix display of error message when saving tag fails on the server - add max chars text to description char count, remove error message as the count/input colour already indicates an error --- core/client/app/controllers/settings/tags.js | 2 +- .../templates/settings/tags/settings-menu.hbs | 8 +- core/client/app/validators/tag-settings.js | 15 +- .../unit/validators/tag-settings-test.js | 296 ++++++++++++++++++ 4 files changed, 314 insertions(+), 7 deletions(-) create mode 100644 core/client/tests/unit/validators/tag-settings-test.js diff --git a/core/client/app/controllers/settings/tags.js b/core/client/app/controllers/settings/tags.js index fd36f481d8..9da426ee3f 100644 --- a/core/client/app/controllers/settings/tags.js +++ b/core/client/app/controllers/settings/tags.js @@ -50,7 +50,7 @@ export default Ember.Controller.extend(SettingsMenuMixin, { activeTag.save().catch(function (error) { if (error) { - self.notifications.showAPIError(error, {key: 'tag.save'}); + self.get('notifications').showAPIError(error, {key: 'tag.save'}); } }); }, diff --git a/core/client/app/templates/settings/tags/settings-menu.hbs b/core/client/app/templates/settings/tags/settings-menu.hbs index a12a8c000f..79db7ec772 100644 --- a/core/client/app/templates/settings/tags/settings-menu.hbs +++ b/core/client/app/templates/settings/tags/settings-menu.hbs @@ -16,17 +16,17 @@ {{gh-error-message errors=activeTag.errors property="name"}} {{/gh-form-group}} -
+ {{#gh-form-group errors=activeTag.errors hasValidated=activeTag.hasValidated property="slug"}} {{gh-input id="tag-url" name="url" type="text" value=activeTagSlugScratch focus-out="saveActiveTagSlug"}} {{gh-url-preview prefix="tag" slug=activeTagSlugScratch tagName="p" classNames="description"}} -
+ {{gh-error-message errors=activeTag.errors property="slug"}} + {{/gh-form-group}} {{#gh-form-group errors=activeTag.errors hasValidated=activeTag.hasValidated property="description"}} {{gh-textarea id="tag-description" name="description" value=activeTagDescriptionScratch focus-out="saveActiveTagDescription"}} - {{gh-error-message errors=activeTag.errors property="description"}} - {{gh-count-down-characters activeTagDescriptionScratch 200}} +

Maximum: 200 characters. You’ve used {{gh-count-down-characters activeTagDescriptionScratch 200}}

{{/gh-form-group}}