Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos!
Meus amigos, estou com um problema num sistema de envio de memorandos/circulares e gostaria de algumas ideias p/ tentar resolver!
O sistema possui usuários que fazem parte de departamentos! esses usuários após entrarem no sistema (Auth-ACL configurado) podem enviar os documentos para outros departamentos.
A dúvida é a seguinte: como eu posso fazer para que o documento enviado (salvo no banco) seja visualizado apenas pelos usuários do departamentos destino? As configurações do Auth-ACL podem resolver este problema ou só ajudam nas partes do sistema que o usuário pode acessar? Irei precisar de sessões, certo?
estou utilizando o cakephp a pouco mais de 2 meses ;D
abração!
vlw desde já!
Muito obrigado por ter respondido!
Na verdade tenho um campo departamento_id na tabela usuários! os departamentos já estão cadastrados no banco. Os usuários novos serão cadastrados e escolherão seus departamentos... sendo assim, sigo o mesmo raciocínio do método que você enviou para que os usuários cadastrados em determinado departamento possam ver os documentos enviados unicamente para o seu departamento?
vlw mais uma vez.. ^^
Ah entendi rsss... "usuarios" que é a tabela "pai", entao só inverter a busca do find(), tente primeiro e diga se funcionou ;)
Leia (ingles):
http://book.cakephp.org/view/1018/find
http://book.cakephp..../1022/find-list
http://book.cakephp....w/1021/find-all
e aqui o exemplo do conditions que citei acima ^^
Utilizei o método que você me passou!
$usuarios = $this->Usuario->findById($this->Auth->user(id));
o problema agora é que na tabela de usuários tem o campo departamento_id. Aparece o seguinte erro que por sinal ainda não consegui resolver:
$sql = "SELECT COUNT(*) AS count FROM usuarios AS Usuario LEFT JOIN departamentos AS Departamento ON ...
$error = "1054: Unknown column 'Usuario' in 'where clause'"
$out = null
Acredito que já esteja no caminho! vlw
:D
abaixo de
$usuarios = $this->Usuario->findById($this->Auth->user(id));
dê um pr($usuarios);
e me mostre o resultado·.
Utilize tags [ code][ /code]
Abraço!
Então isso quer dizer que "departamentos" têm usuarios, certo?
Na tabela departamentos precisa ter o campo "user_id" e só você fazer uma busca assim, preste atenção:
$this->Departamento->findByUserId($this->Auth->user('id'));
Este foi o método mais simples possível, claro que poderia utilizar o "conditions" com o find('all'), mas agora é com você ;)
Abraço!