From 9e777a84aac27ee68e3aa9ec2af1b7fbe5e088c0 Mon Sep 17 00:00:00 2001 From: Jonathan Kolyer Date: Sat, 31 Jan 2015 18:45:10 +0000 Subject: [PATCH] VRFS-2697 display errors from server-side site check --- .../assets/javascripts/website_validator.js.coffee | 14 +++++++++++++- .../stylesheets/client/website_validator.css.scss | 2 ++ web/app/controllers/api_users_controller.rb | 2 +- web/app/views/clients/_website_validator.html.slim | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/web/app/assets/javascripts/website_validator.js.coffee b/web/app/assets/javascripts/website_validator.js.coffee index 43c824427..ab4ca2060 100644 --- a/web/app/assets/javascripts/website_validator.js.coffee +++ b/web/app/assets/javascripts/website_validator.js.coffee @@ -14,6 +14,7 @@ context.JK.WebsiteValidator = class WebsiteValidator @site_status = null init: () => + this.renderErrors({}) validator = this @url_input.bind 'blur', -> if validator.show_format_status() @@ -50,10 +51,21 @@ context.JK.WebsiteValidator = class WebsiteValidator processSiteCheck: (response) => if 'Valid Site' == response.message @site_status = 'valid' + this.renderErrors({}) else @site_status = 'invalid' + this.renderErrors(response) @logger.debug("site_status = "+@site_status) - processSiteCheckFail: () => + processSiteCheckFail: (response) => @logger.error("site check error") @site_status = 'invalid' + + renderErrors: (errors) => + errdiv = @input_div.find('.error') + if errmsg = context.JK.format_errors("site", errors) + errdiv.show() + errdiv.html(errmsg) + else + errdiv.hide() + errdiv.html('') diff --git a/web/app/assets/stylesheets/client/website_validator.css.scss b/web/app/assets/stylesheets/client/website_validator.css.scss index 15c8be03a..0dcfae6dd 100644 --- a/web/app/assets/stylesheets/client/website_validator.css.scss +++ b/web/app/assets/stylesheets/client/website_validator.css.scss @@ -9,4 +9,6 @@ .valid_checkmark { float: left; } + .error { + } } diff --git a/web/app/controllers/api_users_controller.rb b/web/app/controllers/api_users_controller.rb index 1739f9999..b9a1b6d42 100644 --- a/web/app/controllers/api_users_controller.rb +++ b/web/app/controllers/api_users_controller.rb @@ -709,7 +709,7 @@ class ApiUsersController < ApiController render json: { message: 'Valid Site' }, status: 200 else result =~ /curl: \(\d+\) (.*)/ - render json: { message: 'Invalid Site', errors: [$1] }, status: 200 + render json: { message: 'Invalid Site', errors: { site: [$1] } }, status: 200 end else render json: { message: "blank data #{data}" }, status: :unprocessable_entity diff --git a/web/app/views/clients/_website_validator.html.slim b/web/app/views/clients/_website_validator.html.slim index ec46ab565..00bd96252 100644 --- a/web/app/views/clients/_website_validator.html.slim +++ b/web/app/views/clients/_website_validator.html.slim @@ -1,4 +1,5 @@ div class="website_validator" id="#{siteid}_url" div class="valid_checkmark" ✓ input type='text' id="url_input_#{siteid}" maxlength="2000" + div class="error"