FIX: Show error messages when adding permalinks in the admin UI (#12545)

FIX: Show error messages when adding permalinks in the admin UI (#12545)

Also, check for uniqueness of permalinks before attempting to save.

diff --git a/app/assets/javascripts/admin/addon/components/permalink-form.js b/app/assets/javascripts/admin/addon/components/permalink-form.js
index a5a8a95..da8f947 100644
--- a/app/assets/javascripts/admin/addon/components/permalink-form.js
+++ b/app/assets/javascripts/admin/addon/components/permalink-form.js
@@ -69,9 +69,13 @@ export default Component.extend({
               this.set("formSubmitted", false);
 
               let error;
-              if (e.responseJSON && e.responseJSON.errors) {
+              if (
+                e.jqXHR &&
+                e.jqXHR.responseJSON &&
+                e.jqXHR.responseJSON.errors
+              ) {
                 error = I18n.t("generic_error_with_reason", {
-                  error: e.responseJSON.errors.join(". "),
+                  error: e.jqXHR.responseJSON.errors.join(". "),
                 });
               } else {
                 error = I18n.t("generic_error");
diff --git a/app/models/permalink.rb b/app/models/permalink.rb
index 8446789..11ea908 100644
--- a/app/models/permalink.rb
+++ b/app/models/permalink.rb
@@ -8,6 +8,8 @@ class Permalink < ActiveRecord::Base
 
   before_validation :normalize_url
 
+  validates :url, uniqueness: true
+
   class Normalizer
     attr_reader :source
 

GitHub sha: 70970bb7

This commit appears in #12545 which was approved by eviltrout. It was merged by danielwaterworth.