Merge pull request #2421 from constantine2nd/develop

/bugfix Terms and conditions multiple saving
This commit is contained in:
Simon Redfern 2024-09-10 11:48:25 +02:00 committed by GitHub
commit 0883fabc61
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 3 deletions

View File

@ -1045,7 +1045,7 @@ def restoreSomeSessions(): Unit = {
.map(_.agreementHash).getOrElse(HashUtil.Sha256Hash("not set"))
val agreementText = getWebUiPropsValue("webui_terms_and_conditions", "not set")
val hashedAgreementText = HashUtil.Sha256Hash(agreementText)
if(hashedAgreementTextOfUser == hashedAgreementText) { // Chech terms and conditions
if(hashedAgreementTextOfUser == hashedAgreementText) { // Check terms and conditions
val hashedAgreementTextOfUser =
UserAgreementProvider.userAgreementProvider.vend.getUserAgreement(userId, "privacy_conditions")
.map(_.agreementHash).getOrElse(HashUtil.Sha256Hash("not set"))

View File

@ -70,7 +70,9 @@ class TermsAndConditions extends MdcLoggable {
val agreementText = getWebUiPropsValue("webui_terms_and_conditions", "not set")
// val hashedAgreementText = HashUtil.Sha256Hash(agreementText)
UserAgreementProvider.userAgreementProvider.vend.createOrUpdateUserAgreement(
AuthUser.currentUser.flatMap(_.user.foreign.map(_.userId)).getOrElse(""), "terms_and_conditions", agreementText)
AuthUser.currentUser.flatMap(_.user.foreign.map(_.userId)).getOrElse(""),
"terms_and_conditions",
agreementText)
S.redirectTo("/")
}
}

View File

@ -10,11 +10,13 @@ import net.liftweb.mapper._
import net.liftweb.common.Box.tryo
object MappedUserAgreementProvider extends UserAgreementProvider {
// TODO Change the function name
override def createOrUpdateUserAgreement(userId: String, agreementType: String, agreementText: String): Box[UserAgreement] = {
UserAgreement.find(
By(UserAgreement.UserId, userId),
By(UserAgreement.AgreementType, agreementType)
) match {
// TODO We should be adding an additional record. Not changing existing one.
case Full(existingUser) =>
Full(
existingUser
@ -80,7 +82,7 @@ object UserAgreement extends UserAgreement with LongKeyedMetaMapper[UserAgreemen
agreement =>
tryo {
val hash = HashUtil.Sha256Hash(agreement.agreementText)
agreement.AgreementHash(hash ).save
agreement.AgreementHash(hash)
}
)