Fórum Cadastro de Usuário com role Padrão #490220
26/08/2014
0
preciso criar uma tela de cadastro onde o usuário ira se cadastrar. esse usuário precisa ser com uma permissão (role) do tipo "USUARIO", alguém tem alguma ideia?
Entity
@Table(name = "usuario")
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String login;
private String senha;
private String telefone;
private String email;
private String dataNascimento;
private List<Grupo> grupos = new ArrayList<>();
private List<HelpDesk> helpdesk = new ArrayList<>();
private Local local;@Entity
@Table(name = "grupo")
public class Grupo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String descricao;nessa tabela grupo eu ja tenho a roles cadastradas. entao na hora de salvar o usuario teria como atribuir a id da role ja?
Jardel Fuchter
Curtir tópico
+ 0Post mais votado
03/09/2014
public Usuario salvar(Usuario usuario){
//Adiciona o grupo padrão ao usuario antes de salvar
List<Grupo> grupos = new ArrayList<Grupo>();
grupos.add(buscarGrupo('padrao'));
usuario.setGrupos(grupos);
return usuarios.guardar(usuario);
}
Outra coisa que percebi, no seu mapeamento está faltando bastante coisas, você só está usando o mapeamento da tabela mas falta colocar as anotações nas colunas.
Ronaldo Lanhellas
Gostei + 1
Mais Posts
01/09/2014
Jardel Fuchter
preciso criar uma tela de cadastro onde o usuário ira se cadastrar. esse usuário precisa ser com uma permissão (role) do tipo "USUARIO", alguém tem alguma ideia?
Entity
@Table(name = "usuario")
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String login;
private String senha;
private String telefone;
private String email;
private String dataNascimento;
private List<Grupo> grupos = new ArrayList<>();
private List<HelpDesk> helpdesk = new ArrayList<>();
private Local local;@Entity
@Table(name = "grupo")
public class Grupo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String descricao;nessa tabela grupo eu ja tenho a roles cadastradas. entao na hora de salvar o usuario teria como atribuir a id da role ja?
alguem?
Gostei + 0
01/09/2014
Jardel Fuchter
preciso criar uma tela de cadastro onde o usuário ira se cadastrar. esse usuário precisa ser com uma permissão (role) do tipo "USUARIO", alguém tem alguma ideia?
Entity
@Table(name = "usuario")
public class Usuario implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String login;
private String senha;
private String telefone;
private String email;
private String dataNascimento;
private List<Grupo> grupos = new ArrayList<>();
private List<HelpDesk> helpdesk = new ArrayList<>();
private Local local;@Entity
@Table(name = "grupo")
public class Grupo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
private String nome;
private String descricao;nessa tabela grupo eu ja tenho a roles cadastradas. entao na hora de salvar o usuario teria como atribuir a id da role ja?
alguem?
Gostei + 0
01/09/2014
Ronaldo Lanhellas
1 - Você pode criar uma TRIGGER no AFTER INSERT da sua tabela "usuario". Toda vez que um novo usuário for inserido no banco, você pode fazer um INSERT na tabela "usuario_grupo" criando um relacionamento entre o usuario X e o grupo Y;
2 - Você pode optar por alterar o construtor da classe Usuario de forma que sempre que for criado uma novo usuário, o GRUPO X seja adicionado a ele;
3 - Você pode adicionar o GRUPO X ao novo Usuario Y, direto no CRUD que você deve estar usando;
Gostei + 0
02/09/2014
Jardel Fuchter
Gostei + 0
02/09/2014
Jardel Fuchter
public String salvar() {
this.usuario = cadastroUsuarioService.salvar(this.usuario);
limpar();
FacesUtil.addInfoMessage("Cadastrado efetuado com Sucesso!");
return "/Login.xhtml";
}service
public Usuario salvar(Usuario usuario){
return usuarios.guardar(usuario);
}Dao
public Usuario guardar(Usuario usuario) {
EntityTransaction trx = manager.getTransaction();
trx.begin();
usuario = manager.merge(usuario);
trx.commit();
return usuario;
}
quero que quando o usuario cadastra ja inclui o grupo com id 3 no banco
Gostei + 0
03/09/2014
Jardel Fuchter
Gostei + 0
04/09/2014
Jardel Fuchter
public Usuario salvar(Usuario usuario){
//Adiciona o grupo padrão ao usuario antes de salvar
List<Grupo> grupos = new ArrayList<Grupo>();
grupos.add(buscarGrupo('padrao'));
usuario.setGrupos(grupos);
return usuarios.guardar(usuario);
}[img]http://arquivo.devmedia.com.br/forum/imagem/341138-20140904-080206.png[/img]
Gostei + 0
04/09/2014
Ronaldo Lanhellas
public Usuario salvar(Usuario usuario){
//Adiciona o grupo padrão ao usuario antes de salvar
List<Grupo> grupos = new ArrayList<Grupo>();
grupos.add(buscarGrupo('padrao'));
usuario.setGrupos(grupos);
return usuarios.guardar(usuario);
}[img]http://arquivo.devmedia.com.br/forum/imagem/341138-20140904-080206.png[/img]
Não não, o método "buscarGrupo('padrao')" foi apenas um exemplo, onde quis dizer que você deve implementar um método para buscar o grupo que deseja colocar como padrão.
Gostei + 0
09/09/2014
Jardel Fuchter
o Botao e o dialog
oncomplete="confirmacaoExclusao.show()" process="@this"
update=":frmCad:confirmacaoExclusaoDialog">
<f:setPropertyActionListener
target="#{cadastroUsuarioBean.grupoSelecionado}"
value="#" />
</p:commandButton>
<p:confirmDialog header="Exclusão do Grupo"
message="Tem certeza que deseja excluir o Grupo?"
widgetVar="confirmacaoExclusao" id="confirmacaoExclusaoDialog">
<p:button value="Não"
onclick="confirmacaoExclusao.hide(); return false;" />
<p:commandButton value="Sim"
oncomplete="confirmacaoExclusao.hide();"
action="#{cadastroUsuarioBean.removeGrupo}" process="@this"
update=":frmCad:gruposTable" />
</p:confirmDialog>
public void removeGrupo() {
usuario.getGrupos().remove(grupos);
}
Gostei + 0
09/09/2014
Ronaldo Lanhellas
Gostei + 0
09/09/2014
Jardel Fuchter
Caused by: javax.el.PropertyNotFoundException: /usuarios/admin/CadastroUsuarioPermissoes.xhtml @77,30 target="#{cadastroUsuarioBean.grupoSelecionado}": Property 'grupoSelecionado' not found on type com.jf.controller.CadastroUsuarioBean$Proxy$_$$_WeldClientProxy
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:133)
at com.sun.faces.facelets.tag.jsf.core.SetPropertyActionListenerHandler$SetPropertyListener.processAction(SetPropertyActionListenerHandler.java:211)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:1106)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
... 50 moreGostei + 0
09/09/2014
Ronaldo Lanhellas
<f:setPropertyActionListener
target="#{cadastroUsuarioBean.grupoSelecionado}"
value="#" />
Gostei + 1
09/09/2014
Jardel Fuchter
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)