Exemplo n.º 1
0
  @Security.Authenticated(SecuriteAPI.class)
  public static Result labelsUtilisateurs() {
    if (Securite.utilisateur().getRole() != Utilisateur.Role.ADMIN) {
      return unauthorized();
    }

    ObjectNode json =
        JsonUtils.genererReponseJson(JsonUtils.JsonStatut.OK, "Récupération des labels effectuée");

    UtilisateurService.LabelsResult labelsResult = UtilisateurService.getLabels();
    ArrayNode auth = new ArrayNode(JsonNodeFactory.instance);
    for (String s : labelsResult.types_auth) {
      auth.add(s);
    }

    ArrayNode roles = new ArrayNode(JsonNodeFactory.instance);
    for (String s : labelsResult.roles) {
      roles.add(s);
    }

    json.put("services", auth);
    json.put("roles", roles);

    // attendu: msg.statut, msg.services, msg.roles
    return ok(json);
  }
Exemplo n.º 2
0
  @Security.Authenticated(SecuriteAPI.class)
  public static Result infoUtilisateur(Long id) {
    if (SecuriteAPI.utilisateur().getRole() != Utilisateur.Role.ADMIN) {
      return unauthorized();
    }

    UtilisateurService.InfoUtilisateurResult result = UtilisateurService.infoUtilisateur(id);
    if (result.statut == UtilisateurService.Statut.UTILISATEUR_NON_TROUVE) {
      return ok(
          JsonUtils.genererReponseJson(
              JsonUtils.JsonStatut.ERREUR, "Aucun utilisateur avec cet id trouvé."));
    }

    ObjectNode json = JsonUtils.genererReponseJson(JsonUtils.JsonStatut.OK, "Utilisateur trouvé.");
    json.put(Constantes.JSON_UTILISATEUR, result.utilisateur.toJsonFull());

    // attendu: msg.statut, msg.utilisateur.{login, nom, prenom, role, mails: [{libellé, email}],
    // telephones: [{libellé, email}]
    return ok(json);
  }
Exemplo n.º 3
0
  @Security.Authenticated(SecuriteAPI.class)
  public static Result supprimerUtilisateur(Long id, Boolean supprPersonne) {
    if (SecuriteAPI.utilisateur().getRole() != Utilisateur.Role.ADMIN) {
      return unauthorized();
    }

    UtilisateurService.Statut statut = UtilisateurService.supprimerUtilisateur(id, supprPersonne);
    if (statut == UtilisateurService.Statut.UTILISATEUR_NON_TROUVE) {
      return ok(
          JsonUtils.genererReponseJson(JsonUtils.JsonStatut.ERREUR, "Utilisateur non trouvé."));
    } else if (statut == UtilisateurService.Statut.OK) {
      return ok(JsonUtils.genererReponseJson(JsonUtils.JsonStatut.OK, "Utilisateur supprimé."));
    } else {
      Logger.error("Controllers/Admin - majUtilisateur - statut inconnu: " + statut.name());
      return ok(
          JsonUtils.genererReponseJson(
              JsonUtils.JsonStatut.ERREUR,
              "Erreur interne. Les administrateurs ont été prévenus."));
    }
    // attendu: msg.statut
  }
Exemplo n.º 4
0
  @Security.Authenticated(SecuriteAPI.class)
  public static Result listeUtilisateurs() {
    if (SecuriteAPI.utilisateur().getRole() != Utilisateur.Role.ADMIN) {
      return unauthorized();
    }

    List<Utilisateur> utilisateurs = UtilisateurService.utilisateurs();
    ObjectNode json =
        JsonUtils.genererReponseJson(
            JsonUtils.JsonStatut.OK, utilisateurs.size() + " utilisateur(s) trouvés.");
    ArrayNode jsonUtilisateurs = new ArrayNode(JsonNodeFactory.instance);
    for (Utilisateur u : utilisateurs) {
      jsonUtilisateurs.add(u.toJsonMinimal());
    }
    json.put(Constantes.JSON_UTILISATEURS, jsonUtilisateurs);

    // attendu: msg.statut, msg.utilisateurs = [{id, login, service, type, nom, prenom}]
    return ok(json);
  }
Exemplo n.º 5
0
  @Security.Authenticated(SecuriteAPI.class)
  public static Result majUtilisateur() {
    if (SecuriteAPI.utilisateur().getRole() != Utilisateur.Role.ADMIN) {
      return unauthorized();
    }

    ObjectNode root = (ObjectNode) request().body().asJson();
    Utilisateur nouveau = Utilisateur.construire(root, true);
    if (nouveau == null) {
      return ok(JsonUtils.genererReponseJson(JsonUtils.JsonStatut.ERREUR, "Arguments manquants."));
    }

    UtilisateurService.Statut statut =
        UtilisateurService.adminMajUtilisateur(
            nouveau, nouveau.getId() == Constantes.JSON_ID_UTILISATEUR_INEXISTANT);
    if (statut == UtilisateurService.Statut.UTILISATEUR_NON_TROUVE) {
      return ok(
          JsonUtils.genererReponseJson(JsonUtils.JsonStatut.ERREUR, "Utilisateur non trouvé."));
    } else if (statut == UtilisateurService.Statut.LOGIN_DEJA_PRIS) {
      return ok(
          JsonUtils.genererReponseJson(
              JsonUtils.JsonStatut.ERREUR, "Nom d'utilisateur déjà pris."));
    } else if (statut == UtilisateurService.Statut.ERREUR_INTERNE) {
      return ok(
          JsonUtils.genererReponseJson(
              JsonUtils.JsonStatut.ERREUR,
              "Erreur interne. Les administrateurs ont été prévenus."));
    } else if (statut == UtilisateurService.Statut.OK) {
      return ok(JsonUtils.genererReponseJson(JsonUtils.JsonStatut.OK, "Modification effectuée"));
    } else {
      Logger.error("Controllers/Admin - majUtilisateur - statut inconnu: " + statut.name());
      return ok(
          JsonUtils.genererReponseJson(
              JsonUtils.JsonStatut.ERREUR,
              "Erreur interne. Les administrateurs ont été prévenus."));
    }
    // attendu: msg.statut
  }