/** * Construtor da página */ public function __construct() { parent::__construct(); $this->connection = 'livro'; $this->activeRecord = 'Produto'; // instancia um formulário $this->form = new FormWrapper(new Form('form_produtos')); // cria os campos do formulário $codigo = new Entry('id'); $descricao = new Entry('descricao'); $estoque = new Entry('estoque'); $preco_custo = new Entry('preco_custo'); $preco_venda = new Entry('preco_venda'); $fabricante = new Combo('id_fabricante'); $tipo = new RadioGroup('id_tipo'); $unidade = new Combo('id_unidade'); // carrega os fabricantes do banco de dados Transaction::open('livro'); $fabricantes = Fabricante::all(); $items = array(); foreach ($fabricantes as $obj_fabricante) { $items[$obj_fabricante->id] = $obj_fabricante->nome; } $fabricante->addItems($items); $tipos = Tipo::all(); $items = array(); foreach ($tipos as $obj_tipo) { $items[$obj_tipo->id] = $obj_tipo->nome; } $tipo->addItems($items); $unidades = Unidade::all(); $items = array(); foreach ($unidades as $obj_unidade) { $items[$obj_unidade->id] = $obj_unidade->nome; } $unidade->addItems($items); Transaction::close(); // define alguns atributos para os campos do formulário $codigo->setEditable(FALSE); $this->form->addField('Código', $codigo, 100); $this->form->addField('Descrição', $descricao, 300); $this->form->addField('Estoque', $estoque, 300); $this->form->addField('Preço custo', $preco_custo, 200); $this->form->addField('Preço venda', $preco_venda, 200); $this->form->addField('Fabricante', $fabricante, 300); $this->form->addField('Tipo', $tipo, 300); $this->form->addField('Unidade', $unidade, 300); $this->form->addAction('Salvar', new Action(array($this, 'onSave'))); // cria um painél para conter o formulário $panel = new Panel('Produtos'); $panel->add($this->form); // adiciona o formulário na página parent::add($panel); }
public function editar($id) { $ci = Ci::get($id); $usuarios_u = null; if ($ci) { if ($ci->Enviado == 1) { throw new AuthException("Sem permissão", 403); } if (is_post) { $form = $this->_data(); try { $ci->Assunto = $_POST['Assunto']; $ci->Conteudo = $_POST['Conteudo']; $ci->Data = time(); $ci->IdUsuarioAutor = Session::get('usuario')->Id; $ci->IdUsuarioAutorizacao = $_POST['IdUsuarioAutorizacao'] != '-1' ? (int) $_POST['IdUsuarioAutorizacao'] : NULL; $IdDe_Tipo = explode('-', $_POST['IdDe']); $u_pertence = true; if ($ci->TipoPara == 0) { if (Usuariounidade::virificar_permissao($ci->IdPara, Session::get('usuario')->Id)) { $u_pertence = false; } } if ($u_pertence) { if ($_POST['IdDe'] != $_POST['IdPara']) { $ci->IdDe = (int) $IdDe_Tipo[0]; $ci->TipoDe = (int) $IdDe_Tipo[1]; $IdPara_Tipo = explode('-', $_POST['IdPara']); $ci->IdPara = (int) $IdPara_Tipo[0]; $ci->TipoPara = (int) $IdPara_Tipo[1]; $ci->IdUsuarioAtenciosamente = (int) $_POST['IdUsuarioAtenciosamente']; if ($ci->IdUsuarioAutorizacao != $ci->IdUsuarioAtenciosamente) { if ($_POST['Salvar'] == 'Salvar') { $ci->Enviado = 0; } else { if ($ci->IdUsuarioAtenciosamente == Session::get('usuario')->Id) { $ci->Enviado = 1; $n = Ci::get_ultima_ci($ci); $ci->Numero = ++$n; } else { throw new AuthException("Sem permissão", 403); } } Ci::salvar($ci); if ($ci->Enviado == 1) { $this->_flash('alert alert-success fade in', 'CI enviada com sucesso!'); $this->_redirect('~/ci/enviadas'); } else { $this->_flash('alert alert-success fade in', 'CI salva como rascunho!'); $this->_redirect('~/ci/rascunho'); } } else { $this->_flash('alert alert-error fade in', 'Os campos "Atenciosamente" e "Autorização" não podem ser iguais!'); } } else { $this->_flash('alert alert-error fade in', 'Os campos "De" e "Para" não podem ser iguais!'); } } else { $this->_flash('alert alert-error fade in', 'O campo "Para" não pode ser uma unidade que você pussui vínculo!'); } } catch (ValidationException $e) { $this->_flash('alert alert-error fade in', $e->getMessage()); } catch (Exception $e) { pre($e); $this->_flash('alert alert-error fade in', 'Ocorreu um erro ao tentar editar a CI!'); } } if ($ci->TipoPara == 0) { $usuarios_u = Viewusuariounidade::allByIdUnidade($ci->IdDe, 2); } } else { $this->_flash('alert alert-error fade in', 'CI não pode ser encontrada!'); $this->_redirect('~/ci/rascunho'); } //print_r($usuarios_u); // exit; $unidades = Unidade::all(); $usuarios = Usuario::all(); $m_unidades = Viewusuariounidade::allByIdUsuario(Session::get("usuario")->Id); $this->_set('usuarios_u', $usuarios_u); $this->_set('usuarios', $usuarios); $this->_set('unidades', $unidades); $this->_set('m_unidades', $m_unidades); $this->_set('ci', $ci); return $this->_view('cadastrar'); }