@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); }
@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); } } } }
@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 }
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"); } } }
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"); }
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"); }