# frozen_string_literal: true require_dependency 'time_entry_query' # Here we add the jobs field so it shows in a time entry query as an available column. module TimeEntryQueryPatch extend ActiveSupport::Concern included do include InstanceMethods # alias_method :initialize_available_filters_without_jobs, :initialize_available_filters # alias_method :initialize_available_filters, :initialize_available_filters_with_jobs alias_method :available_columns_without_jobs, :available_columns alias_method :available_columns, :available_columns_with_jobs end module InstanceMethods # def initialize_available_filters_with_jobs # initialize_available_filters_without_jobs # initialize_issue_jobs_filter # end def available_columns_with_jobs if @available_columns.nil? @available_columns = available_columns_without_jobs @available_columns << QueryColumn.new(:job) else available_columns_without_jobs end @available_columns end def sql_for_issue_jobs_field(_field, operator, values) build_sql_for_jobs_field klass: Issue, operator: operator, values: values end end end