Merged Rails 2.0 compatibility changes.
Compatibility with Rails 1.2 is preserved. git-svn-id: http://redmine.rubyforge.org/svn/trunk@975 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -90,9 +90,10 @@ class SearchController < ApplicationController
|
||||
end
|
||||
else
|
||||
operator = @all_words ? ' AND ' : ' OR '
|
||||
Project.with_scope(:find => {:conditions => Project.visible_by(User.current)}) do
|
||||
@results += Project.find(:all, :limit => limit, :conditions => [ (["(LOWER(name) like ? OR LOWER(description) like ?)"] * like_tokens.size).join(operator), * (like_tokens * 2).sort] ) if @scope.include? 'projects'
|
||||
end
|
||||
@results += Project.find(:all,
|
||||
:limit => limit,
|
||||
:conditions => [ (["(#{Project.visible_by(User.current)}) AND (LOWER(name) like ? OR LOWER(description) like ?)"] * like_tokens.size).join(operator), * (like_tokens * 2).sort]
|
||||
) if @scope.include? 'projects'
|
||||
# if only one project is found, user is redirected to its overview
|
||||
redirect_to :controller => 'projects', :action => 'show', :id => @results.first and return if @results.size == 1
|
||||
end
|
||||
|
||||
@@ -150,6 +150,11 @@ class Mailer < ActionMailer::Base
|
||||
def render_message(method_name, body)
|
||||
layout = method_name.match(%r{text\.html\.(rhtml|rxml)}) ? 'layout.text.html.rhtml' : 'layout.text.plain.rhtml'
|
||||
body[:content_for_layout] = render(:file => method_name, :body => body)
|
||||
ActionView::Base.new(File.join(template_root, 'mailer'), body, self).render(:file => layout)
|
||||
ActionView::Base.new(template_root, body, self).render(:file => "mailer/#{layout}")
|
||||
end
|
||||
|
||||
# Makes partial rendering work with Rails 1.2 (retro-compatibility)
|
||||
def self.controller_path
|
||||
''
|
||||
end unless respond_to?('controller_path')
|
||||
end
|
||||
|
||||
@@ -20,7 +20,7 @@ class Project < ActiveRecord::Base
|
||||
STATUS_ACTIVE = 1
|
||||
STATUS_ARCHIVED = 9
|
||||
|
||||
has_many :members, :dependent => :delete_all, :include => :user, :conditions => "#{User.table_name}.status=#{User::STATUS_ACTIVE}"
|
||||
has_many :members, :include => :user, :conditions => "#{User.table_name}.status=#{User::STATUS_ACTIVE}"
|
||||
has_many :users, :through => :members
|
||||
has_many :custom_values, :dependent => :delete_all, :as => :customized
|
||||
has_many :enabled_modules, :dependent => :delete_all
|
||||
@@ -62,6 +62,8 @@ class Project < ActiveRecord::Base
|
||||
validates_length_of :identifier, :in => 3..20
|
||||
validates_format_of :identifier, :with => /^[a-z0-9\-]*$/
|
||||
|
||||
before_destroy :delete_all_members
|
||||
|
||||
def identifier=(identifier)
|
||||
super unless identifier_frozen?
|
||||
end
|
||||
@@ -129,6 +131,11 @@ class Project < ActiveRecord::Base
|
||||
children.select {|child| child.active?}
|
||||
end
|
||||
|
||||
# Deletes all project's members
|
||||
def delete_all_members
|
||||
Member.delete_all(['project_id = ?', id])
|
||||
end
|
||||
|
||||
# Users issues can be assigned to
|
||||
def assignable_users
|
||||
members.select {|m| m.role.assignable?}.collect {|m| m.user}.sort
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<%= l(:text_issue_added, "##{@issue.id}") %>
|
||||
<hr />
|
||||
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => "issue_text_html", :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<%= l(:text_issue_added, "##{@issue.id}") %>
|
||||
----------------------------------------
|
||||
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => "issue_text_plain", :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
</ul>
|
||||
<%= textilizable(@journal.notes) %>
|
||||
<hr />
|
||||
<%= render :file => "_issue_text_html", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => "issue_text_html", :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
<% end %>
|
||||
<%= @journal.notes if @journal.notes? %>
|
||||
----------------------------------------
|
||||
<%= render :file => "_issue_text_plain", :use_full_path => true, :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
<%= render :partial => "issue_text_plain", :locals => { :issue => @issue, :issue_url => @issue_url } %>
|
||||
|
||||
Reference in New Issue
Block a user