# encoding: utf-8 # # Redmine - project management software # Copyright (C) 2006-2013 Jean-Philippe Lang # # 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. module ActivitiesHelper def sort_activity_events(events) events_by_group = events.group_by(&:event_group) sorted_events = [] events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each do |event| if group_events = events_by_group.delete(event.event_group) group_events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each_with_index do |e, i| sorted_events << [e, i > 0] unless e.event_description.nil? end end end sorted_events end def sort_activity_events_course(events) events_by_group = events.group_by(&:event_group) sorted_events = [] events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each do |event| if group_events = events_by_group.delete(event.event_group) group_events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each_with_index do |e, i| sorted_events << e unless e.event_description.nil? end end end sorted_events end def get_container_type(activity) if activity.act.nil? return ['Unknow',0] end #问卷 if activity.act_type == 'Poll' return ['Course',activity.act.course_id] end #注册 if activity.act_type == 'Principal' return ['Principal',activity.act.id] end #留言 if activity.act_type == 'JournalsForMessage' return [activity.act.jour_type,activity.act.jour_id,activity.act.user_id] end # HomeworkCommon Issue Journal Message News if activity.act.respond_to?('course') && activity.act.course return ['Course',activity.act.course.id] end if activity.act.respond_to?('project') && activity.act.project return ['Project',activity.act.project.id] end # Contest Contestnotification return ['Unknow',0] end end