diff --git a/src/main/scala/gitbucket/core/controller/AccountController.scala b/src/main/scala/gitbucket/core/controller/AccountController.scala index 8d0d204..1560b2a 100644 --- a/src/main/scala/gitbucket/core/controller/AccountController.scala +++ b/src/main/scala/gitbucket/core/controller/AccountController.scala @@ -334,7 +334,7 @@ } }.toList){ case (groupName, members) => getAccountByUserName(groupName, true).map { account => - updateGroup(groupName, form.url, false) + updateGroup(groupName, form.url, None, false) // Update GROUP_MEMBER updateGroupMembers(form.groupName, members) diff --git a/src/main/scala/gitbucket/core/controller/UserManagementController.scala b/src/main/scala/gitbucket/core/controller/UserManagementController.scala index 0beb6c6..7b1daaa 100644 --- a/src/main/scala/gitbucket/core/controller/UserManagementController.scala +++ b/src/main/scala/gitbucket/core/controller/UserManagementController.scala @@ -152,7 +152,7 @@ } }.toList){ case (groupName, members) => getAccountByUserName(groupName, true).map { account => - updateGroup(groupName, form.url, form.isRemoved) + updateGroup(groupName, form.url, None, form.isRemoved) if(form.isRemoved){ // Remove from GROUP_MEMBER diff --git a/src/main/scala/gitbucket/core/service/AccountService.scala b/src/main/scala/gitbucket/core/service/AccountService.scala index 6a298d4..5b5eb02 100644 --- a/src/main/scala/gitbucket/core/service/AccountService.scala +++ b/src/main/scala/gitbucket/core/service/AccountService.scala @@ -151,8 +151,12 @@ isRemoved = false, 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) + def updateGroup(groupName: String, url: Option[String], + groupDescription: Option[String], removed: Boolean) + (implicit s: Session): Unit = + Accounts.filter(_.userName === groupName.bind) + .map(t => (t.url.?, t.groupDescription.?, t.removed)) + .update(url, groupDescription, removed) def updateGroupMembers(groupName: String, members: List[(String, Boolean)])(implicit s: Session): Unit = { GroupMembers.filter(_.groupName === groupName.bind).delete diff --git a/src/test/scala/gitbucket/core/service/AccountServiceSpec.scala b/src/test/scala/gitbucket/core/service/AccountServiceSpec.scala index 7d85c72..4488ee8 100644 --- a/src/test/scala/gitbucket/core/service/AccountServiceSpec.scala +++ b/src/test/scala/gitbucket/core/service/AccountServiceSpec.scala @@ -85,5 +85,18 @@ } } }} + + "updateGroup" should { withTestDB { implicit session => + "save description" in { + AccountService.createGroup("a-group", None, None) + + AccountService.updateGroup("a-group", None, Some("new description"), false) + + val group = AccountService.getAccountByUserName("a-group") + group must beSome.like { + case account => account.groupDescription must beSome("new description") + } + } + }} } }