OSDN Git Service

Implementation Dependency Injection on the SendMail modules.
[open-pdm-light/PartList.git] / PartsList / PartsList / app / controllers / ReplyController.scala
index 1cffdf5..a7f0221 100644 (file)
@@ -13,8 +13,12 @@ import controllers.services._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
 import scala.collection.immutable.Seq
+import com.google.inject._
+import modules._
 
 object ReplyController extends Controller{
+  val inject = Guice.createInjector(new ServiceModules)
+  val sendMail = inject.getInstance(classOf[SendMail])
   val replyRegistForm = Form(
       mapping(
           "message" -> nonEmptyText,
@@ -32,7 +36,11 @@ object ReplyController extends Controller{
       if(request == null) {
         Ok(views.html.errors.errorNotAuthentication())
       } else {
-        Ok(views.html.createReplyForm(replyRegistForm, notifyId, replyId, replyType, partId, notifyType, state))
+        var logInUser = UserForm("")
+        request.headers.get("remote_user").map { user =>
+          logInUser = UserForm(user)
+          }
+        Ok(views.html.createReplyForm(replyRegistForm.fill(ReplyForm("", logInUser, null)), notifyId, replyId, replyType, partId, notifyType, state))
       }
     }
   }
@@ -62,9 +70,8 @@ object ReplyController extends Controller{
             if(notifyType == 0 || notifyType == 1) {
                val targetPart = notify.part.head
                val users = targetPart.project.head.users
-               val sendMail = SendMail(2, replyUser.email, targetPart.id, 0, notifyType, state)
                for(user <- users) {
-                       sendMail.sendMail(user.email)
+                       sendMail.sendMail(2, replyUser.email, targetPart.id, 0, notifyType, state, user.email)
                }
               }
               // 設計変更通知/依頼の回答であれば、Notifyが紐付くDesin ChangeのdelRelation、addRelationの全ての上品番、
@@ -83,9 +90,8 @@ object ReplyController extends Controller{
                   usersBuffer.:+(user)
                   }
                 }
-              val sendMail = SendMail(2, replyUser.email, 0, notify.designCgange.head.id, notifyType, state)
               for(user <- usersBuffer.distinct) {
-                sendMail.sendMail(user.email)
+                sendMail.sendMail(2, replyUser.email, 0, notify.designCgange.head.id, notifyType, state, user.email)
                }
               }
            }