コード例 #1
0
ファイル: ProdutosForm.php プロジェクト: beregueder/phpoo
 /**
  * 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);
 }
コード例 #2
0
ファイル: CiController.php プロジェクト: nylmarcos/estagio
 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');
 }