From 78cad9d60e5a2640c9b0fc293de20de76f488ece Mon Sep 17 00:00:00 2001 From: Falucho <german.faller@pcunix71.fing.edu.uy> Date: Tue, 25 Jun 2019 16:01:01 -0300 Subject: [PATCH] Gestion de Usuario --- .../edu/fing/tse/jsf/GestionUsuariosBean.java | 72 +++++++++++++++++++ .../src/main/webapp/jsf/gestionUsuarios.xhtml | 22 ++++++ .../fing/tse/central/business/Business.java | 6 ++ .../tse/central/business/BusinessBean.java | 23 +++++- .../tse/central/business/startup/Config.java | 7 ++ 5 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionUsuariosBean.java diff --git a/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionUsuariosBean.java b/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionUsuariosBean.java new file mode 100644 index 0000000..3195a3c --- /dev/null +++ b/backoffice/src/main/java/uy/edu/fing/tse/jsf/GestionUsuariosBean.java @@ -0,0 +1,72 @@ +package uy.edu.fing.tse.jsf; + +import uy.edu.fing.tse.central.business.BusinessLocal; +import uy.edu.fing.tse.dto.Role; +import uy.edu.fing.tse.dto.User; +import uy.edu.fing.tse.dto.UserBO; +import uy.edu.fing.tse.dto.UserFO; + +import javax.annotation.PostConstruct; +import javax.ejb.EJB; +import javax.enterprise.context.RequestScoped; +import javax.inject.Named; +import java.io.Serializable; +import java.util.List; + +@RequestScoped +@Named("gestionUsuarios") +public class GestionUsuariosBean implements Serializable { + + private static final long serialVersionUID = 9142442208455999158L; + + @EJB + private BusinessLocal service; + + @PostConstruct + public void init() { + usuarios = service.listarUsuarios(); + roles = service.listarRoles(); + } + + private List<User> usuarios; + private List<User> usuariosFilter; + + private List<Role> roles; + + public List<User> getUsuarios() { + return usuarios; + } + + public void setUsuarios(List<User> usuarios) { + this.usuarios = usuarios; + } + + public List<Role> getRoles() { + return roles; + } + + public void setRoles(List<Role> roles) { + this.roles = roles; + } + + public List<User> getUsuariosFilter() { + return usuariosFilter; + } + + public void setUsuariosFilter(List<User> usuariosFilter) { + this.usuariosFilter = usuariosFilter; + } + + public boolean isBO(User u) { + return u instanceof UserBO; + } + + public boolean isFO(User u) { + return u instanceof UserFO; + } + + public String getRole(User u) { + return ((UserBO) u).getRole().getName(); + } +} + diff --git a/backoffice/src/main/webapp/jsf/gestionUsuarios.xhtml b/backoffice/src/main/webapp/jsf/gestionUsuarios.xhtml index 6e8aa7f..de8d633 100644 --- a/backoffice/src/main/webapp/jsf/gestionUsuarios.xhtml +++ b/backoffice/src/main/webapp/jsf/gestionUsuarios.xhtml @@ -13,6 +13,28 @@ <h:outputText value="Gestion de Usuarios"/> </p:outputPanel> + <p:dataTable var="u" id="dataUser" value="#{gestionUsuarios.usuarios}" widgetVar="UsuariosTable" + emptyMessage="Sin usuarios"> + <p:column headerText="Id"> + <h:outputText value="#{u.id}"/> + </p:column> + + <p:column headerText="Mail"> + <h:outputText value="#{u.mail}"/> + </p:column> + + <p:column headerText="Tipo"> + <h:outputText value="BackOffice" rendered="#{gestionUsuarios.isBO(u)}"/> + <h:outputText value="FrontOffice" rendered="#{gestionUsuarios.isFO(u)}"/> + </p:column> + <p:column headerText="Rol"> + <h:outputText value="#{gestionUsuarios.getRole(u)}" rendered="#{gestionUsuarios.isBO(u)}"/> + </p:column> + <p:column headerText="Accion"> + <p:commandButton value="Borrar"/> + <p:commandButton value="Editar"/> + </p:column> + </p:dataTable> </h:form> </ui:define> </ui:decorate> diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java index 4963b8b..ef644d4 100644 --- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java +++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/Business.java @@ -10,6 +10,8 @@ public interface Business extends Serializable { void altaPeriferico(Peripherical p); + void updateUsuario(User u); + void altaVerificacionMecanismo(CheckMechanism cm); List<Fact> listarHechos(); @@ -22,8 +24,12 @@ public interface Business extends Serializable { List<Role> listarRoles(); + List<User> listarUsuarios(); + Score altaCalificacion(Score e); List<State> listarEstados(); + + void altaUsuario(User user); } diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java index 460fe9e..55a6129 100644 --- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java +++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/BusinessBean.java @@ -4,6 +4,8 @@ package uy.edu.fing.tse.central.business; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import uy.edu.fing.tse.central.db.dao.category.CategoryDaoLocal; +import uy.edu.fing.tse.central.db.dao.check.checker.CheckCheckerDaoLocal; +import uy.edu.fing.tse.central.db.dao.check.mechanism.CheckMechanismDaoLocal; import uy.edu.fing.tse.central.db.dao.fact.FactDaoLocal; import uy.edu.fing.tse.central.db.dao.mechanism.MechanismDaoLocal; import uy.edu.fing.tse.central.db.dao.role.RoleDaoLocal; @@ -26,6 +28,10 @@ public class BusinessBean implements BusinessLocal, BusinessRemote { @EJB private CategoryDaoLocal categorias; @EJB + private CheckCheckerDaoLocal verificacionesChecker; + @EJB + private CheckMechanismDaoLocal verificacionesMecanismos; + @EJB private FactDaoLocal hechos; @EJB private MechanismDaoLocal mecanismos; @@ -43,12 +49,17 @@ public class BusinessBean implements BusinessLocal, BusinessRemote { @Override public void altaPeriferico(Peripherical p) { + mecanismos.create(p); + } + @Override + public void updateUsuario(User u) { + usuarios.update(u); } @Override public void altaVerificacionMecanismo(CheckMechanism cm) { - + verificacionesMecanismos.create(cm); } @Override @@ -100,6 +111,11 @@ public class BusinessBean implements BusinessLocal, BusinessRemote { return hechos.findAll(); } + @Override + public List<User> listarUsuarios() { + return usuarios.findAll(); + } + @Override public List<Role> listarRoles() { return roles.findAll(); @@ -109,4 +125,9 @@ public class BusinessBean implements BusinessLocal, BusinessRemote { public List<State> listarEstados() { return estados.findAll(); } + + @Override + public void altaUsuario(User user) { + usuarios.create(user); + } } diff --git a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java index d9fcbd1..daeacd4 100644 --- a/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java +++ b/central-ejb/src/main/java/uy/edu/fing/tse/central/business/startup/Config.java @@ -73,6 +73,13 @@ public class Config { e.setName("Submitter"); u.setRole(e); users.register(u); + + UserFO fo; + for (int i = 1; i <= 10; i++) { + fo = new UserFO(); + fo.setMail("citizen" + i); + negocio.altaUsuario(fo); + } } private void initEstados() { -- GitLab