AccountService.createGroup now handles group description

This commit is contained in:
Boris Bera
2015-07-04 02:35:02 -04:00
parent 96e6aa89e3
commit cd62220ba0
4 changed files with 16 additions and 6 deletions

View File

@@ -296,7 +296,7 @@ trait AccountControllerBase extends AccountManagementControllerBase {
})
post("/groups/new", newGroupForm)(usersOnly { form =>
createGroup(form.groupName, form.url)
createGroup(form.groupName, form.url, None)
updateGroupMembers(form.groupName, form.members.split(",").map {
_.split(":") match {
case Array(userName, isManager) => (userName, isManager.toBoolean)

View File

@@ -129,7 +129,7 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
})
post("/admin/users/_newgroup", newGroupForm)(adminOnly { form =>
createGroup(form.groupName, form.url)
createGroup(form.groupName, form.url, None)
updateGroupMembers(form.groupName, form.members.split(",").map {
_.split(":") match {
case Array(userName, isManager) => (userName, isManager.toBoolean)

View File

@@ -135,7 +135,7 @@ trait AccountService {
def updateLastLoginDate(userName: String)(implicit s: Session): Unit =
Accounts.filter(_.userName === userName.bind).map(_.lastLoginDate).update(currentDate)
def createGroup(groupName: String, url: Option[String])(implicit s: Session): Unit =
def createGroup(groupName: String, url: Option[String], description: Option[String])(implicit s: Session): Unit =
Accounts insert Account(
userName = groupName,
password = "",
@@ -149,7 +149,7 @@ trait AccountService {
image = None,
isGroupAccount = true,
isRemoved = false,
groupDescription = None)
groupDescription = description)
def updateGroup(groupName: String, url: Option[String], removed: Boolean)(implicit s: Session): Unit =
Accounts.filter(_.userName === groupName.bind).map(t => t.url.? -> t.removed).update(url, removed)

View File

@@ -59,7 +59,7 @@ class AccountServiceSpec extends Specification with ServiceSpecBase {
"group" in { withTestDB { implicit session =>
val group1 = "group1"
val user1 = "root"
AccountService.createGroup(group1, None)
AccountService.createGroup(group1, None, None)
AccountService.getGroupMembers(group1) must_== Nil
AccountService.getGroupsByUserName(user1) must_== Nil
@@ -74,6 +74,16 @@ class AccountServiceSpec extends Specification with ServiceSpecBase {
AccountService.getGroupMembers(group1) must_== Nil
AccountService.getGroupsByUserName(user1) must_== Nil
}}
"createGroup" should { withTestDB { implicit session =>
"save description" in {
AccountService.createGroup("some-group", None, Some("some clever description"))
val maybeGroup = AccountService.getAccountByUserName("some-group")
maybeGroup must beSome.like {
case account => account.groupDescription must beSome("some clever description")
}
}
}}
}
}