OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/views/activities/index.html.erb

114 lines
5.0 KiB

<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2022 the OpenProject GmbH
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.
OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2013 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See COPYRIGHT and LICENSE files for more details.
++#%>
<%= call_hook :activity_index_head %>
<%= toolbar title: (@author.nil? ? t(:label_activity) : t(:label_user_activity, value: link_to_user(@author))).html_safe,
subtitle: t(:label_date_from_to, start: format_date(@date_to - @days), end: format_date(@date_to-1))
%>
<div id="activity">
<% @events_by_day.keys.sort.reverse.each do |day| %>
<h3><%= format_activity_day(day) %></h3>
<ul class="generic-list">
<% @events_by_day[day].sort { |x, y| y.event_datetime <=> x.event_datetime }.each do |e| -%>
<li class="<%= e.event_type %> <%= User.current.logged? && e.respond_to?(:event_author) && User.current == e.event_author ? 'me' : nil %>">
<div class="title">
<% event_type = e.event_type.start_with?('meeting') ? 'meetings' : e.event_type %>
<% event_type = e.event_type == 'budget' ? 'budget' : event_type %>
<%= icon_wrapper("icon-context icon-#{event_type}", e.event_name) %>
<span class="time"><%= format_time(e.event_datetime.to_time, false) %></span>
<% if (@project.nil? || @project != e.project) && e.project %>
<%= content_tag('span', link_to(e.project.name, e.project), class: 'project') %>
<span> - </span>
<% end %>
<%= link_to format_activity_title(e.event_title), e.event_path%>
</div>
<div class="description"><%= format_activity_description(e.event_description) %></div>
<div class="author">
<%= avatar(e.event_author, {class: 'avatar-mini'}) if e.respond_to?(:event_author) %>
<%= link_to_user(e.event_author) if e.respond_to?(:event_author) %>
</div>
</li>
<% end -%>
</ul>
<% end -%>
</div>
<% if @events_by_day.empty? %>
<%= no_results_box %>
<br>
<% end %>
<div style="float:left;">
<%= link_to_content_update(t(:label_previous),
{ from: (@date_to - @days - 1) },
{title: t(:label_date_from_to, start: format_date(@date_to - 2*@days), end: format_date(@date_to - @days - 1)),
class: 'navigate-left'}) %>
</div>
<div style="float:right;">
<%= link_to_content_update(t(:label_next),
{ from: (@date_to + @days - 1) },
{title: t(:label_date_from_to, start: format_date(@date_to), end: format_date(@date_to + @days - 1)),
class: 'navigate-right'}) unless @date_to >= Date.today %>
</div>
&nbsp;
<%= other_formats_links do |f| %>
<%= f.link_to 'Atom', url: { from: nil }, key: User.current.rss_key %>
<% end %>
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom,
{ format: 'atom', from: nil, key: User.current.rss_key }) %>
<% end %>
<% content_for :sidebar do %>
<%= form_tag({}, method: :get) do %>
<fieldset class="form--fieldset">
<legend class="form--fieldset-legend"><%= t(:description_filter) %></legend>
<p>
<%= hidden_field_tag "event_types[]" %>
<% @activity.event_types.sort_by { |type| t("label_#{type.singularize}_plural") }.each do |t| %>
<%= check_box_tag "event_types[]", t, @activity.scope.include?(t), id: "event_types_#{t}" %>
<label for="event_types_<%=t%>"><%=t("label_#{t.singularize}_plural")%></label>
<br />
<% end %>
</p>
<% if @project && @project.descendants.active.any? %>
<%= hidden_field_tag 'with_subprojects', 0 %>
<p><label><%= check_box_tag 'with_subprojects', 1, @with_subprojects %> <%=t(:label_subproject_plural)%></label></p>
<% end %>
<%= hidden_field_tag('user_id', params[:user_id]) unless params[:user_id].blank? %>
<%= hidden_field_tag('apply', true) %>
<p><%= submit_tag t(:button_apply), class: 'button -small -highlight', name: nil %></p>
</fieldset>
<% end %>
<% end %>
<% html_title(t(:label_activity), @author) -%>