From 2ed1068177fa15809e87ec129558ef7c3a1df7fa Mon Sep 17 00:00:00 2001 From: Everett Sochowski Date: Tue, 7 Feb 2012 10:06:48 +0000 Subject: [PATCH] Fixed bug that would only allow updates to one alias per page load, and another that would remove aliases updated twice. --- .../src/main/scala/code/snippet/Aliases.scala | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/MavLift/src/main/scala/code/snippet/Aliases.scala b/MavLift/src/main/scala/code/snippet/Aliases.scala index 575301c5c..701ba567e 100644 --- a/MavLift/src/main/scala/code/snippet/Aliases.scala +++ b/MavLift/src/main/scala/code/snippet/Aliases.scala @@ -25,7 +25,7 @@ class Aliases { a1.realValue < a2.realValue } - val publicAliases = { + def publicAliases = { val alis = for{ acc <- currentAccount aliases <- Some(acc.publicAliases.get) @@ -34,7 +34,7 @@ class Aliases { alis.getOrElse(List()).sort(orderByRealValueAtoZ) } - val privateAliases = { + def privateAliases = { val alis = for{ acc <- currentAccount aliases <- Some(acc.privateAliases.get) @@ -46,8 +46,16 @@ class Aliases { def editablePublicAlias(alias: Alias) = { var alVal = alias.aliasValue - def setPublicAliasValue(newValue: String) = { - val newAliases = publicAliases ++ List(Alias(alias.realValue, newValue)) -- List(Alias(alias.realValue, alias.aliasValue)) + def setPublicAliasValue(a: Alias, newValue: String) = { + val pubAl = publicAliases + val newals = List(Alias(a.realValue, newValue)) + val oldals = List(Alias(a.realValue, alias.aliasValue)) + println("currentAL: " + a) + println("currentALnewVAL: " + newValue) + println("pubal: " + pubAl) + println("newals: " + newals) + println("oldals: " + oldals) + val newAliases = publicAliases ++ List(Alias(a.realValue, newValue)) -- List(Alias(a.realValue, alias.aliasValue)) currentAccount match{ case Full(a) => a.publicAliases(newAliases).save case _ => println("error retrieving current account") @@ -55,7 +63,7 @@ class Aliases { } SHtml.ajaxEditable(Text(alVal), SHtml.text(alVal, alVal = _), () =>{ - setPublicAliasValue(alVal) + setPublicAliasValue(alias, alVal) Noop }) }