NJ
Função chamando função
Estou com uma função que quero chamá-la na função onEdit, mas não consigo.
Quando escolher em um tCombo uma opção o tCombo seguinte exclui uma opção de sua lista, quando abro apágina é chamada a função onEdit, onde prerciso que
esta função que criei funcione.
Seguem a s funções:
public static function onPossuiResPropriaChange($param)
{
try
{
TTransaction::open('sph');
$repository = new TRepository('SituacaoMoradia');
$criteria = new TCriteria;
if ( $param['possui_residencia_propria'] == 0)
{
$criteria->add(new TFilter('id', '<>', '4'));
}
$sitmoradias = $repository->load($criteria);
TTransaction::close();
$options = array();
foreach ($sitmoradias as $sitmoradia)
{
$options[$sitmoradia->id] = $sitmoradia->nome;
}
TCombo::reload('','situacao_moradia_id' , $options);
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}
}
Segue a onEdit, onde quero chamar a função acima:
public function onEdit($param)
{
try
{
// abre a transação com bd 'sph'
TTransaction::open('sph');
// instancia objeto pretendente
$user = Pretendente::newFromUserId(TSession::getValue('userid'));
// carrega cidade/uf do pretendente
if ( $user->cidade_id )
{
$cidade = new Cidade($user->cidade_id);
$user->cidade_id = [ $cidade->id => $cidade->nome.' ('.$cidade->uf_sigla.')' ];
}
// carrega cidade/uf_pretendida do pretendente
if ( $user->cidade_pretendida_id )
{
$cidade_pretendida = new Cidade($user->cidade_pretendida_id);
$user->cidade_pretendida_id = [ $cidade_pretendida->id => $cidade_pretendida->nome.' ('.$cidade_pretendida->uf_sigla.')' ];
}
/** // carrega empreendimentos do pretendente
$empreendimentos = array();
if( $emps_db = $user->getPretendenteEmpreendimentos() )
{
foreach( $emps_db as $emp )
{
$empreendimentos[] = $emp->id;
}
}
$user->empreendimentos_id = $empreendimentos; */
// carrega form com dados do objeto instanciado
$this->form->setData($user);
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}
}
Quando escolher em um tCombo uma opção o tCombo seguinte exclui uma opção de sua lista, quando abro apágina é chamada a função onEdit, onde prerciso que
esta função que criei funcione.
Seguem a s funções:
public static function onPossuiResPropriaChange($param)
{
try
{
TTransaction::open('sph');
$repository = new TRepository('SituacaoMoradia');
$criteria = new TCriteria;
if ( $param['possui_residencia_propria'] == 0)
{
$criteria->add(new TFilter('id', '<>', '4'));
}
$sitmoradias = $repository->load($criteria);
TTransaction::close();
$options = array();
foreach ($sitmoradias as $sitmoradia)
{
$options[$sitmoradia->id] = $sitmoradia->nome;
}
TCombo::reload('','situacao_moradia_id' , $options);
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}
}
Segue a onEdit, onde quero chamar a função acima:
public function onEdit($param)
{
try
{
// abre a transação com bd 'sph'
TTransaction::open('sph');
// instancia objeto pretendente
$user = Pretendente::newFromUserId(TSession::getValue('userid'));
// carrega cidade/uf do pretendente
if ( $user->cidade_id )
{
$cidade = new Cidade($user->cidade_id);
$user->cidade_id = [ $cidade->id => $cidade->nome.' ('.$cidade->uf_sigla.')' ];
}
// carrega cidade/uf_pretendida do pretendente
if ( $user->cidade_pretendida_id )
{
$cidade_pretendida = new Cidade($user->cidade_pretendida_id);
$user->cidade_pretendida_id = [ $cidade_pretendida->id => $cidade_pretendida->nome.' ('.$cidade_pretendida->uf_sigla.')' ];
}
/** // carrega empreendimentos do pretendente
$empreendimentos = array();
if( $emps_db = $user->getPretendenteEmpreendimentos() )
{
foreach( $emps_db as $emp )
{
$empreendimentos[] = $emp->id;
}
}
$user->empreendimentos_id = $empreendimentos; */
// carrega form com dados do objeto instanciado
$this->form->setData($user);
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
}
}
Para chamar uma função estática dentro da mesma classe use o self:
Obs: essa função espera receber um parâmetro do tipo array, então não esqueça de passar esse dado.