Sha256: fc90ee25f2fc8e997d0118c6027391f4f4849cd340f96b7de1ff66f215fc56b6
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
module AdditionalTags module Patches module AgileQueryPatch extend ActiveSupport::Concern included do include AdditionalsQuery include InstanceMethods alias_method :initialize_available_filters_without_tags, :initialize_available_filters alias_method :initialize_available_filters, :initialize_available_filters_with_tags add_available_column QueryColumn.new(:tags) end module InstanceMethods def sql_for_tags_field(_field, operator, value) case operator when '=', '!' issues = Issue.tagged_with(value.clone, any: true) when '!*' issues = Issue.joins(:tags).uniq else issues = Issue.tagged_with(ActsAsTaggableOn::Tag.all.map(&:to_s), any: true) end compare = operator.include?('!') ? 'NOT IN' : 'IN' ids_list = issues.collect(&:id).push(0).join(',') "( #{Issue.table_name}.id #{compare} (#{ids_list}) ) " end def initialize_available_filters_with_tags initialize_available_filters_without_tags initialize_tags_filter if !available_filters.key?('tags') && User.current.allowed_to?(:view_issue_tags, project, global: true) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
additional_tags-1.0.1 | lib/additional_tags/patches/agile_query_patch.rb |