Adds helpers for retrieving my page data.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10922 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
45ea24ecad
commit
9230628953
|
@ -18,4 +18,54 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
module MyHelper
|
||||
def calendar_items(startdt, enddt)
|
||||
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).
|
||||
includes(:project, :tracker, :priority, :assigned_to).
|
||||
all
|
||||
end
|
||||
|
||||
def documents_items
|
||||
Document.visible.order("#{Document.table_name}.created_on DESC").limit(10).all
|
||||
end
|
||||
|
||||
def issuesassignedtome_items
|
||||
Issue.visible.open.
|
||||
where(:assigned_to_id => ([User.current.id] + User.current.group_ids)).
|
||||
limit(10).
|
||||
includes(:status, :project, :tracker, :priority).
|
||||
order("#{IssuePriority.table_name}.position DESC, #{Issue.table_name}.updated_on DESC").
|
||||
all
|
||||
end
|
||||
|
||||
def issuesreportedbyme_items
|
||||
Issue.visible.
|
||||
where(:author_id => User.current.id).
|
||||
limit(10).
|
||||
includes(:status, :project, :tracker).
|
||||
order("#{Issue.table_name}.updated_on DESC").
|
||||
all
|
||||
end
|
||||
|
||||
def issueswatched_items
|
||||
Issue.visible.on_active_project.watched_by(User.current.id).recently_updated.limit(10).all
|
||||
end
|
||||
|
||||
def news_items
|
||||
News.visible.
|
||||
where(:project_id => User.current.projects.map(&:id)).
|
||||
limit(10).
|
||||
includes(:project, :author).
|
||||
order("#{News.table_name}.created_on DESC").
|
||||
all
|
||||
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]}).
|
||||
order("#{TimeEntry.table_name}.spent_on DESC, #{Project.table_name}.name ASC, #{Tracker.table_name}.position ASC, #{Issue.table_name}.id ASC").
|
||||
all
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<h3><%= l(:label_calendar) %></h3>
|
||||
|
||||
<% calendar = Redmine::Helpers::Calendar.new(Date.today, current_language, :week)
|
||||
calendar.events = Issue.visible.find :all,
|
||||
:conditions => ["#{Issue.table_name}.project_id in (#{@user.projects.collect{|m| m.id}.join(',')}) AND ((start_date>=? and start_date<=?) or (due_date>=? and due_date<=?))", calendar.startdt, calendar.enddt, calendar.startdt, calendar.enddt],
|
||||
:include => [:project, :tracker, :priority, :assigned_to] unless @user.projects.empty? %>
|
||||
calendar.events = calendar_items(calendar.startdt, calendar.enddt) %>
|
||||
|
||||
<%= render :partial => 'common/calendar', :locals => {:calendar => calendar } %>
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
<h3><%=l(:label_document_plural)%></h3>
|
||||
|
||||
<% project_ids = @user.projects.select {|p| @user.allowed_to?(:view_documents, p)}.collect(&:id) %>
|
||||
<%= render(:partial => 'documents/document',
|
||||
:collection => Document.find(:all,
|
||||
:limit => 10,
|
||||
:order => "#{Document.table_name}.created_on DESC",
|
||||
:conditions => "#{Document.table_name}.project_id in (#{project_ids.join(',')})",
|
||||
:include => [:project])) unless project_ids.empty? %>
|
||||
<%= render :partial => 'documents/document', :collection => documents_items %>
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
<h3><%=l(:label_assigned_to_me_issues)%> (<%= Issue.visible.open.count(:conditions => {:assigned_to_id => ([User.current.id] + User.current.group_ids)})%>)</h3>
|
||||
|
||||
<% assigned_issues = Issue.visible.open.find(:all,
|
||||
:conditions => {:assigned_to_id => ([User.current.id] + User.current.group_ids)},
|
||||
:limit => 10,
|
||||
:include => [ :status, :project, :tracker, :priority ],
|
||||
:order => "#{IssuePriority.table_name}.position DESC, #{Issue.table_name}.updated_on DESC") %>
|
||||
<% assigned_issues = issuesassignedtome_items %>
|
||||
<%= render :partial => 'issues/list_simple', :locals => { :issues => assigned_issues } %>
|
||||
<% if assigned_issues.length > 0 %>
|
||||
<p class="small"><%= link_to l(:label_issue_view_all), :controller => 'issues',
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
<h3><%=l(:label_reported_issues)%> (<%= Issue.visible.count(:conditions => { :author_id => User.current.id }) %>)</h3>
|
||||
|
||||
<% reported_issues = Issue.visible.find(:all,
|
||||
:conditions => { :author_id => User.current.id },
|
||||
:limit => 10,
|
||||
:include => [ :status, :project, :tracker ],
|
||||
:order => "#{Issue.table_name}.updated_on DESC") %>
|
||||
<% reported_issues = issuesreportedbyme_items %>
|
||||
<%= render :partial => 'issues/list_simple', :locals => { :issues => reported_issues } %>
|
||||
<% if reported_issues.length > 0 %>
|
||||
<p class="small"><%= link_to l(:label_issue_view_all), :controller => 'issues',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<h3><%=l(:label_watched_issues)%> (<%= Issue.visible.watched_by(user.id).count %>)</h3>
|
||||
<% watched_issues = Issue.visible.on_active_project.watched_by(user.id).recently_updated.limit(10) %>
|
||||
<% watched_issues = issueswatched_items %>
|
||||
|
||||
<%= render :partial => 'issues/list_simple', :locals => { :issues => watched_issues } %>
|
||||
<% if watched_issues.length > 0 %>
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
<h3><%=l(:label_news_latest)%></h3>
|
||||
|
||||
<%= render(:partial => 'news/news',
|
||||
:collection => News.find(:all,
|
||||
:limit => 10,
|
||||
:order => "#{News.table_name}.created_on DESC",
|
||||
:conditions => "#{News.table_name}.project_id in (#{@user.projects.collect{|m| m.id}.join(',')})",
|
||||
:include => [:project, :author])) unless @user.projects.empty? %>
|
||||
<%= render :partial => 'news/news', :collection => news_items %>
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
<h3><%=l(:label_spent_time)%> (<%= l(:label_last_n_days, 7) %>)</h3>
|
||||
<%
|
||||
entries = TimeEntry.find(:all,
|
||||
:conditions => ["#{TimeEntry.table_name}.user_id = ? AND #{TimeEntry.table_name}.spent_on BETWEEN ? AND ?", @user.id, Date.today - 6, Date.today],
|
||||
:include => [: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")
|
||||
entries = timelog_items
|
||||
entries_by_day = entries.group_by(&:spent_on)
|
||||
%>
|
||||
|
||||
|
|
Loading…
Reference in New Issue