view plugins/redmine_bibliography/lib/bibliography/user_author_patch.rb @ 1524:82fac3dcf466 redmine-2.5-integration

Fix failure to interpret Javascript when autocompleting members for project
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 11 Sep 2014 10:24:38 +0100
parents 8d721cac2925
children
line wrap: on
line source
require_dependency 'user'

module Bibliography
  module UserAuthorPatch
    def self.included(base)
      base.send(:include, InstanceMethods)

      base.class_eval do
        # adapted from the app/models/principals_model.rb
        # to remove the email address from the search
        scope :name_like, lambda {|q|
          q = q.to_s
          if q.blank?
            where({})
          else
            pattern = "%#{q}%"
            sql = %w(login firstname lastname).map {|column| "LOWER(#{  table_name}.    #{column}) LIKE LOWER(:p)"}.join(" OR ")
            params = {:p => pattern}
            if q =~ /^(.+)\s+(.+)$/
              a, b = "#{$1}%", "#{$2}%"
              sql << " OR (LOWER(#{table_name}.firstname) LIKE LOWER(:a) AND  LOWER    (#{table_name}.lastname) LIKE LOWER(:b))"
              sql << " OR (LOWER(#{table_name}.firstname) LIKE LOWER(:b) AND  LOWER    (#{table_name}.lastname) LIKE LOWER(:a))"
              params.merge!(:a => a, :b => b)
            end
          where(sql, params)
          end
        }
      end #base.class_eval

    end #self.included

    module InstanceMethods

      # todo: deprecated? ~lf.20131011
      def institution
        unless self.ssamr_user_detail.nil?
          institution_name = self.ssamr_user_detail.institution_name
        else
          institution_name = "No Institution Set"
        end
        return institution_name
      end

    end #InstanceMethods

  end #UserPublicationsPatch
end #RedmineBibliography