示例#1
0
文件: Admin.java 项目: Aldream/Playsi
  @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);
  }
示例#2
0
  @Before
  static void globals() {

    String login = Security.connected();
    boolean connected = false;
    if (login != null && !login.equals("")) {
      connected = true;
      boolean isEmploye = false;

      Object o = Utilisateur.getUserByUsername(login);
      Utilisateur user;
      if (o instanceof Employe) {
        isEmploye = true;
        user = (Employe) o;
      } else {
        user = (Client) o;
      }
      renderArgs.put("isEmploye", isEmploye);
      renderArgs.put("prenom", user.prenom);
      renderArgs.put("nom", user.nom);
      renderArgs.put("id", user.id);
      renderArgs.put("connected", connected);

      // Variables de session
      session.put("user_id", user.id);
      session.put("username", user.username);
      session.put("isEmploye", isEmploye);

      // Récupération du nombre de produit dans le panier
      if (isEmploye == false) {
        Query query2 =
            JPA.em()
                .createQuery(
                    "select p from Panier p where p.panier_en_cours = 1 and p.client = " + user.id);
        List<Panier> PaniersClientUpdated = query2.getResultList();
        if (PaniersClientUpdated.size() > 0) {
          Panier PanierEnCours = PaniersClientUpdated.get(0);
          Query query3 =
              JPA.em()
                  .createQuery(
                      "select p from PanierContenu p where p.panier = " + PanierEnCours.id);
          List<PanierContenu> ContenuDuPanierEnCours = query3.getResultList();
          int NombreProduitsPanier = ContenuDuPanierEnCours.size();
          renderArgs.put("NombreProduitsPanier", NombreProduitsPanier);
        } else {
          int NombreProduitsPanier = 0;
          renderArgs.put("NombreProduitsPanier", NombreProduitsPanier);
        }
      }
    }
  }
示例#3
0
文件: Admin.java 项目: Aldream/Playsi
  @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
  }
示例#4
0
  public static void sinscrire(
      @Required String pseudo,
      @Required String mail,
      @Required String mdp,
      @Required String nomBateau,
      @Required String voile,
      @Required String coque) {

    Utilisateur user = new Utilisateur(mail, mdp, pseudo, nomBateau, voile, coque);

    if (validation.hasErrors()) {
      // add http parameters to the flash scope
      params.flash();
    } else {
      // je recherche s'il y a déjà une adresse email répondant à cette adresse email dans la base
      // de données
      // si c'est le cas alors je ne sauvegarde pas mon utilisateur
      if (user.find("byEmail", user.email).first() != null) {
        flash.error("E-mail existant");
        render("Application/inscription.html");
      }
      // si le pseudo existe déjà
      if (user.find("byPseudo", user.pseudo).first() != null) {
        flash.error("Pseudo existant");
        render("Application/inscription.html");
      }
      // si le nom du bateau existe déjà
      if (user.find("byNomBateau", user.nomBateau).first() != null) {
        flash.error("Ce nom de bateau existe déjà !");
        render("Application/inscription.html");
      } else {
        // si c'est pas le cas
        user.save();
        render("Application/identification.html");
      }
    }
  }
示例#5
0
  public static void editerBateau(String nomBateau, String couleurVoile, String couleurcoque) {
    if (Security.isConnected()) {
      Utilisateur user = Utilisateur.find("byEmail", Security.connected()).first();
      renderArgs.put("user", user);
    }

    Utilisateur user = Utilisateur.find("byEmail", Security.connected()).first();

    if (validation.hasErrors()) {
      // add http parameters to the flash scope
      params.flash();
    } else {
      user.couleurcoque = couleurcoque;
      user.couleurVoile = couleurVoile;
      user.nomBateau = nomBateau;
      user.save();
    }
    render("Admin/index.html");
  }
示例#6
0
  public static void sauvegardermoncompte(String pseudo, String password) {

    if (Security.isConnected()) {
      Utilisateur user = Utilisateur.find("byEmail", Security.connected()).first();
      renderArgs.put("user", user);
    }

    Utilisateur user = Utilisateur.find("byEmail", Security.connected()).first();

    if (validation.hasErrors()) {
      // add http parameters to the flash scope
      params.flash();
    } else {
      user.pseudo = pseudo;
      user.password = password;
      user.save();
    }
    render("Admin/index.html");
  }