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 <s...@apache.org> 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: 'user@domain.invalid'} 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: user@domain.invalid\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: user@domain.invalid + 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 memb...@apache.org" 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