Skip to content

Commit 427a69c

Browse files
committed
Only active members can add proxies
1 parent 8b32542 commit 427a69c

1 file changed

Lines changed: 18 additions & 13 deletions

File tree

www/members/proxy.cgi

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ require 'date'
1010
require 'tmpdir'
1111
require 'whimsy/asf/meeting-util'
1212

13+
# Fetch members.txt
14+
$members_txt = ASF::Member.list
15+
16+
1317
# Emit basic instructions and details on quorum
1418
def emit_instructions(today, cur_mtg_dir, meeting)
1519
meeting_display = meeting.gsub(%r{\A(\d\d\d\d)(\d\d)(\d\d)\z}, "\\1-\\2-\\3")
@@ -118,9 +122,6 @@ def emit_form(cur_mtg_dir, meeting, volunteers, disabled)
118122
ldap_members = ASF.members
119123
ASF::Person.preload('cn', ldap_members)
120124

121-
# Fetch members.txt
122-
members_txt = ASF::Member.list
123-
124125
# get a list of members who have submitted proxies
125126
exclude = Dir[File.join(cur_mtg_dir,'proxies-received', '*')].
126127
map {|name| name[/(\w+)\.\w+$/, 1]}
@@ -133,8 +134,8 @@ def emit_form(cur_mtg_dir, meeting, volunteers, disabled)
133134
ldap_members.sort_by{|m| m.public_name || '_'}.each do |member|
134135
next if member.id == $USER # No self proxies
135136
next if exclude.include? member.id # Not attending
136-
next unless members_txt[member.id] # Non-members
137-
next if members_txt[member.id]['status'] # Emeritus/Deceased
137+
next unless $members_txt[member.id] # Non-members
138+
next if $members_txt[member.id]['status'] # Emeritus/Deceased
138139
# Display the availid to users to match volunteers array above
139140
_option "#{member.public_name || '?No public name?'} (#{member.id})",
140141
selected: (member.id == secretary_id)
@@ -314,14 +315,18 @@ _html do
314315
emit_instructions(today, cur_mtg_dir, meeting)
315316
}
316317
) do
317-
if _.get?
318-
emit_form(cur_mtg_dir, meeting, ASF::MeetingUtil::getVolunteers(cur_mtg_dir), today > meeting)
319-
else # POST
320-
# WHIMSY-409: improve UI
321-
begin
322-
emit_post(cur_mtg_dir, meeting, _)
323-
rescue ArgumentError => e
324-
_h2_.text_danger {_span.label.label_danger e}
318+
if $members_txt[$USER]['status'] # i.e. not Active
319+
_h2_.text_danger {_span.label.label_danger 'Sorry, but only active members can submit proxies'}
320+
else
321+
if _.get?
322+
emit_form(cur_mtg_dir, meeting, ASF::MeetingUtil::getVolunteers(cur_mtg_dir), today > meeting)
323+
else # POST
324+
# WHIMSY-409: improve UI
325+
begin
326+
emit_post(cur_mtg_dir, meeting, _)
327+
rescue ArgumentError => e
328+
_h2_.text_danger {_span.label.label_danger e}
329+
end
325330
end
326331
end
327332
end

0 commit comments

Comments
 (0)