Group creation/edit froms now handle group description

This commit is contained in:
Boris Bera
2015-07-04 14:54:08 -04:00
parent 28c47dd9c7
commit 4c417daee5
4 changed files with 27 additions and 10 deletions

View File

@@ -68,11 +68,12 @@ trait AccountControllerBase extends AccountManagementControllerBase {
"note" -> trim(label("Token", text(required, maxlength(100))))
)(PersonalTokenForm.apply)
case class NewGroupForm(groupName: String, url: Option[String], fileId: Option[String], members: String)
case class EditGroupForm(groupName: String, url: Option[String], fileId: Option[String], members: String, clearImage: Boolean)
case class NewGroupForm(groupName: String, groupDescription: Option[String], url: Option[String], fileId: Option[String], members: String)
case class EditGroupForm(groupName: String, groupDescription: Option[String], url: Option[String], fileId: Option[String], members: String, clearImage: Boolean)
val newGroupForm = mapping(
"groupName" -> trim(label("Group name" ,text(required, maxlength(100), identifier, uniqueUserName))),
"groupDescription" -> trim(label("Group description", optional(text()))),
"url" -> trim(label("URL" ,optional(text(maxlength(200))))),
"fileId" -> trim(label("File ID" ,optional(text()))),
"members" -> trim(label("Members" ,text(required, members)))
@@ -80,6 +81,7 @@ trait AccountControllerBase extends AccountManagementControllerBase {
val editGroupForm = mapping(
"groupName" -> trim(label("Group name" ,text(required, maxlength(100), identifier))),
"groupDescription" -> trim(label("Group description", optional(text()))),
"url" -> trim(label("URL" ,optional(text(maxlength(200))))),
"fileId" -> trim(label("File ID" ,optional(text()))),
"members" -> trim(label("Members" ,text(required, members))),
@@ -296,7 +298,7 @@ trait AccountControllerBase extends AccountManagementControllerBase {
})
post("/groups/new", newGroupForm)(usersOnly { form =>
createGroup(form.groupName, form.url, None)
createGroup(form.groupName, form.url, form.groupDescription)
updateGroupMembers(form.groupName, form.members.split(",").map {
_.split(":") match {
case Array(userName, isManager) => (userName, isManager.toBoolean)
@@ -334,7 +336,7 @@ trait AccountControllerBase extends AccountManagementControllerBase {
}
}.toList){ case (groupName, members) =>
getAccountByUserName(groupName, true).map { account =>
updateGroup(groupName, form.url, None, false)
updateGroup(groupName, form.url, form.groupDescription, false)
// Update GROUP_MEMBER
updateGroupMembers(form.groupName, members)

View File

@@ -25,10 +25,12 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
mailAddress: String, isAdmin: Boolean, url: Option[String],
fileId: Option[String], clearImage: Boolean, isRemoved: Boolean)
case class NewGroupForm(groupName: String, url: Option[String], fileId: Option[String],
case class NewGroupForm(groupName: String, groupDescription: Option[String],
url: Option[String], fileId: Option[String],
members: String)
case class EditGroupForm(groupName: String, url: Option[String], fileId: Option[String],
case class EditGroupForm(groupName: String, groupDescription: Option[String],
url: Option[String], fileId: Option[String],
members: String, clearImage: Boolean, isRemoved: Boolean)
val newUserForm = mapping(
@@ -55,6 +57,7 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
val newGroupForm = mapping(
"groupName" -> trim(label("Group name" ,text(required, maxlength(100), identifier, uniqueUserName))),
"groupDescription" -> trim(label("Group description", optional(text()))),
"url" -> trim(label("URL" ,optional(text(maxlength(200))))),
"fileId" -> trim(label("File ID" ,optional(text()))),
"members" -> trim(label("Members" ,text(required, members)))
@@ -62,6 +65,7 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
val editGroupForm = mapping(
"groupName" -> trim(label("Group name" ,text(required, maxlength(100), identifier))),
"groupDescription" -> trim(label("Group description", optional(text()))),
"url" -> trim(label("URL" ,optional(text(maxlength(200))))),
"fileId" -> trim(label("File ID" ,optional(text()))),
"members" -> trim(label("Members" ,text(required, members))),
@@ -129,7 +133,7 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
})
post("/admin/users/_newgroup", newGroupForm)(adminOnly { form =>
createGroup(form.groupName, form.url, None)
createGroup(form.groupName, form.url, form.groupDescription)
updateGroupMembers(form.groupName, form.members.split(",").map {
_.split(":") match {
case Array(userName, isManager) => (userName, isManager.toBoolean)
@@ -152,7 +156,7 @@ trait UserManagementControllerBase extends AccountManagementControllerBase {
}
}.toList){ case (groupName, members) =>
getAccountByUserName(groupName, true).map { account =>
updateGroup(groupName, form.url, None, form.isRemoved)
updateGroup(groupName, form.url, form.groupDescription, form.isRemoved)
if(form.isRemoved){
// Remove from GROUP_MEMBER

View File

@@ -20,6 +20,12 @@
</div>
<input type="text" name="url" id="url" style="width: 300px;" value="@account.map(_.url)"/>
</fieldset>
<fieldset>
<label for="groupDescription" class="strong">Description (Optional)</label>
<input type="text" name="groupDescription" id="groupDescription"
value="@account.map(_.groupDescription)"
style="width: 300px;" />
</fieldset>
<fieldset>
<label for="avatar" class="strong">Image (Optional)</label>
@helper.html.uploadavatar(account)
@@ -137,4 +143,4 @@ $(function(){
$('#members').val(members);
}
});
</script>
</script>

View File

@@ -26,6 +26,11 @@
</div>
<input type="text" name="url" id="url" value="@account.map(_.url)"/>
</fieldset>
<fieldset>
<label class="strong">Description (Optional)</label>
<input type="text" name="groupDescription" id="groupDescription"
value="@account.map(_.groupDescription)" />
</fieldset>
<fieldset>
<label for="avatar" class="strong">Image (Optional)</label>
@helper.html.uploadavatar(account)
@@ -132,4 +137,4 @@ $(function(){
$('#members').val(members);
}
});
</script>
</script>