Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Sistema Multi-empresa Bom dia Pessoal, Tudo bem? Sou novo utilizando o ADIANTI e tenho um ponto que gostaria do palpite de vocês. Estou desenvolvendo uma aplicação que é multi-empresa, com isso pesquisei no Google e localizei os post dos colegas referente a multi-empresa, porém não entendi um ponto. Por padrão já existe a possibilidade de cadastro de unidade, logo se mudar no arquivo ini para utilizar as u...
SV
Sistema Multi-empresa  
Bom dia Pessoal, Tudo bem?
Sou novo utilizando o ADIANTI e tenho um ponto que gostaria do palpite de vocês.
Estou desenvolvendo uma aplicação que é multi-empresa, com isso pesquisei no Google e localizei os post dos colegas referente a multi-empresa, porém não entendi um ponto.

Por padrão já existe a possibilidade de cadastro de unidade, logo se mudar no arquivo ini para utilizar as unidades o sistema no login apresenta o campo da unidade, até ai vai de encontro com o que preciso, mas os campos neste cadastro não me atende, então vem as dúvidas:
- Posso modificar a tabela de unidade e acrescentar os campos que necessito e continuar utilizando "o padrão" ?
- Utilizando o padrão, como consigo pegar qual a unidade o sistema está setado, por ser padrão ele já está na session? Caso afirmativo, alguém poderia me elucidar o nome deste campo na Session?


Desde já agradeço a todos pela ajuda.

Abraços

Samuel de Vincenzo

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (5)


MG

Samuel
Sim, você pode acrescentar ou retirar campos.
O padrão do framework é o mínimo para um sistema completo, e pode ser alterado conforme sua necessidade.

Os valores da session são definidos durante o login em app/control/admin/LoginForm.class.php no método onLogin

Abaixo reproduzo os campos as quais a session é gravada e o campo que precisa está em TSession::getValue('userunitids')

  1. <?php
  2.                 TSession::setValue('logged'TRUE);
  3.                 TSession::setValue('login'$data->login);
  4.                 TSession::setValue('userid'$user->id);
  5.                 TSession::setValue('usergroupids'$user->getSystemUserGroupIds());
  6.                 TSession::setValue('userunitids'$user->getSystemUserUnitIds());
  7.                 TSession::setValue('username'$user->name);
  8.                 TSession::setValue('usermail'$user->email);
  9.                 TSession::setValue('frontpage''');
  10.                 TSession::setValue('programs',$programs);
  11. ?>
SV

Marcelo, Boa Tarde!

Obrigado pela resposta, me ajudou bastante.

Neste caso, posso também acrescentar uma combobox igual de programas, mas para empresas que ele seguirá a mesma forma do combobox dos programas. claro se atentando em sempre carregar na TSession::getValue('userunitids') o novo ID da filial.

Certo?
MG

Isso mesmo, ou até mesmo criar novos campos e novas entidades.
Fica a a critério do seu projeto.
É muito flexível.
SV

Perfeito!

Só para desencargo de consciência, quando eu for gravar na tabela como eu passaria o campo que está na session para ser gravado?
Seria desta forma?
$obj->userunitids();

ou carregaria em um text hidden com o nome da variavel em chaves? ex: {userunitids}

Mais uma vez obrigado!

MG

Samuel é muito simples

$obj->userunitids = TSession::getValue('userunitids');