This is an automated email from the ASF dual-hosted git repository.
rubys pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new d43d842 prep for 20220615 special members meeting
d43d842 is described below
commit d43d8429921124819b5298f98190507ef8bf6a56
Author: Sam Ruby <[email protected]>
AuthorDate: Thu Mar 17 19:18:38 2022 -0400
prep for 20220615 special members meeting
---
www/members/meeting-util.rb | 7 ++++++-
www/members/proxy.cgi | 43 +++++++++++++++++++++++++++++++++++++------
2 files changed, 43 insertions(+), 7 deletions(-)
diff --git a/www/members/meeting-util.rb b/www/members/meeting-util.rb
index d61cb11..5faaa08 100644
--- a/www/members/meeting-util.rb
+++ b/www/members/meeting-util.rb
@@ -27,7 +27,11 @@ class MeetingUtil
# Calculate how many members required to attend first half for quorum
def self.calculate_quorum(mtg_dir)
begin
- num_members = File.read(File.join(mtg_dir, 'record')).each_line.count
+ begin
+ num_members = File.read(File.join(mtg_dir, 'record')).each_line.count
+ rescue
+ num_members = ASF::Member.list.length - ASF::Member.status.length
+ end
quorum_need = (num_members + 2) / 3
num_proxies = Dir[File.join(mtg_dir, 'proxies-received', '*')].count
attend_irc = quorum_need - num_proxies
@@ -118,6 +122,7 @@ class MeetingUtil
attendance['cohorts'] = {}
attendance['unmatched'] = []
attendance['members'].each do |date, ary|
+ next unless date.start_with? '20' # exclude 'active'
ary.each do |nam|
found = iclas.select{|i| i.icla.legal_name == nam}
found = iclas.select{|i| i.icla.name == nam} if found.empty?
diff --git a/www/members/proxy.cgi b/www/members/proxy.cgi
index c9b8414..cb94071 100755
--- a/www/members/proxy.cgi
+++ b/www/members/proxy.cgi
@@ -21,6 +21,7 @@ def emit_instructions(today, cur_mtg_dir, meeting)
Data from the previous meeting on #{meeting} is shown below for
debugging only.
}
end
+ if meeting != '20220615'
_p %{
This form allows you to assign a proxy for the upcoming
Member's Meeting on #{meeting}. If there is any chance you might not be
able
@@ -45,6 +46,28 @@ def emit_instructions(today, cur_mtg_dir, meeting)
_code 'proxies'
_ ' file. The great majority of proxies assigned are for attendance only;
not for voting.'
end
+ else
+ _p do
+ _ "This form allows you to assign a proxy for the upcoming"
+ _ "Member's Meeting on #{meeting}. For this meeting, we encourage"
+ _strong 'every'
+ _ "ASF member to assign a proxy to the ASF Secretary."
+ _ "Attendance to the meeting is completely optional, and you can revoke a"
+ _ "proxy at any time."
+ end
+ _p %{
+ If you submit a proxy, you will still be sent ballots by email,
+ so you will still need to
+ cast your votes by checking your mail and clicking the links.
+ }
+ _p do
+ _ 'Note while the legal proxy form below states your proxy may have your
voting rights, in practice '
+ _strong 'you will still be emailed your ballots'
+ _ ' unless you explicitly mark a \'*\' in the appropriate place in the '
+ _code 'proxies'
+ _ ' file. The great majority of proxies assigned are for attendance only;
not for voting.'
+ end
+ end
num_members, quorum_need, num_proxies, attend_irc =
MeetingUtil.calculate_quorum(cur_mtg_dir)
if num_members
_p do
@@ -57,7 +80,7 @@ def emit_instructions(today, cur_mtg_dir, meeting)
end
# Emit meeting data and form for user to select a proxy - GET
-def emit_form(cur_mtg_dir, _meeting, volunteers, disabled)
+def emit_form(cur_mtg_dir, meeting, volunteers, disabled)
help, copypasta = MeetingUtil.is_user_proxied(cur_mtg_dir, $USER)
user_is_proxy = help && copypasta
_whimsy_panel(user_is_proxy ? "You Are Proxying For Others" : "Select A
Proxy For Upcoming Meeting", style: 'panel-success') do
@@ -107,14 +130,18 @@ def emit_form(cur_mtg_dir, _meeting, volunteers, disabled)
map {|name| name[/(\w+)\.\w+$/, 1]}
_select.combobox.input_large.form_control name: 'proxy' do
- _option 'Select an ASF Member', :selected, value: ''
+ if meeting != '20220615'
+ _option 'Select an ASF Member', :selected, value: ''
+ end
+
ldap_members.sort_by(&:public_name).each do |member|
next if member.id == $USER # No self proxies
next if exclude.include? member.id # Not attending
next unless members_txt[member.id] # Non-members
next if members_txt[member.id]['status'] # Emeritus/Deceased
# Display the availid to users to match volunteers array above
- _option "#{member.public_name} (#{member.id})"
+ _option "#{member.public_name} (#{member.id})",
+ selected: (meeting == '20220615' && member.id ==
'mattsicker')
end
end
end
@@ -124,7 +151,11 @@ def emit_form(cur_mtg_dir, _meeting, volunteers, disabled)
_a 'Read full procedures for Member Meeting', href:
'https://www.apache.org/foundation/governance/members.html#meetings'
end
_div.button_group.text_center do
- _button.btn.btn_primary 'Submit', disabled: disabled
+ if disabled
+ _button.btn.btn_primary 'Submit', :disabled
+ else
+ _button.btn.btn_primary 'Submit'
+ end
end
end
end
@@ -141,8 +172,8 @@ def emit_form(cur_mtg_dir, _meeting, volunteers, disabled)
// convert select into combobox
$('.combobox').combobox();
- // initially disable submit
- $('.btn').prop('disabled', true);
+ // disable submit until a value is selected
+ if ($('.combobox').val() == '') $('.btn').prop('disabled', true);
// enable submit when proxy is chosen
$('*[name="proxy"]').change(function() {