Generalize some methods in AccountController and UserManagementController.

This commit is contained in:
takezoe
2013-07-10 20:44:28 +09:00
parent 7a3c61a8d0
commit 9d61f73e22
3 changed files with 21 additions and 28 deletions

View File

@@ -101,14 +101,21 @@ case class Context(path: String, loginAccount: Option[Account], currentUrl: Stri
*/
trait AccountManagementControllerBase extends ControllerBase { self: AccountService =>
protected def updateImage(userName: String, fileId: Option[String]): Unit = {
fileId.map { fileId =>
val filename = "avatar." + FileUtil.getExtension(FileUploadUtil.getUploadedFilename(fileId).get)
FileUtils.moveFile(
FileUploadUtil.getTemporaryFile(fileId),
new java.io.File(getUserUploadDir(userName), filename)
)
updateAvatarImage(userName, Some(filename))
protected def updateImage(userName: String, fileId: Option[String], clearImage: Boolean): Unit = {
if(clearImage){
getAccountByUserName(userName).flatMap(_.image).map { image =>
new java.io.File(getUserUploadDir(userName), image).delete()
updateAvatarImage(userName, None)
}
} else {
fileId.map { fileId =>
val filename = "avatar." + FileUtil.getExtension(FileUploadUtil.getUploadedFilename(fileId).get)
FileUtils.moveFile(
FileUploadUtil.getTemporaryFile(fileId),
new java.io.File(getUserUploadDir(userName), filename)
)
updateAvatarImage(userName, Some(filename))
}
}
}