menu
Fórum Adianti
menu Menu
Campos created_by and updated_by aparecendo id e não name Boa Tarde, Estou iniciando no Adianti Framework e estou precisando de um help. Tenho um model onde tenho os campos created_by e updated_by, onde gravo o id do usuário logado no momento da inclusão ou alteração. Entretanto, nas grids e forms gostaria de que o campo name do system_user aparecesse e não o id. Segue abaixo o código do model onde tentei fazer o acesso ao system_user e...
PS
Campos created_by and updated_by aparecendo id e não name  
Boa Tarde,

Estou iniciando no Adianti Framework e estou precisando de um help.

Tenho um model onde tenho os campos created_by e updated_by, onde gravo o id do usuário logado no momento da inclusão ou alteração.

Entretanto, nas grids e forms gostaria de que o campo name do system_user aparecesse e não o id.

Segue abaixo o código do model onde tentei fazer o acesso ao system_user e trazer o campo name.

Não entendi exatamente como fazer para aparecer o nome no campo created_by e updated_by ao invés do id. Toda ajuda será bem-vinda.

  1. <?php
  2. /**
  3.  * TbSanEtaEte
  4.  *
  5.  * @version    1.0
  6.  * @package    model
  7.  * @subpackage san
  8.  * @author     Pedro Isaias Soares
  9.  * @copyright  Copyright (c) 2022 gybwbr Solutions Ltd. (http://www.gybwbr.com)
  10.  * @license    http://www.adianti.com.br/framework-license
  11.  */
  12. class TbSanIndEta extends TRecord
  13. {
  14.     const TABLENAME 'tb_san_indeta';
  15.     const PRIMARYKEY'id';
  16.     const IDPOLICY =  'max'// {max, serial}
  17.     
  18.     private $tb_san_etaete;
  19.     private $system_user;
  20.     
  21.     /**
  22.      * Constructor method
  23.      */
  24.     public function __construct($id NULL$callObjectLoad TRUE)
  25.     {
  26.         parent::__construct($id$callObjectLoad);
  27.         parent::addAttribute('dtlanc');
  28.         parent::addAttribute('hrlanc');
  29.         parent::addAttribute('sulal_dens');
  30.         parent::addAttribute('sulal_conc');
  31.         parent::addAttribute('ab_vazao');
  32.         parent::addAttribute('ab_ph');
  33.         parent::addAttribute('ab_turb');
  34.         parent::addAttribute('pt_m1_precloro');
  35.         parent::addAttribute('pt_m1_sulmg');
  36.         parent::addAttribute('pt_m1_sulml');
  37.         parent::addAttribute('pt_m1_turbdec');
  38.         parent::addAttribute('pt_m1_turbf1');
  39.         parent::addAttribute('pt_m1_turbf2');
  40.         parent::addAttribute('pt_m1_turbf3');
  41.         parent::addAttribute('pt_m1_turbf4');
  42.         parent::addAttribute('pt_m2_turbdec');
  43.         parent::addAttribute('pt_m2_turbf1');
  44.         parent::addAttribute('pt_m2_turbf2');
  45.         parent::addAttribute('pt_m2_turbf3');
  46.         parent::addAttribute('pt_m2_turbf4');
  47.         parent::addAttribute('pt_m2_turbf5');
  48.         parent::addAttribute('pt_m2_turbf6');
  49.         parent::addAttribute('pt_tc_ph');
  50.         parent::addAttribute('pt_tc_turb');
  51.         parent::addAttribute('pt_tc_cloro');
  52.         parent::addAttribute('pt_tc_fluor');
  53.         parent::addAttribute('af_res3m_ph');
  54.         parent::addAttribute('af_res3m_turb');
  55.         parent::addAttribute('af_res3m_cor');
  56.         parent::addAttribute('af_res3m_cloro');
  57.         parent::addAttribute('af_res3m_fluor');
  58.         parent::addAttribute('nafp_ph');
  59.         parent::addAttribute('nafp_turb');
  60.         parent::addAttribute('nafp_cor');
  61.         parent::addAttribute('nafp_cloro');
  62.         parent::addAttribute('nafp_fluor');
  63.         parent::addAttribute('created_by');
  64.         parent::addAttribute('created_at');
  65.         parent::addAttribute('updated_by');
  66.         parent::addAttribute('updated_at');
  67.         parent::addAttribute('tb_san_etaete_id');
  68.     }
  69.     public function onBeforeStore($object
  70.     {
  71.         if (empty($object->id)) {
  72.             $object->created_at date('Y-m-d H:i:s');
  73.             $object->created_by TSession::getValue('userid');
  74.         }
  75.         $object->updated_at date('Y-m-d H:i:s');
  76.         $object->updated_by TSession::getValue('userid');
  77.     }    
  78.     
  79.     /**
  80.      * Method set_tb_san_etaete
  81.      * Sample of usage: $tb_san_indeta->tb_san_etaete = $object;
  82.      * @param $object Instance of TbSanEtaete
  83.      */
  84.     public function set_tb_san_etaete(TbSanEtaEte $object)
  85.     {
  86.         $this->tb_san_etaete $object;
  87.         $this->tb_san_etaete_id $object->id;
  88.     }
  89.     
  90.     /**
  91.      * Method get_tb_san_etaete
  92.      * Sample of usage: $tb_san_indeta->tb_san_etaete->attribute;
  93.      * @returns TbSanEtaete instance
  94.      */
  95.     public function get_tb_san_etaete()
  96.     {
  97.         // loads the associated object
  98.         if (empty($this->tb_san_etaete))
  99.             $this->tb_san_etaete = new TbSanEtaEte($this->tb_san_etaete_id);
  100.     
  101.         // returns the associated object
  102.         return $this->tb_san_etaete;
  103.     }
  104.     
  105.     
  106.     /**
  107.      * Method set_system_user
  108.      * Sample of usage: $tb_san_indeta->system_user = $object;
  109.      * @param $object Instance of SystemUser
  110.      */
  111.     public function set_system_user(SystemUser $object)
  112.     {
  113.         $this->system_user $object;
  114.         $this->system_user_id $object->id;
  115.     }
  116.     
  117.     /**
  118.      * Method get_system_user
  119.      * Sample of usage: $tb_san_indeta->system_user->attribute;
  120.      * @returns SystemUser instance
  121.      */
  122.     public function get_system_user()
  123.     {
  124.         // loads the associated object
  125.         if (empty($this->system_user))
  126.             $this->system_user = new SystemUser($this->system_user_id);
  127.     
  128.         // returns the associated object
  129.         return $this->system_user;
  130.     }
  131.     
  132. }    
  133.     

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 (4)


PS

Boa Tarde, pessoal.

Consegui resolver o problema levantado anteriormente usando o Adianti Builder. Nele criei o model das tabelas e pedi para gerar as classes. Na sequencia copiei os dados gerados para o meu programa e funcionou para a Grid.

No TEntry do controle Form ainda não aparece, mas provavelmente deve ser o componente TEntry que não esta aceitando. Ele não deve funcionar como o componente TDBGrid no controle List.

Mas se puderem me informar como fazer com que quando eu seleciono um registro na grid para edição eu possa mostar o nome do usuário que fez inclusão e o nome do que fez alteração no Form que se abre agradeço. Na grid tá funcionando perfeitamente bem. No Form não aparece nada, nem o id nem o name.
LA

  1. <?php
  2.     $updated_by = new THidden('usuario_nome');
  3.         $created_by = new THidden('usuario_nome');
  4.         $this->form->addFields([$updated_by],[$created_by]);
  5.     public function onNew() {
  6.     //ExemploList:  $this->form->addAction(_t('New'), new TAction(array('ExemploForm', 'onNew')), 'ico_new2.png');
  7.         $this->form->clear();
  8.         $object = new StdClass;
  9.         $object->created_by TSession::getValue('username');
  10.         $this->form->setData($object);
  11.     }
  12.     public function onEdit($param) {
  13.         if (isset($param['key'])) {
  14.             TTransaction::open($this->database);
  15.             $object = new TbSanIndEta($param['key']);
  16.             $object->updated_by TSession::getValue('username');
  17.             TTransaction::close();
  18.             $this->form->setData($object);
  19.         } else {
  20.             $this->form->clear();
  21.         }
  22.     }
  23. ?>
LA

Corrigindo!
  1. <?php
  2.     $updated_by = new THidden('updated_by');
  3.         $created_by = new THidden('created_by');
  4.  ?>
PS

Obrigado, Luis.

Adaptei o exemplo que você postou aqui e funcionou.

Valeu pela ajuda!!!