Añadir usuario admin
This commit is contained in:
53
1.sources/MyHealth/docroot/systemAdmin/AddAdmin.xhtml
Normal file
53
1.sources/MyHealth/docroot/systemAdmin/AddAdmin.xhtml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
|
||||||
|
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
|
||||||
|
|
||||||
|
<ui:composition template="../header.xhtml">
|
||||||
|
<ui:define name="content">
|
||||||
|
<h:form id="frmAddAdmin">
|
||||||
|
<p:growl id="mesgsAdd" showDetail="true" closable="true" autoupdate="true" />
|
||||||
|
<p:panel id="PanelNewAdmin" header="Alta de administradores">
|
||||||
|
<div class="ui-g ui-fluid">
|
||||||
|
<div class="ui-g-1 ui-md-1">
|
||||||
|
<p:outputLabel value="Correo electrónico: " for="email" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-3 ui-md-3">
|
||||||
|
<p:inputText id="email" value="#{AddAdmin.email}" required="true" maxlength="120" validator="emailValidator"
|
||||||
|
validatorMessage="La dirección de correo electrónico #{AddAdmin.email} no es válida" requiredMessage="Por favor, especifique su correo electrónico">
|
||||||
|
<f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
|
||||||
|
</p:inputText>
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-1 ui-md-1">
|
||||||
|
<p:outputLabel value="Contraseña: " for="password" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2">
|
||||||
|
<p:password id="password" value="#{AddAdmin.password}" match="passwordRepeat" required="true" maxlength="100" requiredMessage="Por favor, especifique una contraseña"
|
||||||
|
feedback="true" promptLabel="Especifique una contraseña segura" weakLabel="La contraseña es débil" goodLabel="La contraseña es buena" strongLabel="La contraseña es segura"
|
||||||
|
validatorMessage="La contraseña y su verificación deben ser iguales" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-1 ui-md-1">
|
||||||
|
<p:outputLabel value="Verificación de contraseña: " for="passwordRepeat" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2">
|
||||||
|
<p:password id="passwordRepeat" value="#{AddAdmin.password}" required="true" maxlength="100" requiredMessage="Por favor, escriba la verificación de su contraseña" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-2 ui-md-2 ">
|
||||||
|
<p:commandButton validateClient="true" value="Crear" update="frmAddAdmin" action="#{AddAdmin.insertData}" icon="pi pi-check" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-4 ui-md-4">
|
||||||
|
<p:message for="email" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-3 ui-md-3">
|
||||||
|
<p:message for="password" />
|
||||||
|
</div>
|
||||||
|
<div class="ui-g-3 ui-md-3">
|
||||||
|
<p:message for="passwordRepeat" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</p:panel>
|
||||||
|
</h:form>
|
||||||
|
</ui:define>
|
||||||
|
</ui:composition>
|
||||||
|
</html>
|
||||||
@@ -19,11 +19,33 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||||||
public class SystemAdminTO implements Serializable {
|
public class SystemAdminTO implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private String email;
|
||||||
|
private String password;
|
||||||
|
|
||||||
public SystemAdminTO() {
|
public SystemAdminTO() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SystemAdminTO(String email, String password) {
|
||||||
|
this.email = email;
|
||||||
|
this.setPassword(password);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmail() {
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmail(String email) {
|
||||||
|
this.email = email;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import TO.PatientTO;
|
|||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
import TO.QuestionTO;
|
import TO.QuestionTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
|
import TO.SystemAdminTO;
|
||||||
import TO.VisitTO;
|
import TO.VisitTO;
|
||||||
import common.Utils;
|
import common.Utils;
|
||||||
import jpa.FamilyDoctorJPA;
|
import jpa.FamilyDoctorJPA;
|
||||||
@@ -24,6 +25,7 @@ import jpa.PatientJPA;
|
|||||||
import jpa.PrimaryHealthCareCenterJPA;
|
import jpa.PrimaryHealthCareCenterJPA;
|
||||||
import jpa.QuestionJPA;
|
import jpa.QuestionJPA;
|
||||||
import jpa.SpecialistDoctorJPA;
|
import jpa.SpecialistDoctorJPA;
|
||||||
|
import jpa.SystemAdminJPA;
|
||||||
import jpa.VisitJPA;
|
import jpa.VisitJPA;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@@ -637,4 +639,15 @@ public class CommonFacadeBean implements CommonFacadeRemote, CommonFacadeLocal {
|
|||||||
|
|
||||||
return qsTO;
|
return qsTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SystemAdminTO getPOJOforSystemAdminJPA(SystemAdminJPA admin) {
|
||||||
|
SystemAdminTO adminTO = null;
|
||||||
|
|
||||||
|
if (admin != null) {
|
||||||
|
adminTO = new SystemAdminTO(admin.getEmail(), admin.getPassword());
|
||||||
|
}
|
||||||
|
|
||||||
|
return adminTO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,9 @@ import TO.PatientTO;
|
|||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
import TO.QuestionTO;
|
import TO.QuestionTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
|
import TO.SystemAdminTO;
|
||||||
import TO.VisitTO;
|
import TO.VisitTO;
|
||||||
|
import jpa.SystemAdminJPA;
|
||||||
import jpa.FamilyDoctorJPA;
|
import jpa.FamilyDoctorJPA;
|
||||||
import jpa.MedicalSpecialtyJPA;
|
import jpa.MedicalSpecialtyJPA;
|
||||||
import jpa.MedicalTestJPA;
|
import jpa.MedicalTestJPA;
|
||||||
@@ -84,4 +86,6 @@ public interface CommonFacadeLocal {
|
|||||||
public MedicalTestTO getPOJOforMedicalTestJPA(MedicalTestJPA mt, int nestedProps);
|
public MedicalTestTO getPOJOforMedicalTestJPA(MedicalTestJPA mt, int nestedProps);
|
||||||
|
|
||||||
public VisitTO getPOJOforVisitJPA(VisitJPA qs, int nestedProps);
|
public VisitTO getPOJOforVisitJPA(VisitJPA qs, int nestedProps);
|
||||||
|
|
||||||
|
public SystemAdminTO getPOJOforSystemAdminJPA(SystemAdminJPA admin);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,11 +15,12 @@ import TO.MedicalSpecialtyTO;
|
|||||||
import TO.PatientTO;
|
import TO.PatientTO;
|
||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
import TO.SpecialistDoctorTO;
|
import TO.SpecialistDoctorTO;
|
||||||
|
import TO.SystemAdminTO;
|
||||||
import common.Constants;
|
import common.Constants;
|
||||||
import common.HashUtils;
|
import common.HashUtils;
|
||||||
import common.UserType;
|
import common.UserType;
|
||||||
import ejb.common.CommonFacadeLocal;
|
import ejb.common.CommonFacadeLocal;
|
||||||
import jpa.AdministratorJPA;
|
import jpa.SystemAdminJPA;
|
||||||
import jpa.FamilyDoctorJPA;
|
import jpa.FamilyDoctorJPA;
|
||||||
import jpa.MedicalSpecialtyJPA;
|
import jpa.MedicalSpecialtyJPA;
|
||||||
import jpa.PrimaryHealthCareCenterJPA;
|
import jpa.PrimaryHealthCareCenterJPA;
|
||||||
@@ -91,7 +92,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
// cual intentamos login contra la tabla de administradores
|
// cual intentamos login contra la tabla de administradores
|
||||||
if (usr == null) {
|
if (usr == null) {
|
||||||
// Intentamos recuperar un registro de administrador
|
// Intentamos recuperar un registro de administrador
|
||||||
AdministratorJPA adm = entman.find(AdministratorJPA.class, userCode);
|
SystemAdminJPA adm = entman.find(SystemAdminJPA.class, userCode);
|
||||||
|
|
||||||
if (adm != null) {
|
if (adm != null) {
|
||||||
usr = new LoggedUserTO(adm.getEmail(), adm.getEmail(), adm.getPassword(), UserType.ADMINISTRATOR, adm.getEmail());
|
usr = new LoggedUserTO(adm.getEmail(), adm.getEmail(), adm.getPassword(), UserType.ADMINISTRATOR, adm.getEmail());
|
||||||
@@ -174,6 +175,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
return this.commonServices.getPOJOforPrimaryHealthCareCenterJPA(ms);
|
return this.commonServices.getPOJOforPrimaryHealthCareCenterJPA(ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public PrimaryHealthCareCenterTO findHealthCareCenterByName(String searchedName) {
|
public PrimaryHealthCareCenterTO findHealthCareCenterByName(String searchedName) {
|
||||||
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery("from PrimaryHealthCareCenterJPA cap where cap.name=:name", PrimaryHealthCareCenterJPA.class);
|
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery("from PrimaryHealthCareCenterJPA cap where cap.name=:name", PrimaryHealthCareCenterJPA.class);
|
||||||
query.setMaxResults(1);
|
query.setMaxResults(1);
|
||||||
@@ -205,12 +207,14 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
return this.commonServices.getPOJOforPrimaryHealthCareCenterJPA(cap);
|
return this.commonServices.getPOJOforPrimaryHealthCareCenterJPA(cap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Long getCAPCount() {
|
public Long getCAPCount() {
|
||||||
TypedQuery<Long> query = entman.createQuery("SELECT count(1) from PrimaryHealthCareCenterJPA", Long.class);
|
TypedQuery<Long> query = entman.createQuery("SELECT count(1) from PrimaryHealthCareCenterJPA", Long.class);
|
||||||
|
|
||||||
return query.getSingleResult();
|
return query.getSingleResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<PrimaryHealthCareCenterTO> listCAPsPaged(int pageNumber, int pageSize) {
|
public List<PrimaryHealthCareCenterTO> listCAPsPaged(int pageNumber, int pageSize) {
|
||||||
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery("SELECT c from PrimaryHealthCareCenterJPA c order by c.name", PrimaryHealthCareCenterJPA.class);
|
TypedQuery<PrimaryHealthCareCenterJPA> query = entman.createQuery("SELECT c from PrimaryHealthCareCenterJPA c order by c.name", PrimaryHealthCareCenterJPA.class);
|
||||||
|
|
||||||
@@ -229,6 +233,7 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
return caps;
|
return caps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<FamilyDoctorTO> listAllFamilyDoctorsByCAPPaged(int primaryHealthCareCenterId, int pageNumber, int pageSize) {
|
public List<FamilyDoctorTO> listAllFamilyDoctorsByCAPPaged(int primaryHealthCareCenterId, int pageNumber, int pageSize) {
|
||||||
List<FamilyDoctorTO> familyDoctorsByCAP = new ArrayList<FamilyDoctorTO>();
|
List<FamilyDoctorTO> familyDoctorsByCAP = new ArrayList<FamilyDoctorTO>();
|
||||||
|
|
||||||
@@ -250,10 +255,32 @@ public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|||||||
return familyDoctorsByCAP;
|
return familyDoctorsByCAP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Long getPatientCount(int familyDoctorId) {
|
public Long getPatientCount(int familyDoctorId) {
|
||||||
TypedQuery<Long> query = entman.createQuery("SELECT count(1) from PatientJPA p where p.familyDoctor.id=:familyDoctorId", Long.class);
|
TypedQuery<Long> query = entman.createQuery("SELECT count(1) from PatientJPA p where p.familyDoctor.id=:familyDoctorId", Long.class);
|
||||||
query.setParameter("familyDoctorId", familyDoctorId);
|
query.setParameter("familyDoctorId", familyDoctorId);
|
||||||
|
|
||||||
return query.getSingleResult();
|
return query.getSingleResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SystemAdminTO findAdminByEmail(String email) {
|
||||||
|
TypedQuery<SystemAdminJPA> query = entman.createQuery("from SystemAdminJPA a where a.email=:email", SystemAdminJPA.class);
|
||||||
|
query.setMaxResults(1);
|
||||||
|
query.setParameter("email", email);
|
||||||
|
|
||||||
|
List<SystemAdminJPA> results = query.getResultList();
|
||||||
|
if (results.size() > 0)
|
||||||
|
return this.commonServices.getPOJOforSystemAdminJPA(results.get(0));
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SystemAdminTO insertAdmin(String email, String password) throws Exception {
|
||||||
|
SystemAdminJPA admin = new SystemAdminJPA(email, password);
|
||||||
|
entman.persist(admin);
|
||||||
|
|
||||||
|
return this.commonServices.getPOJOforSystemAdminJPA(admin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import TO.FamilyDoctorTO;
|
|||||||
import TO.LoggedUserTO;
|
import TO.LoggedUserTO;
|
||||||
import TO.MedicalSpecialtyTO;
|
import TO.MedicalSpecialtyTO;
|
||||||
import TO.PrimaryHealthCareCenterTO;
|
import TO.PrimaryHealthCareCenterTO;
|
||||||
|
import TO.SystemAdminTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -45,4 +46,8 @@ public interface SystemAdminFacadeRemote {
|
|||||||
public List<FamilyDoctorTO> listAllFamilyDoctorsByCAPPaged(int primaryHealthCareCenterId, int pageNumber, int pageSize);
|
public List<FamilyDoctorTO> listAllFamilyDoctorsByCAPPaged(int primaryHealthCareCenterId, int pageNumber, int pageSize);
|
||||||
|
|
||||||
public Long getPatientCount(int familyDoctorId);
|
public Long getPatientCount(int familyDoctorId);
|
||||||
|
|
||||||
|
public SystemAdminTO findAdminByEmail(String email);
|
||||||
|
|
||||||
|
public SystemAdminTO insertAdmin(String email, String password) throws Exception;
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ import javax.persistence.Table;
|
|||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "MyHealth.Administrator")
|
@Table(name = "MyHealth.Administrator")
|
||||||
public class AdministratorJPA implements Serializable {
|
public class SystemAdminJPA implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -24,11 +24,11 @@ public class AdministratorJPA implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* Class constructor methods
|
* Class constructor methods
|
||||||
*/
|
*/
|
||||||
public AdministratorJPA() {
|
public SystemAdminJPA() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdministratorJPA(String email, String password) {
|
public SystemAdminJPA(String email, String password) {
|
||||||
this.email = email;
|
this.email = email;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
@@ -109,6 +109,8 @@ public class AuthorizationFilter implements Filter {
|
|||||||
authorized = true;
|
authorized = true;
|
||||||
if (reqURI.indexOf("/systemAdmin/ListDoctorsByCenter") > 0)
|
if (reqURI.indexOf("/systemAdmin/ListDoctorsByCenter") > 0)
|
||||||
authorized = true;
|
authorized = true;
|
||||||
|
if (reqURI.indexOf("/systemAdmin/AddAdmin") > 0)
|
||||||
|
authorized = true;
|
||||||
if (reqURI.indexOf("/visit/PatientVisitList") > 0)
|
if (reqURI.indexOf("/visit/PatientVisitList") > 0)
|
||||||
authorized = true;
|
authorized = true;
|
||||||
if (reqURI.indexOf("/visit/UpdateVisit") > 0)
|
if (reqURI.indexOf("/visit/UpdateVisit") > 0)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class MenuMBean implements Serializable {
|
|||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
subMenu.addElement(createMenuItem("Ver médicos de un CAP", "fa fa-medkit", "/systemAdmin/ListDoctorsByCenter", null));
|
subMenu.addElement(createMenuItem("Ver médicos de un CAP", "fa fa-medkit", "/systemAdmin/ListDoctorsByCenter", null));
|
||||||
subMenu.addElement(new DefaultSeparator());
|
subMenu.addElement(new DefaultSeparator());
|
||||||
subMenu.addElement(createMenuItem("Añadir usuario Admin", "fa fa-user-secret", "/systemAdmin/ManageSpecialties", null));
|
subMenu.addElement(createMenuItem("Añadir usuario Admin", "fa fa-user-secret", "/systemAdmin/AddAdmin", null));
|
||||||
|
|
||||||
model.addElement(subMenu);
|
model.addElement(subMenu);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,79 @@
|
|||||||
|
package managedbean.systemAdmin;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
import javax.faces.application.FacesMessage;
|
||||||
|
import javax.inject.Named;
|
||||||
|
|
||||||
|
import TO.LoggedUserTO;
|
||||||
|
import TO.MedicalSpecialtyTO;
|
||||||
|
import common.HashUtils;
|
||||||
|
import managedbean.common.ManagedBeanBase;
|
||||||
|
import managedbean.common.SessionUtils;
|
||||||
|
|
||||||
|
@Named("AddAdmin")
|
||||||
|
@RequestScoped
|
||||||
|
public class AddAdminMBean extends ManagedBeanBase implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private String email;
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
public AddAdminMBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostConstruct
|
||||||
|
public void init() {
|
||||||
|
// Recuperamos el usuario logeado actual
|
||||||
|
LoggedUserTO usr = null;
|
||||||
|
try {
|
||||||
|
usr = SessionUtils.getloggedOnUser();
|
||||||
|
|
||||||
|
if (usr == null) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
||||||
|
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.manageException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmail() {
|
||||||
|
return email;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmail(String email) {
|
||||||
|
this.email = email;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertData() {
|
||||||
|
int error = 0;
|
||||||
|
|
||||||
|
if (this.getRemoteManagerSystemAdmin().findAdminByEmail(email) != null) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Administrador ya existente", "El administrador ya se encuentra dado de alta");
|
||||||
|
error++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (error == 0) {
|
||||||
|
try {
|
||||||
|
this.getRemoteManagerSystemAdmin().insertAdmin(email, HashUtils.hashMD5(password));
|
||||||
|
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "El administrador se ha dado de alta", "Los datos del administrador se han guardado correctamente.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
this.manageException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user