1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-12-24 01:11:12 +00:00

use String#casecmp for case insensitive comparison (#20369)

Contributed by Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@14484 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2015-08-12 12:54:06 +00:00
parent 039c333cec
commit 918a412fd4
6 changed files with 12 additions and 11 deletions

View File

@ -102,7 +102,7 @@ class AccountController < ApplicationController
token = Token.new(:user => user, :action => "recovery")
if token.save
# Don't use the param to send the email
recipent = user.mails.detect {|e| e.downcase == email.downcase} || user.mail
recipent = user.mails.detect {|e| email.casecmp(e) == 0} || user.mail
Mailer.lost_password(token, recipent).deliver
flash[:notice] = l(:notice_account_lost_email_sent)
redirect_to signin_path

View File

@ -609,7 +609,7 @@ module ApplicationHelper
parsed << text
if tag
if closing
if tags.last == tag.downcase
if tags.last.casecmp(tag) == 0
tags.pop
end
else

View File

@ -144,7 +144,7 @@ class CustomField < ActiveRecord::Base
possible_values_options = possible_values_options(customized)
if possible_values_options.present?
keyword = keyword.to_s.downcase
if v = possible_values_options.detect {|text, id| text.downcase == keyword}
if v = possible_values_options.detect {|text, id| keyword.casecmp(text) == 0}
if v.is_a?(Array)
v.last
else

View File

@ -92,7 +92,7 @@ class MailHandler < ActionMailer::Base
@handler_options = options
sender_email = email.from.to_a.first.to_s.strip
# Ignore emails received from the application emission address to avoid hell cycles
if sender_email.downcase == Setting.mail_from.to_s.strip.downcase
if sender_email.casecmp(Setting.mail_from.to_s.strip) == 0
if logger
logger.info "MailHandler: ignoring email from Redmine emission address [#{sender_email}]"
end
@ -547,18 +547,19 @@ class MailHandler < ActionMailer::Base
assignable = issue.assignable_users
assignee = nil
assignee ||= assignable.detect {|a|
a.mail.to_s.downcase == keyword ||
a.login.to_s.downcase == keyword
keyword.casecmp(a.mail.to_s) == 0 ||
keyword.casecmp(a.login.to_s) == 0
}
if assignee.nil? && keyword.match(/ /)
firstname, lastname = *(keyword.split) # "First Last Throwaway"
assignee ||= assignable.detect {|a|
a.is_a?(User) && a.firstname.to_s.downcase == firstname &&
a.lastname.to_s.downcase == lastname
a.is_a?(User) &&
firstname.casecmp(a.firstname.to_s) == 0 &&
lastname.casecmp(a.lastname.to_s) == 0
}
end
if assignee.nil?
assignee ||= assignable.detect {|a| a.name.downcase == keyword}
assignee ||= assignable.detect {|a| keyword.casecmp(a.name) == 0}
end
assignee
end

View File

@ -130,7 +130,7 @@ class Principal < ActiveRecord::Base
if principal.nil?
-1
elsif self.class.name == principal.class.name
self.to_s.downcase <=> principal.to_s.downcase
self.to_s.casecmp(principal.to_s)
else
# groups after users
principal.class.name <=> self.class.name

View File

@ -531,7 +531,7 @@ class Project < ActiveRecord::Base
end
def <=>(project)
name.downcase <=> project.name.downcase
name.casecmp(project.name)
end
def to_s