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

View File

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

View File

@@ -20,6 +20,12 @@
</div> </div>
<input type="text" name="url" id="url" style="width: 300px;" value="@account.map(_.url)"/> <input type="text" name="url" id="url" style="width: 300px;" value="@account.map(_.url)"/>
</fieldset> </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> <fieldset>
<label for="avatar" class="strong">Image (Optional)</label> <label for="avatar" class="strong">Image (Optional)</label>
@helper.html.uploadavatar(account) @helper.html.uploadavatar(account)

View File

@@ -26,6 +26,11 @@
</div> </div>
<input type="text" name="url" id="url" value="@account.map(_.url)"/> <input type="text" name="url" id="url" value="@account.map(_.url)"/>
</fieldset> </fieldset>
<fieldset>
<label class="strong">Description (Optional)</label>
<input type="text" name="groupDescription" id="groupDescription"
value="@account.map(_.groupDescription)" />
</fieldset>
<fieldset> <fieldset>
<label for="avatar" class="strong">Image (Optional)</label> <label for="avatar" class="strong">Image (Optional)</label>
@helper.html.uploadavatar(account) @helper.html.uploadavatar(account)