OSDN Git Service

Implementation the Authentication Error.
[open-pdm-light/PartList.git] / PartsList / PartsList / app / controllers / PartsMasterController.scala
index ead7cdc..1cb34c4 100644 (file)
@@ -3,18 +3,15 @@ package controllers
 import play.api._
 import play.api.i18n._
 import play.api.mvc._
-import play.api.mvc.MultipartFormData.FilePart
 import play.api.data._
 import play.api.data.Forms._
-import play.api.libs.Files.TemporaryFile
 import forms._
-import models._
+import models.services._
 import beans._
+import services._
 import org.squeryl._
 import org.squeryl.PrimitiveTypeMode._
 import scala.collection.mutable.ArrayBuffer
-import java.io.File
-import java.io.FileInputStream
 
 object PartsMasterController extends Controller{
    
@@ -26,13 +23,20 @@ object PartsMasterController extends Controller{
            "atach" -> mapping(
                "grpName" -> text
              )(AtachForm.apply)(AtachForm.unapply),
-           "projectName" -> nonEmptyText
+           "projectName" -> nonEmptyText,
+           "cost" -> longNumber
         )(PartForm.apply)(PartForm.unapply)
     )
 
-       def create = Action { implicit request =>
-         Ok(views.html.createPartForm(partRegistForm))
-       }
+       def create = AuthAction {
+     Action { implicit request =>
+       if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+       } else {
+         Ok(views.html.createPartForm(partRegistForm))
+       }
+        }
+    }
 
        def partRegistration() = Action(parse.multipartFormData) { implicit request =>
          partRegistForm.bindFromRequest.fold(
@@ -40,10 +44,9 @@ object PartsMasterController extends Controller{
 //           formWithErrors => BadRequest(views.html.error(formWithErrors)),
              part => {
                inTransaction {
-                 val project = getProject(part.projectName)              
-                  val newPart = PartsListDb.parts.insert(Part(part.name, part.atach, project.id))
+                 val newPart = PartManager().insert(part)
               request.body.file("atach").map { atach =>
-               insertAtach(atach, newPart.atach.grpName, newPart.id)
+               AtachManager().uploadAtach(atach, newPart.atach.grpName, newPart.id, 0, 0)
                    }
                  Home.flashing("success" -> "Part %s has been created".format(part.name))
                }  
@@ -51,11 +54,17 @@ object PartsMasterController extends Controller{
          )
        }
 
-       def update(id:Long) = Action { implicit request =>
-         inTransaction {
-           val part = getPart(id)
-           val partForm = PartForm(part.name, null, part.project.assign(part.project.head).name)
-               Ok(views.html.updatePartForm(partRegistForm.fill(partForm), id, part))
+       def update(id:Long) = AuthAction {
+         Action { implicit request =>
+           if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+           } else {
+             inTransaction {
+               val part = PartManager().getById(id)
+               val partForm = PartForm(part.name, null, part.project.assign(part.project.head).name, part.price)
+               Ok(views.html.updatePartForm(partRegistForm.fill(partForm), id, part))
+             }
+           }
          }
        }
 
@@ -64,13 +73,9 @@ object PartsMasterController extends Controller{
              formWithErrors => BadRequest(views.html.updatePartForm(formWithErrors, id , null)),
              part => {
                inTransaction {
-                 val project = getProject(part.projectName)
-                 val updPart = getPart(id)
-                 updPart.name = part.name
-                 updPart.projectId = project.id
-                 PartsListDb.parts.update(updPart)
+                 val updPart = PartManager().update(part, id)
                   request.body.file("atach").map { atach =>
-                    insertAtach(atach, part.atach.grpName, updPart.id)
+                    AtachManager().uploadAtach(atach, part.atach.grpName, updPart.id, 0, 0)
                    }
                  Home.flashing("success" -> "Part %s has been created".format(part.name))
                }  
@@ -78,38 +83,25 @@ object PartsMasterController extends Controller{
          )
        }
 
-       def insertAtach(atach:FilePart[TemporaryFile], grpName:String, id:Long) = {
-      val filename = atach.filename
-      val contentType = atach.contentType
-      var folder = Messages("atach.folder")
-      if(!folder.endsWith("/")) {folder = folder.concat("/")}
-      val url = folder + filename
-      atach.ref.moveTo(new File(url), true)
-      PartsListDb.atachs.insert(Atach(contentType.get, filename, grpName, id))
-       }
-
-       def partDelete(id:Long) = Action {
-         inTransaction {
-           PartsListDb.parts.deleteWhere(p => p.id === id)
-       Home.flashing("success" -> "Part %s has been created".format(id))
+       def partDelete(id:Long) = AuthAction {
+         Action {implicit request =>
+           if(request == null) {
+         Ok(views.html.errors.errorNotAuthentication())
+           } else {
+             inTransaction {
+               PartManager().delete(id)
+               Home.flashing("success" -> "Part %s has been created".format(id))
+               }
+           }
          }
        }
        
        def list(page:Int, key:String) = Action { implicit request =>
          inTransaction {
                  val row = Integer.decode(Messages("list.row"))
-                 val buff = PartsListDb.parts.where(p => p.name like key + "%")
+                 val buff = PartManager().getByLikeName(key)
                  Ok(views.html.partsmastershow(buff.page(page*row, row), buff.size, key, page))
          }
-       }
-       
-       def getPart(id:Long):Part =  {
-         PartsListDb.parts.where(p => p.id === id).head
-       }
-
-       def getProject(name:String):Project = {
-         PartsListDb.projects.where(p => p.name === name).head
-        }
-       
+       }       
 
 }
\ No newline at end of file