From 3103b97c8be6c682c55791566b26e9f38704f334 Mon Sep 17 00:00:00 2001 From: Toks Date: Tue, 17 Jun 2014 13:19:40 -0400 Subject: [PATCH] fixes #2198 --- app/logical/alias_and_implication_importer.rb | 9 +++++---- app/models/bulk_update_request.rb | 9 +++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/logical/alias_and_implication_importer.rb b/app/logical/alias_and_implication_importer.rb index 34d1b8c76..48662e87a 100644 --- a/app/logical/alias_and_implication_importer.rb +++ b/app/logical/alias_and_implication_importer.rb @@ -8,7 +8,7 @@ class AliasAndImplicationImporter end def process! - tokens = tokenize(text) + tokens = AliasAndImplicationImporter.tokenize(text) parse(tokens) end @@ -16,9 +16,8 @@ class AliasAndImplicationImporter @rename_aliased_pages == "1" end -private - - def tokenize(text) + def self.tokenize(text) + text = text.dup text.gsub!(/^\s+/, "") text.gsub!(/\s+$/, "") text.gsub!(/ {2,}/, " ") @@ -41,6 +40,8 @@ private end end +private + def parse(tokens) ActiveRecord::Base.transaction do tokens.map do |token| diff --git a/app/models/bulk_update_request.rb b/app/models/bulk_update_request.rb index f510c56f2..edb564407 100644 --- a/app/models/bulk_update_request.rb +++ b/app/models/bulk_update_request.rb @@ -8,6 +8,7 @@ class BulkUpdateRequest < ActiveRecord::Base validates_presence_of :script validates_presence_of :title validates_inclusion_of :status, :in => %w(pending approved rejected) + validate :script_formatted_correctly attr_accessible :user_id, :forum_topic_id, :script, :title, :reason attr_accessible :status, :as => [:admin] before_validation :initialize_attributes, :on => :create @@ -35,4 +36,12 @@ class BulkUpdateRequest < ActiveRecord::Base self.user_id = CurrentUser.user.id unless self.user_id self.status = "pending" end + + def script_formatted_correctly + AliasAndImplicationImporter.tokenize(script) + return true + rescue StandardError => e + errors.add(:base, e.message) + return false + end end