Files
netig.net/lib/authorization.rb
T
2026-11-03 20:21:21 +01:00

31 lines
691 B
Ruby

class Netig
def core_member?
return false unless rodauth.logged_in?
return @core_member unless @core_member.nil?
@core_member = DB[:members]
.join(:memberships, member_id: :id)
.where(
Sequel[:members][:account_id] => rodauth.session_value,
Sequel[:members][:kind] => "individual",
Sequel[:members][:core_member] => true,
Sequel[:memberships][:status] => "accepted"
)
.count
.positive?
end
private
def require_core_member!(r)
rodauth.require_account
return if core_member?
r.halt [
403,
{ "Content-Type" => "text/plain; charset=utf-8" },
["Accès interdit."]
]
end
end