This is an automated email from the ASF dual-hosted git repository. clr pushed a commit to branch family-first in repository https://gitbox.apache.org/repos/asf/whimsy.git
commit 9bc830b03a1d32a9e8973a72764d272da7f6d9d1 Author: Craig L Russell <[email protected]> AuthorDate: Sat Jul 24 12:17:21 2021 -0700 Family First support in secretary workbench --- www/secretary/iclaparser.rb | 1 + www/secretary/workbench/views/forms/icla.js.rb | 30 ++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/www/secretary/iclaparser.rb b/www/secretary/iclaparser.rb index 2aa35c2..7e89a09 100644 --- a/www/secretary/iclaparser.rb +++ b/www/secretary/iclaparser.rb @@ -116,6 +116,7 @@ module ICLAParser NAME2FIELD = { 'fullname' => :FullName, 'publicname' => :PublicName, + 'familyfirst' => :FamilyFirst, 'mailingaddress' => :MailingAddress, 'mailingaddress2' => :MailingAddress2, 'postaladdress' => :MailingAddress, diff --git a/www/secretary/workbench/views/forms/icla.js.rb b/www/secretary/workbench/views/forms/icla.js.rb index 5ddb5df..b6ed936 100644 --- a/www/secretary/workbench/views/forms/icla.js.rb +++ b/www/secretary/workbench/views/forms/icla.js.rb @@ -44,6 +44,14 @@ class ICLA < Vue end _tr do + _th 'Family First' + _td do + _input name: 'familyfirst', value: @familyfirst, required: true, + disabled: (@filed or @pdfbusy), onChange: self.changeFamilyFirst + end + end + + _tr do _th 'E-mail' _td do _input name: 'email', value: @email, required: true, type: 'email', @@ -122,7 +130,8 @@ class ICLA < Vue @realname = name @pubname = parsed.PublicName || name - @filename = self.genfilename(name) + @familyfirst = parsed.FamilyFirst || false + @filename = self.genfilename(name, @familyfirst) @email = parsed.EMail || @@headers.from @user = parsed.ApacheID || '' project = parsed.Project @@ -204,12 +213,25 @@ class ICLA < Vue def changeRealName(event) @realname = event.target.value; - @filename = self.genfilename(event.target.value) + @filename = self.genfilename(event.target.value, @familyfirst) + end + + def changeFamilyFirst(event) + @familyfirst = event.target.value; + @filename = self.genfilename(@realname, @familyfirst) end # generate file name from the real name - def genfilename(realname) - return asciize(realname.strip()).downcase().gsub(/\W+/, '-') + def genfilename(realname, familyfirst)) + nominalname = asciize(realname.strip()).downcase().gsub(/\W+/, '-') + if !familyfirst + return nominalname + else + # compute file name with family first; move last name to first + namearray = nominalname.split("-") + namearray.insert(0, namearray(-1)).delete_at(-1) + return namearray.join("-") + end end # when leaving an input field, trigger change event (for Safari)
