class Netig hash_branch "noyau" do |r| require_core_member!(r) @page_title = "Noyau — NETig" @page_description = "Espace de gestion de l'association NETig." @canonical_url = "https://netig.net/noyau" r.is do r.get do view "noyau" end end r.on "members" do r.is do r.get do @page_title = "Adhérents — Noyau — NETig" @members = DB[:members] .join(:accounts, id: :account_id) .select_all(:members) .select_append(Sequel[:accounts][:email].as(:email)) .order(Sequel[:members][:id]) .all memberships_by_member = DB[:memberships] .order(Sequel.desc(:requested_at), Sequel.desc(:id)) .all .group_by { |membership| membership[:member_id] } @members.each do |member| memberships = memberships_by_member.fetch(member[:id], []) membership = memberships.find do |item| %w[pending accepted].include?(item[:status]) end membership ||= memberships.first member[:membership_status] = membership && membership[:status] end view "noyau/members" end end end end end