This is an automated email from the ASF dual-hosted git repository.
clr 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 58e35df Family First support in secretary workbench (#120)
58e35df is described below
commit 58e35df90f4387ba2de09e50e3c50eb99c69f736
Author: Craig L Russell
AuthorDate: Wed Aug 11 10:32:35 2021 -0700
Family First support in secretary workbench (#120)
* Family First support in secretary workbench
* Fix file name algorithm
* Add LDAP sn and givenName fields to icla form
* Fix obvious errors
- spurious trailing )
- duplicate function name
* Update icla.js.rb
Fix calling protocol for genldapsn and genldapgivenname
* Make split of public name explicit split(" ")
* remove dependency on puma
* Family first flag implementation for review after testing
* Disable LDAP icla.js.rb form fields
Co-authored-by: Sebb
---
www/secretary/iclaparser.rb| 1 +
www/secretary/workbench/views/forms/icla.js.rb | 93 --
2 files changed, 88 insertions(+), 6 deletions(-)
diff --git a/www/secretary/iclaparser.rb b/www/secretary/iclaparser.rb
index b35bc94..973a6c5 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..6480860 100644
--- a/www/secretary/workbench/views/forms/icla.js.rb
+++ b/www/secretary/workbench/views/forms/icla.js.rb
@@ -31,7 +31,8 @@ class ICLA < Vue
_th 'Real Name'
_td do
_input name: 'realname', value: @realname, required: true,
- disabled: (@filed or @pdfbusy), onChange: self.changeRealName
+ disabled: (@filed or @pdfbusy),
+ onChange: self.changeRealName, onBlur: self.changeRealName
end
end
@@ -39,7 +40,18 @@ class ICLA < Vue
_th 'Public Name'
_td do
_input name: 'pubname', value: @pubname, required: true,
- disabled: (@filed or @pdfbusy), onFocus: lambda {@pubname ||=
@realname}
+ disabled: (@filed or @pdfbusy), onFocus: lambda {@pubname ||=
@realname},
+ onChange: self.changePublicName, onBlur: self.changePublicName
+ end
+end
+
+_tr do
+ _th 'Family First'
+ _td do
+_input name: 'familyfirst', required: true,
+ type: 'checkbox', checked: @familyfirst,
+ disabled: (@filed or @pdfbusy),
+ onChange: self.changeFamilyFirst, onBlur: self.changeFamilyFirst
end
end
@@ -69,6 +81,23 @@ class ICLA < Vue
end
end
+# May be useful in future
+# _tr do
+# _th 'LDAP givenname'
+# _td do
+# _input name: 'ldapgivenname', value: @ldapgivenname,
+# disabled: (@filed or @pdfbusy)
+# end
+# end
+
+# _tr do
+# _th 'LDAP sn'
+# _td do
+# _input name: 'ldapsn', value: @ldapsn,
+# disabled: (@filed or @pdfbusy)
+# end
+# end
+#
_tr do
if @project
_th do
@@ -122,7 +151,11 @@ class ICLA < Vue
@realname = name
@pubname = parsed.PublicName || name
-@filename = self.genfilename(name)
+@pubnamearray = @pubname.split(" ")
+@familyfirst = parsed.FamilyFirst || false
+@ldapsn = self.genldapsn(@pubnamearray, @familyfirst)
+@ldapgivenname = self.genldapgivenname(@pubnamearray, @familyfirst)
+@filename = self.genfilename(name, @familyfirst)
@email = parsed.EMail || @@headers.from
@user = parsed.ApacheID || ''
project = parsed.Project
@@ -202,14 +235,62 @@ class ICLA < Vue
end
end
+ # when real name changes, update file name
def changeRealName(event)
@realname = event.target.value;
-@filename = self.genfilename(event.target.value)
+@filename = self.genfilename(@realname, @familyfirst)
+ end
+
+ # when family first changes, update file name and LDAP default fields
+ def changeFamilyFirst(event)
+@filename = self.genfilename(@realname, @familyfirst)
+@pubnamearray = @pubname.split(' ')
+@ldapsn = self.genldapsn(@pubnamearray, @familyfirst)
+@ldapgivenname = self.genldapgivenname(@pubnamearray, @familyfirst)
+ end
+
+ # when public name changes, update LDAP default fields
+ def changePublicName(event)
+@pubname = event.target.value;
+@pubnamearray =