diff --git a/app/controllers/GroupController.scala b/app/controllers/GroupController.scala
index 03fa9f795..2c957001a 100644
--- a/app/controllers/GroupController.scala
+++ b/app/controllers/GroupController.scala
@@ -92,7 +92,10 @@ case class GroupController @Inject() (
)
Future.successful(
Redirect(redirectPage)
- .flashing("error" -> "L’utilisateur n’existe pas dans Administration+")
+ .flashing(
+ "error" -> ("Le compte n’existe pas dans Administration+. " +
+ "Celui-ci peut être créé par un responsable identifiable dans la liste ci-dessous.")
+ )
)
case (Some(userToAdd), usersInGroup)
if usersInGroup.map(_.id).contains[UUID](userToAdd.id) =>
diff --git a/app/views/allUsersByGroup.scala.html b/app/views/allUsersByGroup.scala.html
index 2c10f9f63..eecb24f9c 100644
--- a/app/views/allUsersByGroup.scala.html
+++ b/app/views/allUsersByGroup.scala.html
@@ -132,11 +132,11 @@
@helper.CSRF.formField
- Nombre d'utilisateur à ajouter
- Ce n'est pas un nombre
+ Nombre de comptes à créer
+ Ce n’est pas un nombre
- Ajouter des utilisateurs dans le groupe
+ Créer de nouveaux comptes dans ce groupe
}
}
diff --git a/app/views/editGroup.scala.html b/app/views/editGroup.scala.html
index 7076dc4ed..086ad96cc 100644
--- a/app/views/editGroup.scala.html
+++ b/app/views/editGroup.scala.html
@@ -133,11 +133,11 @@ Veuillez confirmer la suppression du groupe.
@helper.CSRF.formField
- Nombre d'utilisateur à ajouter
- Ce n'est pas un nombre
+ Nombre de comptes à créer
+ Ce n’est pas un nombre
- Ajouter des utilisateurs dans le groupe
+ Créer de nouveaux comptes dans ce groupe
}
diff --git a/app/views/editMyGroups.scala b/app/views/editMyGroups.scala
index dc55bcae2..315452941 100644
--- a/app/views/editMyGroups.scala
+++ b/app/views/editMyGroups.scala
@@ -97,6 +97,14 @@ object editMyGroups {
)
)
),
+ (
+ if (Authorization.canEditGroup(group)(currentUserRights)) {
+ div(
+ cls := "single--margin-top-24px",
+ createAccountBlock(group, currentUser, currentUserRights)
+ )
+ } else ()
+ ),
div(
cls := "single--margin-top-24px single--margin-bottom--24px",
div(
@@ -107,9 +115,13 @@ object editMyGroups {
if (addUserForm.hasGlobalErrors) {
div(cls := "global-errors", addUserForm.globalErrors.map(_.format).mkString(", "))
} else (),
- div(cls := "sub-header", "Ajouter un membre au groupe"),
+ div(cls := "sub-header", "Ajouter un membre existant au groupe"),
+ div(
+ cls := "single--margin-left-24px",
+ "Un membre est un agent qui dispose déjà d’un compte Administration+"
+ ),
div(
- cls := "add-new-user-panel single--display-flex", {
+ cls := "add-new-user-panel single--display-flex single--margin-top-16px", {
val field = addUserForm("email")
div(
div(
@@ -142,6 +154,45 @@ object editMyGroups {
)
)
)
+ ),
+ )
+
+ def createAccountBlock(
+ group: UserGroup,
+ currentUser: User,
+ currentUserRights: Authorization.UserRights
+ )(implicit request: RequestHeader): Tag =
+ div(
+ form(
+ action := UserController.add(group.id).path,
+ method := UserController.add(group.id).method,
+ CSRFInput,
+ div(cls := "sub-header", "Créer des nouveaux comptes dans ce groupe"),
+ div(
+ cls := "add-new-user-panel single--display-flex",
+ div(
+ cls := "mdl-textfield mdl-js-textfield mdl-textfield--floating-label single--max-width-160px",
+ input(
+ cls := "mdl-textfield__input",
+ `type` := "text",
+ pattern := """-?[0-9]*(\.[0-9]+)?""",
+ id := "rows",
+ name := "rows",
+ value := "1"
+ ),
+ label(
+ cls := "mdl-textfield__label",
+ `for` := "rows",
+ "Nombre de comptes à créer"
+ ),
+ span(cls := "mdl-textfield__error", "Ce n’est pas un nombre")
+ ),
+ button(
+ cls := "single--margin-left-24px mdl-button mdl-js-button mdl-button--raised",
+ `type` := "submit",
+ "Créer des comptes dans ce groupe"
+ )
+ )
)
)
diff --git a/public/stylesheets/main.css b/public/stylesheets/main.css
index 2cb110ac6..ed93c134f 100644
--- a/public/stylesheets/main.css
+++ b/public/stylesheets/main.css
@@ -745,6 +745,10 @@ a {
padding-left: 48px;
}
+.single--max-width-160px {
+ max-width: 160px;
+}
+
.single--max-width-184px {
max-width: 184px;
}