pyc-website
main website for pyc inc.
git clone https://9o.is/git/pyc-website.git
commit 5cc054de6452a100b8f0779cc209ebe3c64babe4 parent bc48886ec8e68c8aedc5fe11a7b9ad09f4b42f04 Author: Jul <jul@9o.is> Date: Wed, 28 May 2014 16:23:39 -0400 parse json correctly in user registration (fix issue #23) Diffstat:
| M | src/main/scala/inc/pyc/snippet/UserSnip.scala | | | 42 | +++++++++++++++++++++++++----------------- |
1 file changed, 25 insertions(+), 17 deletions(-)
diff --git a/src/main/scala/inc/pyc/snippet/UserSnip.scala b/src/main/scala/inc/pyc/snippet/UserSnip.scala @@ -81,7 +81,7 @@ class UserLogin extends AngularSnippet with AngularImplicits { case _ => NgAlert.danger( <i class="fa-fw fa fa-thumbs-o-down"></i> ++ - <p>Invalid Credentials:</p> ++ + <span>Invalid Credentials:</span> ++ <p>Assure your email and password are correct.</p>, Nil) } } @@ -153,32 +153,40 @@ class PasswordRecovery extends AngularSnippet with AngularImplicits { } } -class UserRegistration extends AngularSnippet { +class UserRegistration extends AngularSnippet with AngularImplicits { def roundTrips: List[RoundTripInfo] = List("submit" -> submit _) def submit(model: JValue): JValue = { - val rec = User.createRecord - rec.setFieldsFromJValue(model) - rec.password(Helpers.randomString(20)) - rec.password.hashIt - - rec.validate match { - case Nil => - rec.save() - User.sendLoginToken(rec) + for { + JString(e) <- model \ "email" + JString(fname) <- model \ "fname" + JString(lname) <- model \ "lname" + JString(username) <- model \ "username" + } yield { + val email = e.toLowerCase.trim + val user = User.createRecord + user.email(email).fname(fname).lname(lname).username(username) + user.password(Helpers.randomString(20)) + user.password.hashIt + + user.validate match { + case Nil => + user.save() + User.sendLoginToken(user) - NgAlert.success( + NgAlert.success( <i class="fa-fw fa fa-thumbs-o-up"></i> ++ - <span>Thank you for registering, {rec.fname.get}.</span> ++ + <span>Thank you for registering, {user.fname.get}.</span> ++ <span> An email has been sent for you to log in.</span> - ) - case errors => - NgAlert.danger( + ) + case errors => + NgAlert.danger( <i class="fa-fw fa fa-thumbs-o-down"></i> ++ <span>Your application could not be processed.</span>, errors - ) + ) + } } } }