diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2017-03-16 18:26:43 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2017-03-16 18:26:43 +0000 |
commit | 23131d14f5ed86cac904a695df34dbcd011ecdd0 (patch) | |
tree | c8ea06e8c1ff39aa718ec0b1e85ada741cfd0249 | |
parent | 4cfd5133733a08ebf5ba89aa3994e4a86679c809 (diff) | |
download | redmine-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.rb | 29 | ||||
-rw-r--r-- | app/views/my/blocks/_calendar.html.erb | 3 | ||||
-rw-r--r-- | app/views/my/blocks/_documents.html.erb | 2 | ||||
-rw-r--r-- | app/views/my/blocks/_news.html.erb | 2 | ||||
-rw-r--r-- | app/views/my/blocks/_timelog.html.erb | 5 | ||||
-rw-r--r-- | lib/redmine/my_page.rb | 8 |
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 |