diff options
author | Heiko Bernloehr <Heiko.Bernloehr@FreeIT.de> | 2013-01-11 00:52:24 +0100 |
---|---|---|
committer | Heiko Bernloehr <Heiko.Bernloehr@FreeIT.de> | 2013-01-11 02:29:06 +0100 |
commit | ea8b774ac3dd37927f62fc2a378476533fc6b8b3 (patch) | |
tree | c2c503061bad7c3b6235c4b453d0bba4a1cf5ced | |
parent | 4f43c1ceb5c45ad57c2332093bf62901cf676fa3 (diff) | |
download | ecs2-ea8b774ac3dd37927f62fc2a378476533fc6b8b3.tar.gz ecs2-ea8b774ac3dd37927f62fc2a378476533fc6b8b3.zip |
Group participants list by organization.
-rw-r--r-- | app/controllers/admin/participants_controller.rb | 10 | ||||
-rw-r--r-- | app/views/admin/participants/list.html.haml | 32 |
2 files changed, 22 insertions, 20 deletions
diff --git a/app/controllers/admin/participants_controller.rb b/app/controllers/admin/participants_controller.rb index 5362a2a..1c40592 100644 --- a/app/controllers/admin/participants_controller.rb +++ b/app/controllers/admin/participants_controller.rb @@ -42,20 +42,16 @@ class Admin::ParticipantsController < ApplicationController when "true" @list_anonymous=true @list_participants_count = Participant.all.count - Participant.find(:all).uniq.sort{|x,y| x.id <=> y.id } + Participant.find(:all).uniq when "false" @list_anonymous=false @list_participants_count = Participant.all.count - @list_participants_anonymous_count - Participant.without_anonymous.uniq.sort{|x,y| x.id <=> y.id } + Participant.without_anonymous.uniq else @list_anonymous=false @list_participants_count = Participant.all.count - @list_participants_anonymous_count - Participant.without_anonymous.uniq.sort{|x,y| x.id <=> y.id } + Participant.without_anonymous.uniq end - #@participants=Participant.find(:all).uniq.sort{|x,y| x.id <=> y.id } - #@participants_without_anonymous=Participant.without_anonymous.uniq.sort{|x,y| x.id <=> y.id } - #@participants_anonymous=Participant.anonymous.uniq.sort{|x,y| x.id <=> y.id } - #pp params end def show diff --git a/app/views/admin/participants/list.html.haml b/app/views/admin/participants/list.html.haml index 618312f..f4a5640 100644 --- a/app/views/admin/participants/list.html.haml +++ b/app/views/admin/participants/list.html.haml @@ -1,5 +1,5 @@ -# - Copyright (C) 2007, 2008, 2009, 2010 Heiko Bernloehr (FreeIT.de). + Copyright (C) 2007, 2013 Heiko Bernloehr (FreeIT.de). This file is part of ECS. @@ -28,22 +28,28 @@ %p %table.list %tr.table-resource-label + %th.box2 Organi-<br/>zation: %th.box2 ID: %th.box2 Name: %th.box2 Description (optional): - %th.box2 Organi-<br/>zation: %th.box2 Self-<br/>routing: %th.box2(align="center") Operations: %tr - - for participant in @participants - %tr{:class => [cycle('list-line-odd', 'list-line-even')]} - %td= participant.id - %td= participant.name - %td= truncate(participant.description, :length => 80) - %td.center= participant.organization.abrev - %td.center= check_box_tag "participant[community_selfrouting]",1,participant.community_selfrouting, :disabled => true - %td - = link_to 'Show', admin_participant_url(:id => participant) - = link_to 'Edit', edit_admin_participant_url(:id => participant) - = link_to 'Destroy', admin_participant_url(:id => participant),:confirm => 'Are you sure?', :method => :delete + - @participants.group_by(&:organization_id).each do |orgid,participants| + - org_printed= false + - participants.each do |participant| + %tr{:class => [cycle('list-line-odd', 'list-line-even')]} + - if org_printed + %td.center " + - else + %td= Organization.find(orgid).abrev + %td.center= participant.id + %td= participant.name + %td= truncate(participant.description, :length => 80) + %td.center= check_box_tag "participant[community_selfrouting]",1,participant.community_selfrouting, :disabled => true + %td + = link_to 'Show', admin_participant_url(:id => participant) + = link_to 'Edit', edit_admin_participant_url(:id => participant) + = link_to 'Destroy', admin_participant_url(:id => participant),:confirm => 'Are you sure?', :method => :delete + - org_printed= true |