Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `<ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:p="http://primefaces.org/ui"
- template="/templates/template-administrador.xhtml">
- <ui:define name="cuerpo">
- <p:dataTable id="tablaUsuarios" var="usuario"
- value="#{controller.users}" border="1" selectionMode="multiple"
- selection="#{controller.selectedUsers}" rowKey="#{usuario.id}">
- <p:column>
- <f:facet name="header">ID</f:facet>#{usuario.id}</p:column>
- <p:column>
- <f:facet name="header">Email</f:facet>#{usuario.email}</p:column>
- <p:column>
- <f:facet name="header">#{msgs.esAdministrador}</f:facet>#{usuario.isAdmin}</p:column>
- <p:column>
- <f:facet name="header">#{msgs.usuarioTabla}</f:facet>#{usuario.login}</p:column>
- <p:column>
- <f:facet name="header">#{msgs.estado}</f:facet>#{usuario.status}</p:column>
- <f:facet name="footer">
- <p:commandButton process="tablaUsuarios"
- value="Eliminar"
- action="#{controller.eliminarUsuarios}"/>
- </f:facet>
- </p:dataTable>
- </ui:define>
- </ui:composition>
- package uo.sdi.presentation;
- import java.io.Serializable;
- import java.util.List;
- import javax.faces.bean.ManagedBean;
- import javax.faces.bean.ViewScoped;
- import uo.sdi.business.AdminService;
- import uo.sdi.business.Services;
- import uo.sdi.business.exception.BusinessException;
- import uo.sdi.dto.User;
- @ManagedBean(name = "controller")
- @ViewScoped
- public class ControllerBean implements Serializable {
- private static final long serialVersionUID = 55555L;
- private String login, password;
- private User user;// Usuario que inicia la sesion en la aplicacion
- private List<User> users;// Lista de usuarios que tiene el administrador
- private List<User> selectedUsers;// Usuarios seleccionados de la lista
- // anterior para ser eliminados
- public String getLogin() {
- return login;
- }
- public void setLogin(String login) {
- this.login = login;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public List<User> getUsers() {
- return users;
- }
- public void setUsers(List<User> users) {
- this.users = users;
- }
- public List<User> getSelectedUsers() {
- return selectedUsers;
- }
- public void setSelectedUsers(List<User> selectedUsers) {
- this.selectedUsers = selectedUsers;
- }
- /**
- * Metodo que recibe las credenciales de usuario y las valida mirando en la
- * base de datos, despues rellena el atributo usuario
- *
- * @return Error, si algo falla. Admin, si el usuario autenticado es
- * administrador. Usuario, si el usuario autenticado no es
- * administrador.
- */
- public String validateUser() {
- String resultado;
- if (this.user != null)
- resultado = "error";
- else
- try {
- this.user = Services.getUserService().findLoggableUser(login,
- password);
- if (this.user.getIsAdmin()) {
- users = Services.getAdminService().findAllUsers();
- resultado = "admin";
- } else
- resultado = "usuario";
- } catch (BusinessException e) {
- // e.printStackTrace();
- resultado = "error";
- }
- return resultado;
- }
- /**
- * Metodo que elimina los usuarios que estan en la lista de usuarios
- * seleccionados.
- *
- * @return Error si algo falla. Exito si los usuarios son eliminados
- * correctemente.
- */
- public String eliminarUsuarios() {
- String resultado = "exito";
- AdminService service = Services.getAdminService();
- try {
- for(User user : selectedUsers)
- service.disableUser(user.getId());
- users = service.findAllUsers();
- } catch (BusinessException e) {
- resultado = "fracaso";
- e.printStackTrace();
- }
- return resultado;
- }
- public String listarUsuarios() {
- String resultado = "exito";
- try {
- users = Services.getAdminService().findAllUsers();
- } catch (BusinessException e) {
- resultado = "error";
- e.printStackTrace();
- }
- return resultado;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement