summaryrefslogtreecommitdiffstats
path: root/app/helpers
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2014-10-22 17:37:16 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2014-10-22 17:37:16 +0000
commit2d1866d966d94c688f9cb87c5bf3f096dffac844 (patch)
tree7a733c1cc51448ab69b3f892285305dbfb0ae15e /app/helpers
parenta6ec78a4dc658e3517ed682792016b6530458696 (diff)
downloadredmine-2d1866d966d94c688f9cb87c5bf3f096dffac844.tar.gz
redmine-2d1866d966d94c688f9cb87c5bf3f096dffac844.zip
Merged rails-4.1 branch (#14534).
git-svn-id: http://svn.redmine.org/redmine/trunk@13482 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/application_helper.rb28
-rw-r--r--app/helpers/groups_helper.rb2
-rw-r--r--app/helpers/issues_helper.rb6
-rw-r--r--app/helpers/members_helper.rb2
-rw-r--r--app/helpers/my_helper.rb21
-rw-r--r--app/helpers/projects_helper.rb5
-rw-r--r--app/helpers/queries_helper.rb2
-rw-r--r--app/helpers/search_helper.rb1
-rw-r--r--app/helpers/sort_helper.rb3
-rw-r--r--app/helpers/timelog_helper.rb2
10 files changed, 34 insertions, 38 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 6b5dd08e0..0cb4c4c00 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -138,9 +138,7 @@ module ApplicationHelper
if project.archived?
h(project.name)
elsif options.key?(:action)
- ActiveSupport::Deprecation.warn "#link_to_project with :action option is deprecated and will be removed in Redmine 3.0."
- url = {:controller => 'projects', :action => 'show', :id => project}.merge(options)
- link_to project.name, url, html_options
+ raise "#link_to_project no longer accepts :action option in Redmine 3.0"
else
link_to project.name, project_path(project, options), html_options
end
@@ -157,13 +155,6 @@ module ApplicationHelper
end
end
- # Generates a link to a version
- def link_to_version(version, options = {})
- return '' unless version && version.is_a?(Version)
- options = {:title => format_date(version.effective_date)}.merge(options)
- link_to_if version.visible?, format_version_name(version), version_path(version), options
- end
-
# Helper that formats object for html or text rendering
def format_object(object, html=true, &block)
if block_given?
@@ -185,7 +176,7 @@ module ApplicationHelper
when 'Project'
html ? link_to_project(object) : object.to_s
when 'Version'
- html ? link_to_version(object) : object.to_s
+ html ? link_to(object.name, version_path(object)) : object.to_s
when 'TrueClass'
l(:general_text_Yes)
when 'FalseClass'
@@ -247,7 +238,7 @@ module ApplicationHelper
end
def format_version_name(version)
- if !version.shared? || version.project == @project
+ if version.project == @project
h(version)
else
h("#{version.project} - #{version}")
@@ -502,7 +493,7 @@ module ApplicationHelper
h(Setting.app_title)
else
b = []
- ancestors = (@project.root? ? [] : @project.ancestors.visible.all)
+ ancestors = (@project.root? ? [] : @project.ancestors.visible.to_a)
if ancestors.any?
root = ancestors.shift
b << link_to_project(root, {:jump => current_menu_item}, :class => 'root')
@@ -1217,7 +1208,7 @@ module ApplicationHelper
source
end
end
- super sources, options
+ super *sources, options
end
# Overrides Rails' image_tag with themes and plugins support.
@@ -1250,7 +1241,7 @@ module ApplicationHelper
end
end
end
- super sources, options
+ super *sources, options
end
# TODO: remove this in 2.5.0
@@ -1288,12 +1279,7 @@ module ApplicationHelper
end
def sanitize_anchor_name(anchor)
- if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java'
- anchor.gsub(%r{[^\s\-\p{Word}]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
- else
- # TODO: remove when ruby1.8 is no longer supported
- anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
- end
+ anchor.gsub(%r{[^\s\-\p{Word}]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
end
# Returns the javascript tags that are included in the html layout head
diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb
index 4777328b0..315be99fc 100644
--- a/app/helpers/groups_helper.rb
+++ b/app/helpers/groups_helper.rb
@@ -30,7 +30,7 @@ module GroupsHelper
scope = User.active.sorted.not_in_group(group).like(params[:q])
principal_count = scope.count
principal_pages = Redmine::Pagination::Paginator.new principal_count, 100, params['page']
- principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
+ principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).to_a
s = content_tag('div', principals_check_box_tags('user_ids[]', principals), :id => 'principals')
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index 8d7f9641c..9760a8ebb 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -63,7 +63,7 @@ module IssuesHelper
def render_issue_subject_with_tree(issue)
s = ''
- ancestors = issue.root? ? [] : issue.ancestors.visible.all
+ ancestors = issue.root? ? [] : issue.ancestors.visible.to_a
ancestors.each do |ancestor|
s << '<div>' + content_tag('p', link_to_issue(ancestor, :project => (issue.project_id != ancestor.project_id)))
end
@@ -204,7 +204,7 @@ module IssuesHelper
order("#{Query.table_name}.name ASC").
# Project specific queries and global queries
where(@project.nil? ? ["project_id IS NULL"] : ["project_id IS NULL OR project_id = ?", @project.id]).
- all
+ to_a
end
@sidebar_queries
end
@@ -408,7 +408,7 @@ module IssuesHelper
if association
record = association.class_name.constantize.find_by_id(id)
if record
- record.name.force_encoding('UTF-8') if record.name.respond_to?(:force_encoding)
+ record.name.force_encoding('UTF-8')
return record.name
end
end
diff --git a/app/helpers/members_helper.rb b/app/helpers/members_helper.rb
index 5e98643db..4aae46475 100644
--- a/app/helpers/members_helper.rb
+++ b/app/helpers/members_helper.rb
@@ -22,7 +22,7 @@ module MembersHelper
scope = Principal.active.sorted.not_member_of(project).like(params[:q])
principal_count = scope.count
principal_pages = Redmine::Pagination::Paginator.new principal_count, 100, params['page']
- principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).all
+ principals = scope.offset(principal_pages.offset).limit(principal_pages.per_page).to_a
s = content_tag('div', principals_check_box_tags('membership[user_ids][]', principals), :id => 'principals')
diff --git a/app/helpers/my_helper.rb b/app/helpers/my_helper.rb
index 8e78dfbe9..5917f26ec 100644
--- a/app/helpers/my_helper.rb
+++ b/app/helpers/my_helper.rb
@@ -23,11 +23,12 @@ module MyHelper
where(:project_id => User.current.projects.map(&:id)).
where("(start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)", startdt, enddt, startdt, enddt).
includes(:project, :tracker, :priority, :assigned_to).
- all
+ references(:project, :tracker, :priority, :assigned_to).
+ to_a
end
def documents_items
- Document.visible.order("#{Document.table_name}.created_on DESC").limit(10).all
+ Document.visible.order("#{Document.table_name}.created_on DESC").limit(10).to_a
end
def issuesassignedtome_items
@@ -35,8 +36,9 @@ module MyHelper
where(:assigned_to_id => ([User.current.id] + User.current.group_ids)).
limit(10).
includes(:status, :project, :tracker, :priority).
+ references(:status, :project, :tracker, :priority).
order("#{IssuePriority.table_name}.position DESC, #{Issue.table_name}.updated_on DESC").
- all
+ to_a
end
def issuesreportedbyme_items
@@ -44,12 +46,13 @@ module MyHelper
where(:author_id => User.current.id).
limit(10).
includes(:status, :project, :tracker).
+ references(:status, :project, :tracker).
order("#{Issue.table_name}.updated_on DESC").
- all
+ to_a
end
def issueswatched_items
- Issue.visible.on_active_project.watched_by(User.current.id).recently_updated.limit(10).all
+ Issue.visible.on_active_project.watched_by(User.current.id).recently_updated.limit(10).to_a
end
def news_items
@@ -57,15 +60,17 @@ module MyHelper
where(:project_id => User.current.projects.map(&:id)).
limit(10).
includes(:project, :author).
+ references(:project, :author).
order("#{News.table_name}.created_on DESC").
- all
+ to_a
end
def timelog_items
TimeEntry.
where("#{TimeEntry.table_name}.user_id = ? AND #{TimeEntry.table_name}.spent_on BETWEEN ? AND ?", User.current.id, Date.today - 6, Date.today).
- includes(:activity, :project, {:issue => [:tracker, :status]}).
+ joins(:activity, :project, {:issue => [:tracker, :status]}).
+ references(:activity, :project, {:issue => [:tracker, :status]}).
order("#{TimeEntry.table_name}.spent_on DESC, #{Project.table_name}.name ASC, #{Tracker.table_name}.position ASC, #{Issue.table_name}.id ASC").
- all
+ to_a
end
end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 8e23ccdda..e23ebab99 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -18,6 +18,11 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module ProjectsHelper
+ def link_to_version(version, options = {})
+ return '' unless version && version.is_a?(Version)
+ link_to_if version.visible?, format_version_name(version), version_path(version), options
+ end
+
def project_settings_tabs
tabs = [{:name => 'info', :action => :edit_project, :partial => 'projects/edit', :label => :label_information_plural},
{:name => 'modules', :action => :select_project_modules, :partial => 'projects/settings/modules', :label => :label_module_plural},
diff --git a/app/helpers/queries_helper.rb b/app/helpers/queries_helper.rb
index ca8d2537b..0206b160a 100644
--- a/app/helpers/queries_helper.rb
+++ b/app/helpers/queries_helper.rb
@@ -143,7 +143,7 @@ module QueriesHelper
end
end
- export = FCSV.generate(:col_sep => l(:general_csv_separator)) do |csv|
+ export = CSV.generate(:col_sep => l(:general_csv_separator)) do |csv|
# csv header fields
csv << columns.collect {|c| Redmine::CodesetUtil.from_utf8(c.caption.to_s, encoding) }
# csv lines
diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb
index a39686b3d..15433750a 100644
--- a/app/helpers/search_helper.rb
+++ b/app/helpers/search_helper.rb
@@ -29,7 +29,6 @@ module SearchHelper
result << '...'
break
end
- words = words.mb_chars
if i.even?
result << h(words.length > 100 ? "#{words.slice(0..44)} ... #{words.slice(-45..-1)}" : words)
else
diff --git a/app/helpers/sort_helper.rb b/app/helpers/sort_helper.rb
index cbdc41883..da74aeac2 100644
--- a/app/helpers/sort_helper.rb
+++ b/app/helpers/sort_helper.rb
@@ -84,7 +84,8 @@ module SortHelper
def to_sql
sql = @criteria.collect do |k,o|
if s = @available_criteria[k]
- (o ? s.to_a : s.to_a.collect {|c| append_desc(c)})
+ s = [s] unless s.is_a?(Array)
+ (o ? s : s.collect {|c| append_desc(c)})
end
end.flatten.compact
sql.blank? ? nil : sql
diff --git a/app/helpers/timelog_helper.rb b/app/helpers/timelog_helper.rb
index 02532c3f1..c68d2c0c5 100644
--- a/app/helpers/timelog_helper.rb
+++ b/app/helpers/timelog_helper.rb
@@ -105,7 +105,7 @@ module TimelogHelper
def report_to_csv(report)
decimal_separator = l(:general_csv_decimal_separator)
- export = FCSV.generate(:col_sep => l(:general_csv_separator)) do |csv|
+ export = CSV.generate(:col_sep => l(:general_csv_separator)) do |csv|
# Column headers
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
headers += report.periods