diff --git a/tools/cldr-apps/js/src/md/cla.md b/tools/cldr-apps/js/src/md/cla.md index 2057b8ddf40..c1b478aef8b 100644 --- a/tools/cldr-apps/js/src/md/cla.md +++ b/tools/cldr-apps/js/src/md/cla.md @@ -1,4 +1,10 @@ -# CLA not needed +# Contributor License Agreement (CLA) -The SurveyTool is not currently requiring a CLA. -For more details about the CLA, see [policy](https://www.unicode.org/policies/licensing_policy.html) +Hello. We need your permission to use the data and information that you submit to the Unicode CLDR Survey Tool. To do this, we need a contributor license agreement (CLA) on file for you or your employer so that Unicode has the required permissions to use your contributions in our products and services. If you are seeing this message, it means we do not have such a CLA on file. If you believe you are already under a Unicode CLA (either your own or your employer’s) and are seeing this message in error, or if you have further questions, please contact [`cldr-cla@unicode.org`](mailto:cldr-cla@unicode.org). + +If you would like to sign Unicode’s standard CLA so that you may contribute to other Unicode projects as well as Survey Tool, please refer to our [IP Policies](https://www.unicode.org/policies/licensing_policy.html) to find out how to get a standard CLA in place. + +*Alternatively*, if you do not wish to sign Unicode’s standard CLA and you wish to contribute only to the CLDR Survey Tool, you may agree to the following terms for your Survey Tool contributions: + +1. You represent and agree that the contributed matter is not proprietary or confidential to you or your employer or any third party; and/or +2. You grant to Unicode and to recipients of products distributed by Unicode a perpetual, irrevocable, unrestricted, worldwide, nonexclusive, no-charge, royalty-free license, without obligation for accounting, to reproduce, prepare derivative works of, publicly display, publicly perform, distribute, make, use, sell, offer to sell, or import that matter for any purpose, with the unrestricted right to sublicense those rights. diff --git a/tools/cldr-apps/js/src/views/SignCla.vue b/tools/cldr-apps/js/src/views/SignCla.vue index 3f3def5191c..e18323424d8 100644 --- a/tools/cldr-apps/js/src/views/SignCla.vue +++ b/tools/cldr-apps/js/src/views/SignCla.vue @@ -1,5 +1,5 @@ @@ -116,6 +161,7 @@ let userEmployer = ref(user?.org); let userSign = ref(0); const radioStyle = { display: "flex", + "padding-bottom": "1em", }; async function loadData() { @@ -211,4 +257,9 @@ async function revoke() { background-color: bisque; font-size: small; } + +.clapage { + padding-left: 2em; + padding-right: 2em; +} diff --git a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/ClaSignature.java b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/ClaSignature.java index 8778c22b831..95a07d3644c 100644 --- a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/ClaSignature.java +++ b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/ClaSignature.java @@ -18,6 +18,9 @@ public final class ClaSignature { public String employer; // May be different than org! public boolean corporate; // signed as corporate + @Schema(required = false, description = "Version of CLDR signed in, or * for n/a") + public String version; // which CLDR version was it signed in? + @Schema(required = false) public Date signed; @@ -59,6 +62,7 @@ public ClaSignature(Organization o) { this.corporate = true; this.signed = new Date(0); this.readonly = true; + this.version = "*"; } public ClaSignature(String string) { @@ -68,5 +72,6 @@ public ClaSignature(String string) { this.corporate = true; this.signed = new Date(0); this.readonly = true; + this.version = "*"; } } diff --git a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserRegistry.java b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserRegistry.java index 937307c905b..eabfca162c1 100644 --- a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserRegistry.java +++ b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserRegistry.java @@ -12,7 +12,15 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; import org.apache.commons.codec.digest.DigestUtils; import org.eclipse.microprofile.openapi.annotations.media.Schema; import org.json.JSONException; @@ -568,6 +576,7 @@ public void signCla(ClaSignature cla) { } if (!cla.valid()) throw new IllegalArgumentException("Invalid CLA"); cla.signed = new Date(); + cla.version = SurveyMain.getNewVersion(); settings().setJson(ClaSignature.CLA_KEY, cla); claSigned = true; } diff --git a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserSettings.java b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserSettings.java index 7193bebabcb..79a4a2c4026 100644 --- a/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserSettings.java +++ b/tools/cldr-apps/src/main/java/org/unicode/cldr/web/UserSettings.java @@ -3,6 +3,7 @@ package org.unicode.cldr.web; import com.google.gson.Gson; +import com.google.gson.GsonBuilder; public abstract class UserSettings implements Comparable { /** @@ -92,7 +93,7 @@ public boolean persistent() { } public void setJson(String name, Object o) { - final Gson gson = new Gson(); + final Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").create(); set(name, gson.toJson(o)); }