Alterar Perfil (fixes bug #6329)

Tempo: 04 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@44290 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-22 20:42:21 +00:00
parent 124c13fbd1
commit d92e77a6e1
3 changed files with 375 additions and 323 deletions

View File

@ -4,17 +4,10 @@
*/ */
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad; package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
import com.rjconsultores.ventaboletos.entidad.Perfil;
import com.rjconsultores.ventaboletos.service.PerfilService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPerfil;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -26,6 +19,18 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Paging; import org.zkoss.zul.Paging;
import org.zkoss.zul.Textbox; import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Perfil;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.service.PerfilService;
import com.rjconsultores.ventaboletos.service.UsuarioService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPerfil;
import com.trg.search.Filter;
/** /**
* *
* @author rodrigo * @author rodrigo
@ -34,12 +39,19 @@ import org.zkoss.zul.Textbox;
@Scope("prototype") @Scope("prototype")
public class BusquedaPerfilController extends MyGenericForwardComposer { public class BusquedaPerfilController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(BusquedaPerfilController.class);
@Autowired @Autowired
private transient PagedListWrapper<Perfil> plwPerfil; private transient PagedListWrapper<Perfil> plwPerfil;
@Autowired
private PerfilService perfilService;
@Autowired
private UsuarioService usuarioService;
private MyListbox perfilList; private MyListbox perfilList;
private Paging pagingPerfil; private Paging pagingPerfil;
private Textbox txtNome; private Textbox txtNome;
private PerfilService perfilService;
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
@ -61,7 +73,7 @@ public class BusquedaPerfilController extends MyGenericForwardComposer {
txtNome.focus(); txtNome.focus();
} }
private void verSistema(Perfil s) { private void verSistema(Perfil s) throws InterruptedException {
if (s == null) { if (s == null) {
return; return;
} }
@ -87,6 +99,19 @@ public class BusquedaPerfilController extends MyGenericForwardComposer {
sistemaBusqueda.addSortAsc("descperfil"); sistemaBusqueda.addSortAsc("descperfil");
sistemaBusqueda.addFilterEqual("activo", Boolean.TRUE); sistemaBusqueda.addFilterEqual("activo", Boolean.TRUE);
Usuario usuarioLogado = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId());
Perfil perfilUsuario = usuarioLogado.getUsuarioPerfilList().get(0).getPerfil();
PerfilJerarquia usuarioJerarquia = PerfilJerarquia.buscar(perfilUsuario.getIndJerarquia());
if (!usuarioJerarquia.equals(PerfilJerarquia.ADMIN)) {
if (!usuarioJerarquia.equals(PerfilJerarquia.NORMAL)) {
sistemaBusqueda.addFilterOr(new Filter("indJerarquia", perfilUsuario.getIndJerarquia(), Filter.OP_GREATER_OR_EQUAL),
new Filter("indJerarquia", PerfilJerarquia.NORMAL.getValor(), Filter.OP_LESS_OR_EQUAL));
} else {
sistemaBusqueda.addFilterEqual("indJerarquia", PerfilJerarquia.NORMAL.getValor());
}
}
plwPerfil.init(sistemaBusqueda, perfilList, pagingPerfil); plwPerfil.init(sistemaBusqueda, perfilList, pagingPerfil);
perfilList.removeItem(perfilService.buscar("RJ").get(0)); perfilList.removeItem(perfilService.buscar("RJ").get(0));
if (perfilList.getData().length == 0) { if (perfilList.getData().length == 0) {
@ -95,6 +120,7 @@ public class BusquedaPerfilController extends MyGenericForwardComposer {
Labels.getLabel("busquedaPerfilController.window.title"), Labels.getLabel("busquedaPerfilController.window.title"),
Messagebox.OK, Messagebox.INFORMATION); Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) { } catch (InterruptedException ex) {
log.error("", ex);
} }
} }
@ -108,7 +134,7 @@ public class BusquedaPerfilController extends MyGenericForwardComposer {
refreshLista(); refreshLista();
} }
public void onClick$btnNovo(Event ev) { public void onClick$btnNovo(Event ev) throws InterruptedException {
verSistema(new Perfil()); verSistema(new Perfil());
} }
} }

View File

@ -51,6 +51,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPermiso;
@Scope("prototype") @Scope("prototype")
public class EditarPerfilController extends MyGenericForwardComposer { public class EditarPerfilController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(EditarPerfilController.class);
@Autowired @Autowired
private PerfilService perfilService; private PerfilService perfilService;
@Autowired @Autowired
@ -70,7 +73,6 @@ public class EditarPerfilController extends MyGenericForwardComposer {
private Radiogroup indPermiso; private Radiogroup indPermiso;
private Radio radReadOnly; private Radio radReadOnly;
private Radio radWrite; private Radio radWrite;
private static Logger log = Logger.getLogger(EditarPerfilController.class);
public Perfil getPerfil() { public Perfil getPerfil() {
return perfil; return perfil;
@ -180,7 +182,6 @@ public class EditarPerfilController extends MyGenericForwardComposer {
Labels.getLabel("editarPerfilController.window.title"), Labels.getLabel("editarPerfilController.window.title"),
Messagebox.INFORMATION); Messagebox.INFORMATION);
} }
event.stopPropagation(); event.stopPropagation();

View File

@ -0,0 +1,25 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad;
public enum PerfilJerarquia {
NORMAL(0), ADMIN(1), JERARQUIA_2(2), JERARQUIA_3(3), JERARQUIA_4(4);
private Integer valor;
private PerfilJerarquia(Integer valor) {
this.valor = valor;
}
public Integer getValor() {
return valor;
}
public static PerfilJerarquia buscar(Integer name) {
for (PerfilJerarquia jerarquia : PerfilJerarquia.values()) {
if (jerarquia.getValor().equals(name)) {
return jerarquia;
}
}
return null;
}
}