ES
Filtrar usuarios no TDBSeekButton pelo grupo
Olá, como obter apenas os usuários que estão em determinado grupo utilizando o TDBSeekButton? qual a forma correta de setar o TCriteria?
Fiz uma gambiarra aqui momentaneamente, cadastrei um novo campo chamado cadastro e uso o TCriteria ali, mas o que realmente preciso é filtrar pelo grupo.
Atualmente:
Fiz uma gambiarra aqui momentaneamente, cadastrei um novo campo chamado cadastro e uso o TCriteria ali, mas o que realmente preciso é filtrar pelo grupo.
Atualmente:
$criterio = new TCriteria;
$criterio->add(new TFilter('cadastro', '=', $preferencias['value']));
$id_usuario = new TDBSeekButton('id_usuario', 'permission', 'form_x', 'SystemUser', 'name', 'id_usuario', 'nome_usuario', $criterio);
Na versão 4 do framework tem um campo chamado system_unit_id na SystemUser, fica mais fácil de filtrar.
Acredito que ficaria algo como:
$criterio->add(new TFilter('system_unit_id', '=', $unidade_requerida));
Mas se quer somente os SystemUser de determinado grupo (SystemUserGroup) tenta assim:
$criterio->add(new TFilter('id', 'IN', '(SELECT system_user_id FROM SystemUserGroup WHERE system_group_id = 1)' ));
Vai filtrar só do grupo com id=1, depois altera pra pegar um valor de um TCombo ou coisa parecida.
Perfeito Alexandre, funcionou redondinho.
Muito obrigado pela força!