diff --git a/db/migrate/20150903210329_add_proposal_discussion_plugin_simplified_abstract_to_tasks.rb b/db/migrate/20150903210329_add_proposal_discussion_plugin_simplified_abstract_to_tasks.rb deleted file mode 100644 index c3d016a..0000000 --- a/db/migrate/20150903210329_add_proposal_discussion_plugin_simplified_abstract_to_tasks.rb +++ /dev/null @@ -1,9 +0,0 @@ -class AddProposalDiscussionPluginSimplifiedAbstractToTasks < ActiveRecord::Migration - def change - add_column :tasks, :proposal_discussion_plugin_simplified_abstract, :text - add_index :tasks, :proposal_discussion_plugin_simplified_abstract - ProposalsDiscussionPlugin::ProposalTask.find_each do |t| - t.update_attribute :proposal_discussion_plugin_simplified_abstract, ProposalsDiscussionPlugin::ProposalTask.simplify(t.abstract) - end - end -end diff --git a/lib/proposals_discussion_plugin/api.rb b/lib/proposals_discussion_plugin/api.rb index 182e910..e0dd4d3 100644 --- a/lib/proposals_discussion_plugin/api.rb +++ b/lib/proposals_discussion_plugin/api.rb @@ -23,7 +23,7 @@ class ProposalsDiscussionPlugin::API < Grape::API proposal_task.requestor = current_person unless proposal_task.save - render_api_errors!(proposal_task.errors) + render_api_errors!(proposal_task.article_object.errors.full_messages) end {:success => true} #present proposal_task, :with => Entities::Task, :fields => params[:fields] diff --git a/lib/proposals_discussion_plugin/proposal_task.rb b/lib/proposals_discussion_plugin/proposal_task.rb index 20ae82c..743a920 100644 --- a/lib/proposals_discussion_plugin/proposal_task.rb +++ b/lib/proposals_discussion_plugin/proposal_task.rb @@ -1,4 +1,5 @@ class ProposalsDiscussionPlugin::ProposalTask < Task + has_and_belongs_to_many :categories, class_name: "ProposalsDiscussionPlugin::TaskCategory", join_table: :proposals_discussion_plugin_task_categories, @@ -9,13 +10,8 @@ class ProposalsDiscussionPlugin::ProposalTask < Task validates_presence_of :requestor_id, :target_id validates_associated :article_object - before_save :simplify_abstract -# before_validation :simplify_abstract - validate :require_category - - validate :unique_simplified_abstract? -# validates_uniqueness_of :proposal_discussion_plugin_simplified_abstract, :scope => ['target_id'], :message => _("Cannot create duplicate proposal") + validate :require_category settings_items :name, :type => String settings_items :ip_address, :type => String @@ -25,10 +21,6 @@ class ProposalsDiscussionPlugin::ProposalTask < Task settings_items :closing_statment, :article_parent_id - def simplify_abstract - self.proposal_discussion_plugin_simplified_abstract = ProposalsDiscussionPlugin::ProposalTask.simplify(self[:data][:article]["abstract"]) - end - scope :pending_evaluated, lambda { |profile, filter_type, filter_text| self .to(profile) @@ -266,14 +258,6 @@ class ProposalsDiscussionPlugin::ProposalTask < Task parent.name if parent end - def self.simplify(s) - return nil if s.nil? - s=I18n.transliterate(s) - s.gsub!(/(^\s)|([',.?!])|(\s$)/, "") - s.gsub!(/\s{2,}/, " ") - s.downcase - end - protected def require_category @@ -282,10 +266,4 @@ class ProposalsDiscussionPlugin::ProposalTask < Task end end - def unique_simplified_abstract? - sa = ProposalsDiscussionPlugin::ProposalTask.simplify(self[:data][:article]["abstract"]) - r = ProposalsDiscussionPlugin::ProposalTask.find_by_sql ["SELECT 1 AS one FROM tasks WHERE tasks.type IN ('ProposalsDiscussionPlugin::ProposalTask') AND (tasks.proposal_discussion_plugin_simplified_abstract = ? AND tasks.target_id = ?) LIMIT 1", sa, target_id] - errors.add :base, _('This proposal has been previously registered') unless r.empty? - end - end diff --git a/test/test_helper.rb b/test/test_helper.rb index 25b8b7c..cca1fd3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1 +1 @@ -require File.dirname(__FILE__) + '/../../../test/test_helper' +require File.dirname(__FILE__) + '/../../../test/test_helper' diff --git a/test/unit/proposal_task_test.rb b/test/unit/proposal_task_test.rb index d78d2c8..fe9606b 100644 --- a/test/unit/proposal_task_test.rb +++ b/test/unit/proposal_task_test.rb @@ -1,4 +1,3 @@ -# encoding: UTF-8 require_relative '../test_helper' class ProposalTaskTest < ActiveSupport::TestCase @@ -84,13 +83,4 @@ class ProposalTaskTest < ActiveSupport::TestCase assert task.information.present? end - should 'not register duplicate task' do - task = ProposalsDiscussionPlugin::ProposalTask.create!(:requestor => person, :target => profile, :article => {:name => 'proposal 1', :abstract => ' Alô ! ruby é legal a bêçá. seu moÇo, não Acha? '}) - task.categories = [fast_create(ProposalsDiscussionPlugin::TaskCategory)] - task.save! - task = ProposalsDiscussionPlugin::ProposalTask.new(:requestor => person, :target => profile, :article => {:name => 'proposal 1', :abstract => 'alo ruby e legal a beca seu moco nao acha'}) - task.categories = [fast_create(ProposalsDiscussionPlugin::TaskCategory)] - assert !task.valid? - end - end -- libgit2 0.21.2