Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- ini_set('display_errors', 1);
- ini_set('display_startup_erros', 1);
- error_reporting(E_ALL);
- class GestorProgramaForm extends TPage
- {
- private $form;
- public function __construct()
- {
- parent::__construct();
- $this->form = new BootstrapFormBuilder('form_gestorprograma');
- $this->form->setFormTitle('Formulário Gestor Programa');
- $id = new THidden('id');
- $nomegestorprograma = new TEntry('nomegestorprograma');
- $municipio_id = new TCombo('municipio_id');
- $uf = new TCombo('uf');
- $cnpj = new TEntry('cnpj');
- $endereco = new TEntry('endereco');
- $bairro = new TEntry('bairro');
- $cep = new \Adianti\Widget\Form\TEntry('cep');
- $situacao = new TCombo('situacao');
- $uf->addItems(\Lib\Funcoes\Util::getUF());
- $actionUF = new TAction(array($this, 'onChangeActionUFMunicipio'));
- $uf->setChangeAction($actionUF);
- $situacao_array = [];
- $situacao_array['ATIVO'] = 'ATIVO';
- $situacao_array['INATIVO'] = 'INATIVO';
- $situacao->addItems($situacao_array);
- $nomegestorprograma->setMaxLength(100);
- $cnpj->setMaxLength(20);
- $endereco->setMaxLength(150);
- $bairro->setMaxLength(50);
- $cep->setMaxLength(9);
- $cep->setMask('99999-999');
- $nomegestorprograma->addValidation('Nome Gestor Programa', new TRequiredValidator);
- $municipio_id->addValidation('Município', new TRequiredValidator);
- $cnpj->addValidation('CNPJ', new \Adianti\Validator\TCNPJValidator());
- $endereco->addValidation('Endereço', new TRequiredValidator);
- $bairro->addValidation('Bairro', new TRequiredValidator);
- $cep->addValidation('CEP', new TRequiredValidator);
- $situacao->addValidation('Situação', new TRequiredValidator);
- $this->form->addFields([$id]);
- $this->form->addFields([new TLabel('Gestor Programa <i>*</i>')], [$nomegestorprograma]);
- $this->form->addFields([new TLabel('UF<i>*</i>')], [$uf]);
- $this->form->addFields([new TLabel('Município <i>*</i>')], [$municipio_id]);
- $this->form->addFields([new TLabel('CNPJ <i>*</i>')], [$cnpj]);
- $this->form->addFields([new TLabel('Endereço <i>*</i>')], [$endereco]);
- $this->form->addFields([new TLabel('Bairro <i>*</i>')], [$bairro]);
- $this->form->addFields([new TLabel('CEP <i>*</i>')], [$cep]);
- $this->form->addFields([new TLabel('Situação <i>*</i>')], [$situacao]);
- $this->form->addFields([new TLabel('')], [TElement::tag('label', '<i>* Campos obrigatórios</i>')]);
- $this->form->addAction('Salvar', new TAction(array($this, 'onSave')), 'fa:save')->class = 'btn btn-sm btn-primary';
- $this->form->addAction('Voltar', new TAction(array('GestorProgramaList', 'onReload')), 'fa:arrow-left')->class = 'btn btn-sm btn-primary';
- parent::add($this->form);
- }
- function onSave()
- {
- try {
- TTransaction::open('database');
- $this->form->validate();
- $object = $this->form->getData('GestorProgramaRecord');
- $object->usuarioalteracao = TSession::getValue('login');
- $object->dataalteracao = date("Y-m-d H:i:s");
- unset($object->uf);
- $object->store();
- TTransaction::close();
- $action_ok = new TAction(['GestorProgramaList', "onReload"]);
- new TMessage("info", "Registro salvo com sucesso!", $action_ok);
- } catch (Exception $e) {
- $uf = ($this->form->getField('uf'))->getValue();
- $municipio_id = ($this->form->getField('municipio_id'))->getValue();
- $this->onChangeActionUFMunicipio(['uf' => $uf, 'municipio_id' => $municipio_id]);
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- public static function onChangeActionUFMunicipio($param)
- {
- $fieldName = 'municipio_id';
- $formName = 'form_gestorprograma';
- $arrayDados = [];
- if (!empty($param['uf'])) {
- try {
- TTransaction::open('database');
- $repository = new TRepository('MunicipioRecord');
- $criteria = new TCriteria;
- $criteria->add(new TFilter('uf', '=', $param['uf']));
- $objects = $repository->load($criteria);
- if ($objects) {
- foreach ($objects as $object) {
- $arrayDados[$object->id] = $object->nomemunicipio;
- }
- } else {
- new TMessage('INFO', 'Nenhum município encontrado.');
- }
- TTransaction::close();
- } catch (Exception $e) {
- new TMessage('INFO', $e->getMessage());
- }
- }
- TCombo::reload($formName, $fieldName, $arrayDados);
- if (!empty($param['municipio_id']))
- TScript::create("$(document).ready( function() { $('select[name=" . $fieldName . "]').val(" . $param['municipio_id'] . "); });");
- }
- function onEdit($param)
- {
- try {
- if (isset($param['key'])) {
- $key = $param['key'];
- TTransaction::open('database');
- $object = new GestorProgramaRecord($key);
- $objMunicipio = (new MunicipioRecord($object->municipio_id));
- $object->uf = $objMunicipio->uf;
- $this->onChangeActionUFMunicipio(['uf' => $object->uf, 'municipio_id' => $object->municipio_id]);
- $this->form->setData($object);
- TTransaction::close();
- }
- } catch (Exception $e) {
- new TMessage('error', '<b>Error</b> ' . $e->getMessage() . "<br/>");
- TTransaction::rollback();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement