summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2017-03-16 18:26:43 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2017-03-16 18:26:43 +0000
commit23131d14f5ed86cac904a695df34dbcd011ecdd0 (patch)
treec8ea06e8c1ff39aa718ec0b1e85ada741cfd0249
parent4cfd5133733a08ebf5ba89aa3994e4a86679c809 (diff)
downloadredmine-23131d14f5ed86cac904a695df34dbcd011ecdd0.tar.gz
redmine-23131d14f5ed86cac904a695df34dbcd011ecdd0.zip
Use helper methods for rendering blocks.
git-svn-id: http://svn.redmine.org/redmine/trunk@16414 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/helpers/my_helper.rb29
-rw-r--r--app/views/my/blocks/_calendar.html.erb3
-rw-r--r--app/views/my/blocks/_documents.html.erb2
-rw-r--r--app/views/my/blocks/_news.html.erb2
-rw-r--r--app/views/my/blocks/_timelog.html.erb5
-rw-r--r--lib/redmine/my_page.rb8
6 files changed, 23 insertions, 26 deletions
diff --git a/app/helpers/my_helper.rb b/app/helpers/my_helper.rb
index e40ccc27d..e49afc21b 100644
--- a/app/helpers/my_helper.rb
+++ b/app/helpers/my_helper.rb
@@ -65,6 +65,7 @@ module MyHelper
end
end
+ # Returns the select tag used to add a block to My page
def block_select_tag(user)
blocks_in_use = user.pref.my_page_layout.values.flatten
options = content_tag('option')
@@ -74,21 +75,22 @@ module MyHelper
select_tag('block', options, :id => "block-select", :onchange => "$('#block-form').submit();")
end
- def calendar_items(startdt, enddt)
- Issue.visible.
+ def render_calendar_block(block, settings)
+ calendar = Redmine::Helpers::Calendar.new(User.current.today, current_language, :week)
+ calendar.events = Issue.visible.
where(:project_id => User.current.projects.map(&:id)).
- where("(start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)", startdt, enddt, startdt, enddt).
+ where("(start_date>=? and start_date<=?) or (due_date>=? and due_date<=?)", calendar.startdt, calendar.enddt, calendar.startdt, calendar.enddt).
includes(:project, :tracker, :priority, :assigned_to).
references(:project, :tracker, :priority, :assigned_to).
to_a
- end
- def documents_items
- Document.visible.order("#{Document.table_name}.created_on DESC").limit(10).to_a
+ render :partial => 'my/blocks/calendar', :locals => {:calendar => calendar, :block => block}
end
- def issues_items(block, settings)
- send "#{block}_items", settings
+ def render_documents_block(block, settings)
+ documents = Document.visible.order("#{Document.table_name}.created_on DESC").limit(10).to_a
+
+ render :partial => 'my/blocks/documents', :locals => {:block => block, :documents => documents}
end
def render_issuesassignedtome_block(block, settings)
@@ -134,17 +136,19 @@ module MyHelper
end
end
- def news_items
- News.visible.
+ def render_news_block(block, settings)
+ news = News.visible.
where(:project_id => User.current.projects.map(&:id)).
limit(10).
includes(:project, :author).
references(:project, :author).
order("#{News.table_name}.created_on DESC").
to_a
+
+ render :partial => 'my/blocks/news', :locals => {:block => block, :news => news}
end
- def timelog_items(settings={})
+ def render_timelog_block(block, settings)
days = settings[:days].to_i
days = 7 if days < 1 || days > 365
@@ -155,7 +159,8 @@ module MyHelper
includes(: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").
to_a
+ entries_by_day = entries.group_by(&:spent_on)
- return entries, days
+ render :partial => 'my/blocks/timelog', :locals => {:block => block, :entries => entries, :entries_by_day => entries_by_day, :days => days}
end
end
diff --git a/app/views/my/blocks/_calendar.html.erb b/app/views/my/blocks/_calendar.html.erb
index 89dde0e01..c85190f2a 100644
--- a/app/views/my/blocks/_calendar.html.erb
+++ b/app/views/my/blocks/_calendar.html.erb
@@ -1,6 +1,3 @@
<h3><%= l(:label_calendar) %></h3>
-<% calendar = Redmine::Helpers::Calendar.new(User.current.today, current_language, :week)
- calendar.events = calendar_items(calendar.startdt, calendar.enddt) %>
-
<%= render :partial => 'common/calendar', :locals => {:calendar => calendar } %>
diff --git a/app/views/my/blocks/_documents.html.erb b/app/views/my/blocks/_documents.html.erb
index a55094cf1..560adca1e 100644
--- a/app/views/my/blocks/_documents.html.erb
+++ b/app/views/my/blocks/_documents.html.erb
@@ -1,3 +1,3 @@
<h3><%=l(:label_document_plural)%></h3>
-<%= render :partial => 'documents/document', :collection => documents_items %>
+<%= render :partial => 'documents/document', :collection => documents %>
diff --git a/app/views/my/blocks/_news.html.erb b/app/views/my/blocks/_news.html.erb
index c478e4196..62a618617 100644
--- a/app/views/my/blocks/_news.html.erb
+++ b/app/views/my/blocks/_news.html.erb
@@ -1,3 +1,3 @@
<h3><%=l(:label_news_latest)%></h3>
-<%= render :partial => 'news/news', :collection => news_items %>
+<%= render :partial => 'news/news', :collection => news %>
diff --git a/app/views/my/blocks/_timelog.html.erb b/app/views/my/blocks/_timelog.html.erb
index 83716d35e..da181c27e 100644
--- a/app/views/my/blocks/_timelog.html.erb
+++ b/app/views/my/blocks/_timelog.html.erb
@@ -1,8 +1,3 @@
-<%
-entries, days = timelog_items(settings)
-entries_by_day = entries.group_by(&:spent_on)
-%>
-
<div class="contextual">
<%= link_to_function l(:label_options), "$('#timelog-settings').toggle();", :class => 'icon-only icon-settings', :title => l(:label_options) %>
</div>
diff --git a/lib/redmine/my_page.rb b/lib/redmine/my_page.rb
index 34195bbcd..02feb54bb 100644
--- a/lib/redmine/my_page.rb
+++ b/lib/redmine/my_page.rb
@@ -24,10 +24,10 @@ module Redmine
'issuesreportedbyme' => {:label => :label_reported_issues},
'issueswatched' => {:label => :label_watched_issues},
'issuequery' => {:label => :label_issue_plural, :max_occurs => 3},
- 'news' => {:label => :label_news_latest, :partial => 'my/blocks/news'},
- 'calendar' => {:label => :label_calendar, :partial => 'my/blocks/calendar'},
- 'documents' => {:label => :label_document_plural, :partial => 'my/blocks/documents'},
- 'timelog' => {:label => :label_spent_time, :partial => 'my/blocks/timelog'}
+ 'news' => {:label => :label_news_latest},
+ 'calendar' => {:label => :label_calendar},
+ 'documents' => {:label => :label_document_plural},
+ 'timelog' => {:label => :label_spent_time}
}
# Returns the available blocks