diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 992eadc..fd7b66c 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -5,21 +5,14 @@ class MembersController < ApplicationController if page_roles.include?("all") roles = Role.all.collect do |role| - { - "title" => role.title, - "id" => role.id - } + { "title" => role.title, "id" => role.id } end else page_role_status.each do |status_id| page_roles << RoleStatus.find(status_id).role.id.to_s end roles = Role.find(page_roles.uniq).collect do |role| - { - "title" => role.title, - "id" => role.id, - "status" => RoleStatus.where(:role_id=>role, :_id.in=>page_role_status) - } + { "title" => role.title, "id" => role.id, "status" => RoleStatus.where(:role_id=>role, :_id.in=>page_role_status) } end end @@ -29,35 +22,26 @@ class MembersController < ApplicationController if !role['status'].blank? role['status'].each do |status| member_profiles = get_members_by_status(status, role['id']) - status_list << { - "status-title" => status.title, - "members" => member_profiles - } + status_list << { "status-title" => status.title, "members" => member_profiles } end else # Members with status - RoleStatus.order_by(:title=>"desc").where(:role_id=>role['id']).each do |status| + role_status = RoleStatus.order_by(:title=>"desc").where(:role_id=>role['id']) + role_status_ids = role_status.collect{|status| status.id.to_s} + role_status.each do |status| member_profiles = get_members_by_status(status, role['id']) - status_list << { - "status-title" => status.title, - "members" => member_profiles - } + status_list << { "status-title" => status.title, "members" => member_profiles } end # Members without status member_profiles = [] - MemberProfile.where(:role_ids.in=>[role['id']], :role_status_ids.in=>[nil,[]]).collect do |profile| + MemberProfile.not_in(:role_status_ids.in=>role_status_ids).where(:role_ids.in=>[role['id']]).collect do |profile| member_profiles << get_member_data(profile, role['id']) end - status_list << { - "status-title" => "", - "members" => member_profiles - } + status_list << { "status-title" => "", "members" => member_profiles } end - role_list << { - "role-title" => role['title'], - "status-list" => status_list - } + role_list << { "role-title" => role['title'], "status-list" => status_list } end + { "roles" => role_list, "extras" => { diff --git a/app/views/admin/members/_user_basic_passwd.html.erb b/app/views/admin/members/_user_basic_passwd.html.erb index 349133e..4d3b05b 100644 --- a/app/views/admin/members/_user_basic_passwd.html.erb +++ b/app/views/admin/members/_user_basic_passwd.html.erb @@ -23,7 +23,8 @@