##// END OF EJS Templates
Pass the commit keyword used to update the issue to the plugin hook....
Pass the commit keyword used to update the issue to the plugin hook. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12198 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r10472:f09be6832327
r11968:0444ecca3c87
Show More
10-patches.rb
167 lines | 5.0 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Rails 2.3.5 deprecation....
r3121 require 'active_record'
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430
module ActiveRecord
class Base
include Redmine::I18n
# Translate attribute names for validation errors display
Jean-Philippe Lang
human_attribute_name accepts optional argument....
r8166 def self.human_attribute_name(attr, *args)
Jean-Philippe Lang
Support for subforums (#3831)....
r9959 attr = attr.to_s.sub(/_id$/, '')
l("field_#{name.underscore.gsub('/', '_')}_#{attr}", :default => ["field_#{attr}".to_sym, attr])
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 end
end
Jean-Philippe Lang
Fixed that open scope on Project#issues raises an error (#11545)....
r10016
# Undefines private Kernel#open method to allow using `open` scopes in models.
# See Defect #11545 (http://www.redmine.org/issues/11545) for details.
Jean-Philippe Lang
Prevents "Overwriting existing method Issue.open" warning (#11545)....
r10025 class Base
class << self
undef open
end
end
Jean-Philippe Lang
Fixed that open scope on Project#issues raises an error (#11545)....
r10016 class Relation ; undef open ; end
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 end
module ActionView
module Helpers
module DateHelper
# distance_of_time_in_words breaks when difference is greater than 30 years
def distance_of_date_in_words(from_date, to_date = 0, options = {})
from_date = from_date.to_date if from_date.respond_to?(:to_date)
to_date = to_date.to_date if to_date.respond_to?(:to_date)
distance_in_days = (to_date - from_date).abs
I18n.with_options :locale => options[:locale], :scope => :'datetime.distance_in_words' do |locale|
case distance_in_days
Jean-Philippe Lang
Fixes distance of date in words calculation....
r2902 when 0..60 then locale.t :x_days, :count => distance_in_days.round
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 when 61..720 then locale.t :about_x_months, :count => (distance_in_days / 30).round
Jean-Philippe Lang
Fixes distance of date in words calculation....
r2902 else locale.t :over_x_years, :count => (distance_in_days / 365).floor
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 end
end
end
end
end
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346
class Resolver
def find_all(name, prefix=nil, partial=false, details={}, key=nil, locals=[])
cached(key, [name, prefix, partial], details, locals) do
if details[:formats] & [:xml, :json]
details = details.dup
details[:formats] = details[:formats].dup + [:api]
end
find_templates(name, prefix, partial, details)
end
end
end
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 end
Jean-Philippe Lang
Merged Rails 2.1 compatibility branch....
r1609
Jean-Philippe Lang
Fixed that text email templates are escaped (#11355)....
r10022 # Do not HTML escape text templates
module ActionView
class Template
module Handlers
class ERB
def call(template)
if template.source.encoding_aware?
# First, convert to BINARY, so in case the encoding is
# wrong, we can still find an encoding tag
# (<%# encoding %>) inside the String using a regular
# expression
template_source = template.source.dup.force_encoding("BINARY")
erb = template_source.gsub(ENCODING_TAG, '')
encoding = $2
erb.force_encoding valid_encoding(template.source.dup, encoding)
# Always make sure we return a String in the default_internal
erb.encode!
else
erb = template.source.dup
end
self.class.erb_implementation.new(
erb,
:trim => (self.class.erb_trim_mode == "-"),
:escape => template.identifier =~ /\.text/ # only escape HTML templates
).src
end
end
end
end
end
Jean-Philippe Lang
Fixed that some input fields are escaped on validation failures (#11027)....
r9528 ActionView::Base.field_error_proc = Proc.new{ |html_tag, instance| html_tag || ''.html_safe }
Jean-Philippe Lang
Adds :async_smtp and :async_sendmail delivery methods to perform email deliveries asynchronously....
r2337
Jean-Philippe Lang
Port async delivery methods to Rails 3....
r9350 require 'mail'
module DeliveryMethods
class AsyncSMTP < ::Mail::SMTP
def deliver!(*args)
Thread.start do
super *args
end
end
end
class AsyncSendmail < ::Mail::Sendmail
def deliver!(*args)
Jean-Philippe Lang
Adds :async_smtp and :async_sendmail delivery methods to perform email deliveries asynchronously....
r2337 Thread.start do
Jean-Philippe Lang
Port async delivery methods to Rails 3....
r9350 super *args
Toshi MARUYAMA
remove trailing white-spaces from config/initializers/10-patches.rb....
r6572 end
Jean-Philippe Lang
Adds :async_smtp and :async_sendmail delivery methods to perform email deliveries asynchronously....
r2337 end
end
Jean-Philippe Lang
Adds a delivery method that writes emails in tmp/emails for testing purpose....
r7726
Jean-Philippe Lang
Port async delivery methods to Rails 3....
r9350 class TmpFile
def initialize(*args); end
def deliver!(mail)
dest_dir = File.join(Rails.root, 'tmp', 'emails')
Dir.mkdir(dest_dir) unless File.directory?(dest_dir)
File.open(File.join(dest_dir, mail.message_id.gsub(/[<>]/, '') + '.eml'), 'wb') {|f| f.write(mail.encoded) }
end
Jean-Philippe Lang
Adds a delivery method that writes emails in tmp/emails for testing purpose....
r7726 end
Jean-Philippe Lang
Adds :async_smtp and :async_sendmail delivery methods to perform email deliveries asynchronously....
r2337 end
Jean-Philippe Lang
Port async delivery methods to Rails 3....
r9350 ActionMailer::Base.add_delivery_method :async_smtp, DeliveryMethods::AsyncSMTP
ActionMailer::Base.add_delivery_method :async_sendmail, DeliveryMethods::AsyncSendmail
ActionMailer::Base.add_delivery_method :tmp_file, DeliveryMethods::TmpFile
Eric Davis
Workaround for i18n 0.4.x with the old style syntax. #6428 #5608...
r4069
Jean-Philippe Lang
Adds cc and bcc to email log messages (#12090)....
r10472 # Changes how sent emails are logged
# Rails doesn't log cc and bcc which is misleading when using bcc only (#12090)
module ActionMailer
class LogSubscriber < ActiveSupport::LogSubscriber
def deliver(event)
recipients = [:to, :cc, :bcc].inject("") do |s, header|
r = Array.wrap(event.payload[header])
if r.any?
s << "\n #{header}: #{r.join(', ')}"
end
s
end
info("\nSent email \"#{event.payload[:subject]}\" (%1.fms)#{recipients}" % event.duration)
debug(event.payload[:mail])
end
end
end
Jean-Philippe Lang
Dry Users API responders....
r4340 module ActionController
module MimeResponds
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 class Collector
Jean-Philippe Lang
Dry Users API responders....
r4340 def api(&block)
any(:xml, :json, &block)
end
end
end
end
Jean-Philippe Lang
Displays an explicit message when trying to start Redmine with an old session_store.rb....
r9383
module ActionController
class Base
# Displays an explicit message instead of a NoMethodError exception
# when trying to start Redmine with an old session_store.rb
# TODO: remove it in a later version
def self.session=(*args)
Jean-Philippe Lang
Fixed the path displayed in error message....
r9422 $stderr.puts "Please remove config/initializers/session_store.rb and run `rake generate_secret_token`.\n" +
Jean-Philippe Lang
Displays an explicit message when trying to start Redmine with an old session_store.rb....
r9383 "Setting the session secret with ActionController.session= is no longer supported in Rails 3."
exit 1
end
end
end