PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/app/controllers/UserManager.scala

https://github.com/a564941464/play_amz_list
Scala | 94 lines | 69 code | 25 blank | 0 comment | 10 complexity | 73a1ab6172fbc34b8fcaa6826f752f09 MD5 | raw file
  1. package controllers
  2. import play.api._
  3. import play.api.mvc._
  4. import play.api.libs.iteratee.Enumerator
  5. import play.api.mvc.Codec
  6. import play.api.data._
  7. import play.api.data.Forms._
  8. import play.api.mvc._
  9. import com.mongodb.casbah.Imports._
  10. import java.util.Calendar
  11. import java.text._
  12. object UserManager extends Controller {
  13. implicit val myCustomCharset = Codec.javaSupported("utf-8")
  14. def edit_user_act(user_id: String) = Action { request =>
  15. val post_map = request.body.asFormUrlEncoded.get // Map[String, List]
  16. val query = MongoDBObject("_id" -> user_id)
  17. var update = MongoDBObject("is_super"->"false")
  18. for((k,v)<-post_map){
  19. if(k == "permissions" || k == "categories"){
  20. update = update ++ (k->v)
  21. }else{
  22. update = update ++ (k->v(0))
  23. }
  24. }
  25. DB.colls("User").update(query, update)
  26. Redirect("/user_manage.html")
  27. }
  28. def edit_user(user_id: String) = Action {request=>
  29. val query = MongoDBObject("_id" -> user_id)
  30. val user = DB.colls("User").findOne(query).get
  31. Ok(views.html.edit_user(Permissions.actions, Permissions.categories, user))
  32. }
  33. def del_user_act(user_id: String) = Action{ implicit request =>
  34. val query = MongoDBObject("_id" -> user_id)
  35. val result = DB.colls("User").remove(query)
  36. Ok("""{"status":200, "msg":"success"}""")
  37. }
  38. def add_user_act = Action { implicit request =>
  39. val post_map = request.body.asFormUrlEncoded.get // Map[String, List]
  40. var user:Map[String, Any] = Map(
  41. "_id"->(new (java.util.Date).getTime+""),
  42. "is_super"->"false",
  43. "permissions" -> List(),
  44. "categories" -> List()
  45. )
  46. for((k,v)<-post_map){
  47. if(k == "permissions" || k == "categories"){
  48. user += (k->v);
  49. }else{
  50. user += (k->v(0));
  51. }
  52. }
  53. DB.colls("User").insert(user)
  54. Redirect("/user_manage.html")
  55. }
  56. def add_user = Action {request=>
  57. val user_id = request.session.get("user_id").get
  58. val query_user = MongoDBObject("_id" -> user_id)
  59. val user = DB.colls("User").findOne(query_user).get
  60. Ok(views.html.add_user(Permissions.actions, Permissions.categories, user))
  61. }
  62. def user_manage = Action {request=>
  63. val user_list = DB.colls("User").find().toList
  64. val user_id = request.session.get("user_id").get
  65. val query_user = MongoDBObject("_id" -> user_id)
  66. val user = DB.colls("User").findOne(query_user).get
  67. Ok(views.html.user_manage(user_list, user))
  68. }
  69. }