@@ -10,6 +10,10 @@ require 'date'
1010require 'tmpdir'
1111require '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
1418def 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