Sha256: dd8626c9b2261ca12074449d48aa41cf99dfeb043f0db97ecc95bc3e9dfad377

Contents?: true

Size: 1.43 KB

Versions: 5

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true

module AdditionalTags
  module Patches
    module AutoCompletesControllerPatch
      extend ActiveSupport::Concern

      included do
        include AdditionalTagsHelper
        include InstanceMethods
      end

      module InstanceMethods
        def issue_tags
          suggestion_order = AdditionalTags.setting(:tags_suggestion_order) || 'name'
          tags = Issue.available_tags name_like: build_search_query_term(params),
                                      sort_by: suggestion_order,
                                      order: (suggestion_order == 'name' ? 'ASC' : 'DESC')

          tags = AdditionalTags::Tags.sort_tag_list tags if suggestion_order == 'name'

          render json: format_tags_json(tags)
        end

        def wiki_tags
          tags = WikiPage.available_tags project: nil,
                                         name_like: build_search_query_term(params)

          render json: format_tags_json(tags)
        end

        def all_tags
          return render_403 unless User.current.admin?

          q = build_search_query_term params
          sql_for_where = "LOWER(#{ActiveRecord::Base.connection.quote_table_name ActsAsTaggableOn.tags_table}.name) LIKE ?"
          tags = ActsAsTaggableOn::Tag.where(sql_for_where, "%#{q.downcase}%")
                                      .order(name: :asc)

          render json: format_tags_json(tags)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
additional_tags-3.4.0 lib/additional_tags/patches/auto_completes_controller_patch.rb
additional_tags-3.3.2 lib/additional_tags/patches/auto_completes_controller_patch.rb
additional_tags-3.3.1 lib/additional_tags/patches/auto_completes_controller_patch.rb
additional_tags-3.2.0 lib/additional_tags/patches/auto_completes_controller_patch.rb
additional_tags-3.1.0 lib/additional_tags/patches/auto_completes_controller_patch.rb