From fd4cf15e4637b86d8473322e631c75206ed77151 Mon Sep 17 00:00:00 2001 From: albert Date: Sat, 7 Jan 2012 21:32:36 -0500 Subject: [PATCH] fixes #228 --- app/controllers/tag_aliases_controller.rb | 8 ++++++++ app/models/tag_alias.rb | 2 ++ app/models/tag_implication.rb | 2 ++ app/views/tag_aliases/index.html.erb | 2 +- app/views/tag_implications/index.html.erb | 2 +- config/routes.rb | 3 +++ 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/controllers/tag_aliases_controller.rb b/app/controllers/tag_aliases_controller.rb index 8d4edee17..ced1c9984 100644 --- a/app/controllers/tag_aliases_controller.rb +++ b/app/controllers/tag_aliases_controller.rb @@ -8,6 +8,14 @@ class TagAliasesController < ApplicationController respond_with(@tag_alias) end + def general_search + if params[:commit] == "Search Aliases" + redirect_to tag_aliases_path(:search => {:name_matches => params[:query]}) + else + redirect_to tag_implications_path(:search => {:name_matches => params[:query]}) + end + end + def index @search = TagAlias.search(params[:search]) @tag_aliases = @search.order("(case status when 'pending' then 0 when 'queued' then 1 else 2 end), antecedent_name, consequent_name").paginate(params[:page]) diff --git a/app/models/tag_alias.rb b/app/models/tag_alias.rb index 0b6ca57a4..f7c046b66 100644 --- a/app/models/tag_alias.rb +++ b/app/models/tag_alias.rb @@ -7,6 +7,8 @@ class TagAlias < ActiveRecord::Base validates_uniqueness_of :antecedent_name validate :absence_of_transitive_relation belongs_to :creator, :class_name => "User" + scope :name_matches, lambda {|name| where("(antecedent_name = ? or consequent_name = ?)", name, name)} + search_method :name_matches def self.to_aliased(names) alias_hash = Cache.get_multi(names.flatten, "ta") do |name| diff --git a/app/models/tag_implication.rb b/app/models/tag_implication.rb index 45b8927ed..66b6d0e11 100644 --- a/app/models/tag_implication.rb +++ b/app/models/tag_implication.rb @@ -6,6 +6,8 @@ class TagImplication < ActiveRecord::Base validates_presence_of :creator_id validates_uniqueness_of :antecedent_name, :scope => :consequent_name validate :absence_of_circular_relation + scope :name_matches, lambda {|name| where("(antecedent_name = ? or consequent_name = ?)", name, name)} + search_method :name_matches module DescendantMethods extend ActiveSupport::Concern diff --git a/app/views/tag_aliases/index.html.erb b/app/views/tag_aliases/index.html.erb index 5b0cb8d07..8d936b427 100644 --- a/app/views/tag_aliases/index.html.erb +++ b/app/views/tag_aliases/index.html.erb @@ -1,7 +1,7 @@