From 481edb9ae9d215d7e4387ede046c41d2e87e0489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Wed, 23 Jan 2019 17:10:50 +0100 Subject: [PATCH] #956 Non-ASCII characters in external links --- app/validators/dmsf_url_validator.rb | 6 ++++-- test/unit/dmsf_link_test.rb | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/validators/dmsf_url_validator.rb b/app/validators/dmsf_url_validator.rb index e897c152..2b2de698 100644 --- a/app/validators/dmsf_url_validator.rb +++ b/app/validators/dmsf_url_validator.rb @@ -25,12 +25,14 @@ class DmsfUrlValidator < ActiveModel::EachValidator if record.target_type == 'DmsfUrl' begin if value.present? - URI.parse value + # TODO : This prevents from entering valid URLs with non-ASCII characters sue as: 'https://www.google.com/search?q=寿司' + #URI.parse value else record.errors.add attribute, :invalid end - rescue URI::InvalidURIError + rescue URI::InvalidURIError => e record.errors.add attribute, :invalid + Rails.logger.error e.message end end end diff --git a/test/unit/dmsf_link_test.rb b/test/unit/dmsf_link_test.rb index 21efb8fe..b926046e 100644 --- a/test/unit/dmsf_link_test.rb +++ b/test/unit/dmsf_link_test.rb @@ -113,7 +113,7 @@ class DmsfLinksTest < RedmineDmsf::Test::UnitTest def test_validate_external_url @file_link.target_type = 'DmsfUrl' - @file_link.external_url = 'htt ps://abc.xyz' + @file_link.external_url = '' assert !@file_link.save, "External URL link #{@file_link.name} should have not been saved" assert_equal 1, @file_link.errors.size