OSDN Git Service

Implementation the Authentication Error.
[open-pdm-light/PartList.git] / PartsList / PartsList / app / controllers / DesignChangeController.scala
index ac20d43..71bb351 100644 (file)
@@ -16,7 +16,7 @@ import models.PartRelation
 
 object DesignChangeController extends Controller{
    val Home = Redirect(routes.DesignChangeController.list(0,""))
-   val Home2 = Redirect(routes.PartsListController.index(0,0,""))
+   val Home2 = Redirect(routes.PartsListController.index(0,0,"",""))
 
    val designChangeRegistForm = Form(
       mapping(
@@ -30,21 +30,29 @@ object DesignChangeController extends Controller{
             "partsListBeanBefore" -> mapping(
                 "parent" -> text,
                 "child" -> text,
-                "quantity" -> longNumber
+                "quantity" -> longNumber,
+                "relationKey" -> text
                 )(PartsListBean.apply)(PartsListBean.unapply),
               "partsListBeanAfter" -> mapping(
                   "parent" -> nonEmptyText,
                   "child" -> text,
-                  "quantity" -> longNumber
+                  "quantity" -> longNumber,
+                  "relationKey" -> text
                   )(PartsListBean.apply)(PartsListBean.unapply),
             "dcno" -> nonEmptyText
          )(DesignChangeRelationForm.apply)(DesignChangeRelationForm.unapply)
      )
 
   
-  def create = Action { implicit request =>
-    Ok(views.html.createDesignChangeForm(designChangeRegistForm))
-  }
+  def create = AuthAction {
+     Action { implicit request =>
+       if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+       } else {
+         Ok(views.html.createDesignChangeForm(designChangeRegistForm))
+        }
+      }
+   }
   
   def designChangeCoverRegistration() = Action { implicit request =>
     designChangeRegistForm.bindFromRequest.fold(
@@ -58,20 +66,26 @@ object DesignChangeController extends Controller{
      )
   }
   
-  def designChangeCoverModify(designChangeId: Long, dcSeq: Long, message: String) = Action { implicit request =>
-    inTransaction {
-      var partBuffer = ArrayBuffer[PartsListBean]()
-      val designChange = DesignChangeManager().getById(designChangeId)
-      val designChangeForm = DesignChangeForm(designChange.dcNo, designChange.dcDescription)
-      val designChangeBuffer = DesignChangeManager().getDesinChangeInformation(designChange)
-      if(dcSeq != 0) {
-        val delRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcSeq).head
-        for(returnPartBuffer <- PartRecursion().up(delRelation.child.head, 1)) {
-          partBuffer += returnPartBuffer
+  def designChangeCoverModify(designChangeId: Long, dcSeq: Long, message: String) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+      } else {
+        inTransaction {
+          var partBuffer = ArrayBuffer[PartsListBean]()
+          val designChange = DesignChangeManager().getById(designChangeId)
+          val designChangeForm = DesignChangeForm(designChange.dcNo, designChange.dcDescription)
+          val designChangeBuffer = DesignChangeManager().getDesinChangeInformation(designChange)
+          if(dcSeq != 0) {
+            val delRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcSeq).head
+            for(returnPartBuffer <- PartRecursion().up(delRelation.child.head, 1)) {
+              partBuffer += returnPartBuffer
+              }
+            }
+          Ok(views.html.updateDesignChangeForm(designChangeRegistForm.fill(designChangeForm), designChangeId, designChangeBuffer, designChange.addPartRelation, partBuffer, dcSeq, message))
+          }
         }
       }
-      Ok(views.html.updateDesignChangeForm(designChangeRegistForm.fill(designChangeForm), designChangeId, designChangeBuffer, designChange.addPartRelation, partBuffer, dcSeq, message))
-    }
   }
 
   def designChangeCoverModification(id: Long) = Action{ implicit request =>
@@ -86,12 +100,18 @@ object DesignChangeController extends Controller{
     )
   }
   
-  def list(page: Int, key: String) = Action { implicit request =>
-    inTransaction {
-      val row = Integer.decode(Messages("list.row"))
-      val buff = DesignChangeManager().list(key)
-      Ok(views.html.designchangelist(buff.page(page*row, row), buff.size, key, page))
-    }
+  def list(page: Int, key: String) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())        
+      } else {
+        inTransaction {
+          val row = Integer.decode(Messages("list.row"))
+          val buff = DesignChangeManager().list(key)
+          Ok(views.html.designchangelist(buff.page(page*row, row), buff.size, key, page))
+          }
+        }
+      }
   }
   
   def designChangeCancel(id: Long) = Action { 
@@ -101,37 +121,49 @@ object DesignChangeController extends Controller{
      }
   }
   
-  def designChangeCancelByLine(designChangeId: Long, delParentName: String, delChildName: String, addParentName: String, addChildName: String) = Action {
-    inTransaction {
-      val designChange = DesignChangeManager().getById(designChangeId)
-      if(!delParentName.isEmpty()) {
-        val delParent = PartManager().getByName(delParentName)
-        val delChild = PartManager().getByName(delChildName)
-        val cancelDelRelation = designChange.delPartRelation.where(pr => pr.parentId === delParent.id and pr.childId === delChild.id).head
-        DesignChangeManager().designChangeDelCancelBySeq(designChangeId, cancelDelRelation.dcSeq)
-      }
-      if(!addParentName.isEmpty()) {
-        val addParent = PartManager().getByName(addParentName)
-        val addChild = PartManager().getByName(addChildName)
-        val cancelAddRelation = designChange.addPartRelation.where(pr => pr.parentId === addParent.id and pr.childId === addChild.id).head
-        DesignChangeManager().designChangeAddCancelBySeq(designChangeId, cancelAddRelation.dcSeq)
+  def designChangeCancelByLine(designChangeId: Long, delParentName: String, delChildName: String, addParentName: String, addChildName: String) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())        
+      } else {
+        inTransaction {
+          val designChange = DesignChangeManager().getById(designChangeId)
+          if(!delParentName.isEmpty()) {
+            val delParent = PartManager().getByName(delParentName)
+            val delChild = PartManager().getByName(delChildName)
+            val cancelDelRelation = designChange.delPartRelation.where(pr => pr.parentId === delParent.id and pr.childId === delChild.id).head
+            DesignChangeManager().designChangeDelCancelBySeq(designChangeId, cancelDelRelation.dcSeq)
+            }
+          if(!addParentName.isEmpty()) {
+            val addParent = PartManager().getByName(addParentName)
+            val addChild = PartManager().getByName(addChildName)
+            val cancelAddRelation = designChange.addPartRelation.where(pr => pr.parentId === addParent.id and pr.childId === addChild.id).head
+            DesignChangeManager().designChangeAddCancelBySeq(designChangeId, cancelAddRelation.dcSeq)
+            }
+          }
+        Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, 0, ""))
       }
-    }
-    Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, 0, ""))    
+  }
   }
   
-  def designChangeForm(parentName:String, childName:String) = Action { implicit request =>
-    inTransaction {
-      var designChangeRelationForm = DesignChangeRelationForm(null, null, "")
-       // 設計変更追加の場合、変更前の上位品番はセットしない。
-      if(childName.isEmpty()) {
-        designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean("", childName), generatePartsListBean(parentName, childName), "")
+  def designChangeForm(parentName:String, childName:String, relationKey:String) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
       } else {
-        designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean(parentName, childName), generatePartsListBean(parentName, childName), "")
-       }
-      Ok(views.html.designChangeRelationForm(designChangeRelationRegistForm.fill(designChangeRelationForm), ""))
+        inTransaction {
+          var designChangeRelationForm = DesignChangeRelationForm(null, null, "")
+            // 設計変更追加の場合、変更前の上位品番はセットしない。
+          if(childName.isEmpty()) {
+            designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean("", childName, relationKey), generatePartsListBean(parentName, childName, relationKey), "")
+          } else {
+            designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean(parentName, childName, relationKey), generatePartsListBean(parentName, childName, relationKey), "")
+           }
+          Ok(views.html.designChangeRelationForm(designChangeRelationRegistForm.fill(designChangeRelationForm), ""))
+         }
       }
        }
+  }
 
        def designChange() = Action { implicit request =>
          designChangeRelationRegistForm.bindFromRequest.fold(
@@ -149,50 +181,73 @@ object DesignChangeController extends Controller{
          )
        }
 
-  def designChangeAppend(designChangeId: Long, dcSeq: Long, targetParentName: String) = Action {
-    inTransaction {
-      val designChange = DesignChangeManager().getById(designChangeId)
-      val delRelation =designChange.delPartRelation.where(pr => pr.dcSeq === dcSeq).head 
-      val addRelation =designChange.addPartRelation.where(pr => pr.dcSeq === dcSeq).head 
-      val delPart = delRelation.child.head
-      val addPart = addRelation.child.head
-      val ParentPart = PartManager().getByName(targetParentName)
-      val delPartsListBean = PartsListBean(ParentPart.name, delPart.name, delRelation.quantity)
-      val addPartsListBean = PartsListBean(ParentPart.name, addPart.name, addRelation.quantity)
-      val data = DesignChangeRelationForm(delPartsListBean, addPartsListBean, designChange.dcNo)
-      val message = DesignChangeManager().designChange(data)
-      if(message == null) {
-        Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, dcSeq, ""))
+  def designChangeAppend(designChangeId: Long, dcSeq: Long, targetParentName: String) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
       } else {
-        Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, dcSeq, message))
+        inTransaction {
+          val designChange = DesignChangeManager().getById(designChangeId)
+          val ParentPart = PartManager().getByName(targetParentName)
+          val delRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcSeq).head
+          val delPart = delRelation.child.head
+          val delPartsListBean = PartsListBean(ParentPart.name, delPart.name, delRelation.quantity, delRelation.relationKey)
+          val addRelations = designChange.addPartRelation.where(pr => pr.dcSeq === dcSeq)
+          var addPartsListBean = PartsListBean("", "", 0, "")
+          // 削除設計変更の場合、addRelationの取得にはいかない
+          if(addRelations.size !=0) {
+            val addRelation = addRelations.head
+            val addPart = addRelation.child.head
+            addPartsListBean = PartsListBean(ParentPart.name, addPart.name, addRelation.quantity, addRelation.relationKey)
+          } else {
+            addPartsListBean = PartsListBean(ParentPart.name, "", 0, "")
+           }
+          val data = DesignChangeRelationForm(delPartsListBean, addPartsListBean, designChange.dcNo)
+          val message = DesignChangeManager().designChange(data)
+          if(message == null) {
+            Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, dcSeq, ""))
+          } else {
+            Redirect(routes.DesignChangeController.designChangeCoverModify(designChangeId, dcSeq, message))
+           }
+         }
       }
     }
   }
   
-  def designChangeRealtionModify(designChangeId: Long, dcDelSeq: Long, dcAddSeq: Long) = Action { implicit request =>
-    inTransaction {
-       var targetDelRelation = PartRelation(0, 0, 0, 0, 0, 0)
-       var targetAddRelation = PartRelation(0, 0, 0, 0, 0, 0)
-       var delParentNo = ""
-       var delChildNo = ""
-       var addParentNo = ""
-       var addChildNo = ""
-       val designChange = DesignChangeManager().getById(designChangeId)
-       if(dcDelSeq != 0) {
-               targetDelRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcDelSeq).head
-               delParentNo = targetDelRelation.parent.head.name
-               delChildNo = targetDelRelation.child.head.name
-       }
-       if(dcAddSeq != 0) {
-               targetAddRelation = designChange.addPartRelation.where(pr => pr.dcSeq === dcAddSeq).head
-               addParentNo = targetAddRelation.parent.head.name
-               addChildNo = targetAddRelation.child.head.name
-       } else if(dcDelSeq != 0) {
-               targetDelRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcDelSeq).head
-               addParentNo = targetDelRelation.parent.head.name
-       }
-       val designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean(delParentNo, delChildNo), generatePartsListBean(addParentNo, addChildNo), designChange.dcNo)
-       Ok(views.html.updateDesignChangeRelationForm(designChangeRelationRegistForm.fill(designChangeRelationForm), designChangeId, addChildNo, ""))
+  def designChangeRealtionModify(designChangeId: Long, dcDelSeq: Long, dcAddSeq: Long) = AuthAction {
+    Action { implicit request =>
+      if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+      } else {
+        inTransaction {
+          var targetDelRelation = PartRelation(0, 0, 0, "", 0, 0, 0)
+          var targetAddRelation = PartRelation(0, 0, 0, "", 0, 0, 0)
+          var delParentNo = ""
+          var delChildNo = ""
+          var delRelationKey = ""
+          var addParentNo = ""
+          var addChildNo = ""
+          var addRelationKey = ""
+          val designChange = DesignChangeManager().getById(designChangeId)
+               if(dcDelSeq != 0) {
+                 targetDelRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcDelSeq).head
+                 delParentNo = targetDelRelation.parent.head.name
+                 delChildNo = targetDelRelation.child.head.name
+                 delRelationKey = targetDelRelation.relationKey
+               }
+               if(dcAddSeq != 0) {
+                 targetAddRelation = designChange.addPartRelation.where(pr => pr.dcSeq === dcAddSeq).head
+                 addParentNo = targetAddRelation.parent.head.name
+                 addChildNo = targetAddRelation.child.head.name
+                 addRelationKey = targetAddRelation.relationKey
+               } else if(dcDelSeq != 0) {
+                 targetDelRelation = designChange.delPartRelation.where(pr => pr.dcSeq === dcDelSeq).head
+                 addParentNo = targetDelRelation.parent.head.name
+               }
+               val designChangeRelationForm = DesignChangeRelationForm(generatePartsListBean(delParentNo, delChildNo, delRelationKey), generatePartsListBean(addParentNo, addChildNo, addRelationKey), designChange.dcNo)
+               Ok(views.html.updateDesignChangeRelationForm(designChangeRelationRegistForm.fill(designChangeRelationForm), designChangeId, addChildNo, ""))
+         }
+       }
     }
   }
   
@@ -213,11 +268,11 @@ object DesignChangeController extends Controller{
     
   }
 
-       def generatePartsListBean(parentNo:String, childNo:String):PartsListBean = {
+       def generatePartsListBean(parentNo:String, childNo:String, relationKey: String):PartsListBean = {
          if(childNo.isEmpty()) {
-             PartsListBean(parentNo, childNo, 0)
+             PartsListBean(parentNo, childNo, 0, "")
          } else {
-                 PartsListBean(parentNo, childNo, PartManager().getByName(parentNo).partRelation(PartManager().getByName(childNo).id).quantity)
+                 PartsListBean(parentNo, childNo, PartManager().getByName(parentNo).partRelation(PartManager().getByName(childNo).id).quantity, relationKey)
          }
        }