diff --git a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java index e38e7d1c1d1bfeb3bd8bf509ca6b4a193f2bf311..7937c6f9a5dfb0b05b81c2b7e55250ca9fa9b9fe 100644 --- a/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java +++ b/model/src/main/java/lcsb/mapviewer/model/user/ConfigurationElementType.java @@ -165,6 +165,11 @@ public enum ConfigurationElementType { + "(\"General overlays\") on this MINERVA server contain Protected Health Information (as defined in and subject to HIPAA).", "", ConfigurationElementEditType.STRING, false), + /** + * File where legend 4/4 is stored. + */ + TERMS_OF_USE("Terms of use file", "resources/other/terms_of_use.pdf", ConfigurationElementEditType.URL, false), + ; /** diff --git a/model/src/main/java/lcsb/mapviewer/model/user/User.java b/model/src/main/java/lcsb/mapviewer/model/user/User.java index 216c7837dbf52005d912857520f45af158284698..65d41b9972dd369814bf13b56f624c1ec4ec768e 100644 --- a/model/src/main/java/lcsb/mapviewer/model/user/User.java +++ b/model/src/main/java/lcsb/mapviewer/model/user/User.java @@ -92,6 +92,9 @@ public class User implements Serializable { */ private boolean removed = false; + @Column(name="terms_of_use_consent") + private boolean termsOfUseConsent = false; + /** * Set of user privileges. */ @@ -333,4 +336,12 @@ public class User implements Serializable { this.simpleColor = simpleColor; } + public boolean isTermsOfUseConsent() { + return termsOfUseConsent; + } + + public void setTermsOfUseConsent(boolean termsOfUseConsent) { + this.termsOfUseConsent = termsOfUseConsent; + } + } diff --git a/persist/src/db/11.1.0/fix_db_20180525.sql b/persist/src/db/11.1.0/fix_db_20180525.sql new file mode 100644 index 0000000000000000000000000000000000000000..70350604e3100f5731f53e5b0162df1098da67f7 --- /dev/null +++ b/persist/src/db/11.1.0/fix_db_20180525.sql @@ -0,0 +1 @@ +alter table user_table add column terms_of_use_consent boolean default false; diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java index bcd07b094b7ae9854fe2952e8f656493de13458f..d5194da508f70e18911e5530e9036ddd1bd19f7d 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java @@ -79,6 +79,7 @@ public class UserRestImpl { columnsSet.add("simpleColor"); columnsSet.add("removed"); columnsSet.add("privileges"); + columnsSet.add("termsOfUseConsent"); } else { for (String str : columns.split(",")) { columnsSet.add(str); @@ -108,8 +109,10 @@ public class UserRestImpl { value = user.getMaxColor(); } else if (column.equals("simplecolor")) { value = user.getSimpleColor(); - } else if (column.equals("removed")) { - value = user.isRemoved(); + } else if (column.equals("removed")) { + value = user.isRemoved(); + } else if (column.equals("termsOfUseConsent")) { + value = user.isTermsOfUseConsent(); } else if (column.equals("privileges") && admin) { value = preparePrivileges(user); } else {