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 0000000000000000000000000000000000000000..3195a3cdefc619defd3ae3c5e3005bf614cd779f --- /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 6e8aa7f6411c5f23548055a47d7c5756a2df49f9..de8d633a9c5516105898b25bded7a75441adfe60 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 4963b8badcd8f3d9dc889c94b7a7a447110402ee..ef644d4247e4f7e652d31ba832f503bb7ed5d731 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 460fe9e99ee8239dd5d6b083156696f2dd299efb..55a61290b9813243e0d626ff5364a2e631d1d9f2 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 d9fcbd16f215dfd4d6d996fd3b594a295ea67071..daeacd4526ea4227bc0630c8ae4971f2e4f63a54 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() {