This is an automated email from the ASF dual-hosted git repository.
sebb 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 d45687f Sync from member_data
new cf72bc5 Minimise initial info
d45687f is described below
commit d45687f1748c0f9eccbf8e84a3c6c7aa500cd30d
Author: Sebb <[email protected]>
AuthorDate: Tue Mar 22 23:16:52 2022 +0000
Sync from member_data
---
lib/spec/lib/member_spec.rb | 15 +++++--
lib/whimsy/asf/member.rb | 14 +++----
.../workbench/views/actions/memapp.json.rb | 13 ++----
www/secretary/workbench/views/forms/memapp.js.rb | 47 ----------------------
4 files changed, 23 insertions(+), 66 deletions(-)
diff --git a/lib/spec/lib/member_spec.rb b/lib/spec/lib/member_spec.rb
index 743360c..e646b7b 100644
--- a/lib/spec/lib/member_spec.rb
+++ b/lib/spec/lib/member_spec.rb
@@ -46,13 +46,22 @@ describe ASF::Member do
fields = {fullname: 'Full Name', address: "Line 1\nLine2", availid: 'a-b-c',
email: '[email protected]'}
it "make_entry() should raise error" do
expect { ASF::Member.make_entry(fields.reject{|k,v| k == :fullname}) }.to
raise_error(ArgumentError, ':fullname is required')
- expect { ASF::Member.make_entry(fields.reject{|k,v| k == :address}) }.to
raise_error(ArgumentError, ':address is required')
expect { ASF::Member.make_entry(fields.reject{|k,v| k == :availid}) }.to
raise_error(ArgumentError, ':availid is required')
- expect { ASF::Member.make_entry(fields.reject{|k,v| k == :email}) }.to
raise_error(ArgumentError, ':email is required')
end
it "make_entry(fields) should create entry" do
res = ASF::Member.make_entry(fields)
- expect(res).to eq("Full Name\n Line 1\n Line2\n Email:
[email protected]\n Forms on File: ASF Membership Application\n Avail ID:
a-b-c\n")
+ expect(res).to eq(
+ <<~MEMAPP
+ Full Name
+ Line 1
+ Line2
+ <Country>
+ Email: [email protected]
+ Tel: <phone number>
+ Forms on File: ASF Membership Application
+ Avail ID: a-b-c
+ MEMAPP
+ )
end
it "make_entry({country:}}) should create entry with country" do
res = ASF::Member.make_entry(fields.merge({country: 'UN'}))
diff --git a/lib/whimsy/asf/member.rb b/lib/whimsy/asf/member.rb
index b8ce310..39b3d1a 100644
--- a/lib/whimsy/asf/member.rb
+++ b/lib/whimsy/asf/member.rb
@@ -201,18 +201,18 @@ module ASF
# :fax - optional
def self.make_entry(fields={})
fullname = fields[:fullname] or raise ArgumentError.new(":fullname is
required")
- address = fields[:address] or raise ArgumentError.new(":address is
required")
- availid = fields[:availid] or raise ArgumentError.new(":availid is
required")
- email = fields[:email] or raise ArgumentError.new(":email is
required")
- country = fields[:country] || ''
- tele = fields[:tele] || ''
+ address = fields[:address] || '<postal address>'
+ availid = fields[:availid] or raise ArgumentError.new(":availid is
required")
+ email = fields[:email] || '<email>'
+ country = fields[:country] || '<Country>'
+ tele = fields[:tele] || '<phone number>'
fax = fields[:fax] || ''
[
fullname, # will be prefixed by ' *) '
# Each line of address is indented
- (address.gsub(/^/, ' ').gsub(/\r/, '')),
+ (address.gsub(/^/, ' ').gsub(/\r/, '') unless address.empty?),
(" #{country}" unless country.empty?),
- " Email: #{email}",
+ (" Email: #{email}" unless email.empty?),
(" Tel: #{tele}" unless tele.empty?),
(" Fax: #{fax}" unless fax.empty?),
" Forms on File: ASF Membership Application",
diff --git a/www/secretary/workbench/views/actions/memapp.json.rb
b/www/secretary/workbench/views/actions/memapp.json.rb
index 3ea1113..5b60acc 100644
--- a/www/secretary/workbench/views/actions/memapp.json.rb
+++ b/www/secretary/workbench/views/actions/memapp.json.rb
@@ -13,7 +13,7 @@ message = Mailbox.find(@message)
fileext = File.extname(@selected).downcase if @signature.empty?
# verify that a membership form under that name stem doesn't already exist
-if "#@filename#{fileext}" =~ /\A\w[-\w]*\.?\w*\z/ # check taint requirements
+if "#{@filename}#{fileext}" =~ /\A\w[-\w]*\.?\w*\z/ # check taint requirements
# returns name if it matches as stem or fully (e.g. for directory)
form = ASF::MemApps.search @filename
if form
@@ -38,15 +38,10 @@ _personalize_email(env.user)
# write attachment (+ signature, if present) to the documents/member_apps
# directory
-task "svn commit documents/member_apps/#@filename#{fileext} and update
members.txt" do
+task "svn commit documents/member_apps/#{@filename}#{fileext} and update
members.txt" do
# Construct initial entry:
fields = {
fullname: @fullname,
- address: @addr,
- country: @country,
- email: @email,
- tele: @tele,
- fax: @fax,
availid: @availid,
}
@entry = ASF::Member.make_entry(fields)
@@ -73,7 +68,7 @@ task "svn commit documents/member_apps/#@filename#{fileext}
and update members.t
members.shift
members.push @entry
members_txt[pattern,1] = " *) " + members.join("\n *) ")
- members_txt[/We now number (\d+) active members\./,1] = members.length.to_s
+ members_txt[/We now number (\d+) active members\./, 1] =
members.length.to_s
ASF::Member.sort(members_txt)
end
@@ -121,7 +116,7 @@ task "subscribe to [email protected]" do
vars = {
version: 3, # This must match committers/subscribe.cgi#FORMAT_NUMBER
availid: @availid,
- addr: @email,
+ addr: @availid + '@apache.org', # use ASF email here
listkey: 'members',
member_p: true,
chair_p: ASF.pmc_chairs.include?(user),
diff --git a/www/secretary/workbench/views/forms/memapp.js.rb
b/www/secretary/workbench/views/forms/memapp.js.rb
index 7cffb57..100649e 100644
--- a/www/secretary/workbench/views/forms/memapp.js.rb
+++ b/www/secretary/workbench/views/forms/memapp.js.rb
@@ -42,53 +42,6 @@ class MemApp < Vue
_tr do
_td do
- _label 'Address', for: 'addr'
- end
- _td do
- _textarea rows: 5, name: 'addr', id: 'addr', disabled: @filed
- end
- end
-
- _tr do
- _td do
- _label 'Country', for: 'country'
- end
- _td do
- _input type: :text, name: 'country', id: 'country',
- disabled: @filed
- end
- end
-
- _tr do
- _td do
- _label 'Telephone', for: 'tele'
- end
- _td do
- _input type: :text, name: 'tele', id: 'tele', disabled: @filed
- end
- end
-
- _tr do
- _td do
- _label 'Fax', for: 'fax'
- end
- _td do
- _input type: :text, name: 'fax', id: 'fax', disabled: @filed
- end
- end
-
- _tr do
- _td do
- _label 'E-Mail', for: 'email'
- end
- _td do
- _input type: :email, name: 'email', id: 'email', value: @email,
- disabled: @filed
- end
- end
-
- _tr do
- _td do
_label 'File Name', for: 'filename'
end
_td do