public function __construct()
 {
     parent::__construct();
     $img = new Image('App/Images/ubuntu.png');
     $img->style = 'margin: 20px;';
     parent::add($img);
 }
 /**
  * método construtor
  */
 public function __construct()
 {
     parent::__construct();
     // instancia nova seção
     new Session();
     $this->form = new FormWrapper(new Form('form_conclui_venda'));
     // cria os campos do formulário
     $cliente = new Entry('id_cliente');
     $valor_venda = new Entry('valor_venda');
     $desconto = new Entry('desconto');
     $acrescimos = new Entry('acrescimos');
     $valor_final = new Entry('valor_final');
     $parcelas = new Combo('parcelas');
     $obs = new Text('obs');
     $parcelas->addItems(array(1 => 'Uma', 2 => 'Duas', 3 => 'Três'));
     $parcelas->setValue(1);
     // define uma ação de cálculo Javascript
     $desconto->onBlur = "\$('[name=valor_final]').val( Number(\$('[name=valor_venda]').val()) + Number(\$('[name=acrescimos]').val()) - Number(\$('[name=desconto]').val()) );";
     $acrescimos->onBlur = $desconto->onBlur;
     $valor_venda->setEditable(FALSE);
     $valor_final->setEditable(FALSE);
     $this->form->addField('Cliente', $cliente, 200);
     $this->form->addField('Valor', $valor_venda, 200);
     $this->form->addField('Desconto', $desconto, 200);
     $this->form->addField('Acréscimos', $acrescimos, 200);
     $this->form->addField('Final', $valor_final, 200);
     $this->form->addField('Parcelas', $parcelas, 200);
     $this->form->addField('Obs', $obs, 200);
     $this->form->addAction('Salvar', new Action(array($this, 'onGravaVenda')));
     $panel = new Panel('Conclui venda');
     $panel->add($this->form);
     parent::add($panel);
 }
Beispiel #3
0
 public function onView($param)
 {
     $class = $param['source'];
     $file = "App/Control/{$class}.php";
     if (file_exists($file)) {
         $panel = new Panel('Código-fonte: ' . $class);
         $panel->add(highlight_file($file, TRUE));
         parent::add($panel);
     }
 }
Beispiel #4
0
 /**
  * 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);
 }
Beispiel #5
0
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     // instancia nova seção
     new Session();
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_vendas'));
     // cria os campos do formulário
     $codigo = new Entry('id_produto');
     $quantidade = new Entry('quantidade');
     $this->form->addField('Código', $codigo, 100);
     $this->form->addField('Quantidade', $quantidade, 200);
     $this->form->addAction('Adicionar', new Action(array($this, 'onAdiciona')));
     $this->form->addAction('Terminar', new Action(array(new ConcluiVendaForm(), 'onLoad')));
     // instancia objeto Datagrid
     $this->datagrid = new DatagridWrapper(new Datagrid());
     // instancia as colunas da Datagrid
     $codigo = new DatagridColumn('id_produto', 'Código', 'right', 50);
     $descricao = new DatagridColumn('descricao', 'Descrição', 'left', 200);
     $quantidade = new DatagridColumn('quantidade', 'Qtde', 'right', 40);
     $preco = new DatagridColumn('preco', 'Preço', 'right', 70);
     // define um transformador para a coluna preço
     $preco->setTransformer(array($this, 'formata_money'));
     // adiciona as colunas à Datagrid
     $this->datagrid->addColumn($codigo);
     $this->datagrid->addColumn($descricao);
     $this->datagrid->addColumn($quantidade);
     $this->datagrid->addColumn($preco);
     // cria uma ação para a datagrid
     $action = new DatagridAction(array($this, 'onDelete'));
     $action->setLabel('Deletar');
     $action->setImage('ico_delete.png');
     $action->setField('id_produto');
     // adiciona a ação à Datagrid
     $this->datagrid->addAction($action);
     // cria o modelo da Datagrid, montando sua estrutura
     $this->datagrid->createModel();
     $panel1 = new Panel('Vendas');
     $panel1->add($this->form);
     $panel2 = new Panel();
     $panel2->add($this->datagrid);
     // monta a página através de uma caixa
     $box = new VBox();
     $box->style = 'display:block';
     $box->add($panel1);
     $box->add($panel2);
     parent::add($box);
 }
Beispiel #6
0
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_pessoas'));
     // cria os campos do formulário
     $codigo = new Entry('id');
     $nome = new Entry('nome');
     $endereco = new Entry('endereco');
     $bairro = new Entry('bairro');
     $telefone = new Entry('telefone');
     $email = new Entry('email');
     $cidade = new Combo('id_cidade');
     $grupo = new CheckGroup('ids_grupos');
     $grupo->setLayout('horizontal');
     // carrega as cidades do banco de dados
     Transaction::open('livro');
     $cidades = Cidade::all();
     $items = array();
     foreach ($cidades as $obj_cidade) {
         $items[$obj_cidade->id] = $obj_cidade->nome;
     }
     $cidade->addItems($items);
     $grupos = Grupo::all();
     $items = array();
     foreach ($grupos as $obj_grupo) {
         $items[$obj_grupo->id] = $obj_grupo->nome;
     }
     $grupo->addItems($items);
     Transaction::close();
     $this->form->addField('Código', $codigo, 40);
     $this->form->addField('Nome', $nome, 300);
     $this->form->addField('Endereço', $endereco, 300);
     $this->form->addField('Bairro', $bairro, 200);
     $this->form->addField('Telefone', $telefone, 200);
     $this->form->addField('Email', $email, 200);
     $this->form->addField('Cidade', $cidade, 200);
     $this->form->addField('Grupo', $grupo, 200);
     // define alguns atributos para os campos do formulário
     $codigo->setEditable(FALSE);
     $codigo->setSize(100);
     $nome->setSize(300);
     $endereco->setSize(300);
     $this->form->addAction('Salvar', new Action(array($this, 'onSave')));
     // adiciona o formulário na página
     parent::add($this->form);
 }
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_busca_pessoas'));
     // cria os campos do formulário
     $nome = new Entry('nome');
     $this->form->addField('Nome', $nome, 300);
     $this->form->addAction('Buscar', new Action(array($this, 'onReload')));
     $this->form->addAction('Novo', new Action(array(new PessoasForm(), 'onEdit')));
     // instancia objeto Datagrid
     $this->datagrid = new DatagridWrapper(new Datagrid());
     // instancia as colunas da Datagrid
     $codigo = new DatagridColumn('id', 'Código', 'right', 50);
     $nome = new DatagridColumn('nome', 'Nome', 'left', 200);
     $endereco = new DatagridColumn('endereco', 'Endereco', 'left', 200);
     $cidade = new DatagridColumn('nome_cidade', 'Cidade', 'left', 140);
     // adiciona as colunas à Datagrid
     $this->datagrid->addColumn($codigo);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($endereco);
     $this->datagrid->addColumn($cidade);
     // instancia duas ações da Datagrid
     $action1 = new DatagridAction(array(new PessoasForm(), 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new DatagridAction(array($this, 'onDelete'));
     $action2->setLabel('Deletar');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as ações à Datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo da Datagrid, montando sua estrutura
     $this->datagrid->createModel();
     $this->pagenav = new PageNavigation();
     $this->pagenav->setAction(new Action(array($this, 'onReload')));
     // monta a página através de uma caixa
     $box = new VBox();
     $box->style = 'display:block';
     $box->add($this->form);
     $box->add($this->datagrid);
     $box->add($this->pagenav);
     parent::add($box);
 }
Beispiel #8
0
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_login'));
     $login = new Entry('login');
     $password = new Password('password');
     $login->placeholder = 'admin';
     $password->placeholder = 'admin';
     $this->form->addField('Login', $login, 200);
     $this->form->addField('Senha', $password, 200);
     $this->form->addAction('Login', new Action(array($this, 'onLogin')));
     $panel = new Panel('Login');
     $panel->add($this->form);
     // adiciona o formulário na página
     parent::add($panel);
 }
 public function __construct()
 {
     parent::__construct();
     $div = new Element('div');
     $div->style = 'text-align:center;';
     $div->style .= 'font-weight: bold;';
     $div->style .= 'font-size: 14pt';
     $p = new Element('p');
     $p->add('Sport Club Internacional');
     $div->add($p);
     $img = new Element('img');
     $img->src = 'App/images/inter.png';
     $div->add($img);
     $p = new Element('p');
     $p->add('Clube do povo do Rio Grande do Sul');
     $div->add($p);
     parent::add($div);
 }
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     $this->connection = 'livro';
     $this->activeRecord = 'Cidade';
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_cidades'));
     // cria os campos do formulário
     $codigo = new Entry('id');
     $descricao = new Entry('nome');
     $estado = new Combo('id_estado');
     $codigo->setEditable(FALSE);
     Transaction::open('livro');
     $estados = Estado::all();
     $items = array();
     foreach ($estados as $obj_estado) {
         $items[$obj_estado->id] = $obj_estado->nome;
     }
     Transaction::close();
     $estado->addItems($items);
     $this->form->addField('Código', $codigo, 40);
     $this->form->addField('Descrição', $descricao, 300);
     $this->form->addField('Estado', $estado, 300);
     $this->form->addAction('Salvar', new Action(array($this, 'onSave')));
     $this->form->addAction('Limpar', new Action(array($this, 'onEdit')));
     // instancia a Datagrid
     $this->datagrid = new DatagridWrapper(new Datagrid());
     // instancia as colunas da Datagrid
     $codigo = new DatagridColumn('id', 'Código', 'right', 50);
     $nome = new DatagridColumn('nome', 'Nome', 'left', 150);
     $estado = new DatagridColumn('nome_estado', 'Estado', 'left', 150);
     // adiciona as colunas à Datagrid
     $this->datagrid->addColumn($codigo);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($estado);
     // instancia duas ações da Datagrid
     $action1 = new DatagridAction(array($this, 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new DatagridAction(array($this, 'onDelete'));
     $action2->setLabel('Deletar');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as ações à Datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo da Datagrid, montando sua estrutura
     $this->datagrid->createModel();
     $panel = new Panel('Cidades');
     $panel->add($this->form);
     $panel2 = new Panel();
     $panel2->add($this->datagrid);
     // monta a página através de uma tabela
     $box = new VBox();
     $box->style = 'display:block';
     $box->add($panel);
     $box->add($panel2);
     parent::add($box);
 }
Beispiel #11
0
 /**
  * Construtor da página
  */
 public function __construct()
 {
     parent::__construct();
     // Define o Active Record
     $this->activeRecord = 'Produto';
     $this->connection = 'livro';
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_busca_produtos'));
     // cria os campos do formulário
     $descricao = new Entry('descricao');
     $this->form->addField('Descrição', $descricao, 300);
     $this->form->addAction('Buscar', new Action(array($this, 'onReload')));
     $this->form->addAction('Cadastrar', new Action(array(new ProdutosForm(), 'onEdit')));
     // instancia objeto Datagrid
     $this->datagrid = new DatagridWrapper(new Datagrid());
     // instancia as colunas da Datagrid
     $codigo = new DatagridColumn('id', 'Código', 'right', 50);
     $descricao = new DatagridColumn('descricao', 'Descrição', 'left', 270);
     $fabrica = new DatagridColumn('nome_fabricante', 'Fabricante', 'left', 80);
     $estoque = new DatagridColumn('estoque', 'Estoq.', 'right', 40);
     $preco = new DatagridColumn('preco_venda', 'Venda', 'right', 40);
     // adiciona as colunas à Datagrid
     $this->datagrid->addColumn($codigo);
     $this->datagrid->addColumn($descricao);
     $this->datagrid->addColumn($fabrica);
     $this->datagrid->addColumn($estoque);
     $this->datagrid->addColumn($preco);
     // instancia duas ações da Datagrid
     $obj = new ProdutosForm();
     $action1 = new DatagridAction(array($obj, 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new DatagridAction(array($this, 'onDelete'));
     $action2->setLabel('Deletar');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as ações à Datagrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo da Datagrid, montando sua estrutura
     $this->datagrid->createModel();
     $panel = new Panel('Produtos');
     $panel->add($this->form);
     $panel2 = new Panel();
     $panel2->add($this->datagrid);
     // monta a página através de uma caixa
     $box = new VBox();
     $box->style = 'display:block';
     $box->add($panel);
     $box->add($panel2);
     parent::add($box);
 }
Beispiel #12
0
 /**
  * Gera o relatório, baseado nos parâmetros do formulário
  */
 public function onGera()
 {
     require_once 'Lib/Twig/Autoloader.php';
     Twig_Autoloader::register();
     $loader = new Twig_Loader_Filesystem('App/Resources');
     $twig = new Twig_Environment($loader);
     $template = $twig->loadTemplate('vendas_report.html');
     // obtém os dados do formulário
     $dados = $this->form->getData();
     // joga os dados de volta ao formulário
     $this->form->setData($dados);
     $conv_data_to_us = function ($data) {
         $dia = substr($data, 0, 2);
         $mes = substr($data, 3, 2);
         $ano = substr($data, 6, 4);
         return "{$ano}-{$mes}-{$dia}";
     };
     // lê os campos do formulário, converte para o padrão americano
     $data_ini = $conv_data_to_us($dados->data_ini);
     $data_fim = $conv_data_to_us($dados->data_fim);
     // vetor de parâmetros para o template
     $replaces = array();
     $replaces['data_ini'] = $dados->data_ini;
     $replaces['data_fim'] = $dados->data_fim;
     try {
         // inicia transação com o banco 'livro'
         Transaction::open('livro');
         // instancia um repositório da classe Venda
         $repositorio = new Repository('Venda');
         // cria um critério de seleção por intervalo de datas
         $criterio = new Criteria();
         $criterio->setProperty('order', 'data_venda');
         if ($dados->data_ini) {
             $criterio->add(new Filter('data_venda', '>=', $data_ini));
         }
         if ($dados->data_fim) {
             $criterio->add(new Filter('data_venda', '<=', $data_fim));
         }
         // lê todas vendas que satisfazem ao critério
         $vendas = $repositorio->load($criterio);
         if ($vendas) {
             foreach ($vendas as $venda) {
                 $venda_array = $venda->toArray();
                 $venda_array['nome_cliente'] = $venda->cliente->nome;
                 $itens = $venda->itens;
                 if ($itens) {
                     foreach ($itens as $item) {
                         $item_array = $item->toArray();
                         $item_array['descricao'] = $item->produto->descricao;
                         $venda_array['itens'][] = $item_array;
                     }
                 }
                 $replaces['vendas'][] = $venda_array;
             }
         }
         // finaliza a transação
         Transaction::close();
     } catch (Exception $e) {
         new Message('error', $e->getMessage());
         Transaction::rollback();
     }
     $content = $template->render($replaces);
     parent::add($content);
 }
 public function __construct()
 {
     parent::__construct();
     $this->activeRecord = 'Fabricante';
     $this->connection = 'livro';
     // instancia um formulário
     $this->form = new FormWrapper(new Form('form_fabricantes'));
     // cria os campos do formulário
     $codigo = new Entry('id');
     $nome = new Entry('nome');
     $site = new Entry('site');
     $codigo->setEditable(FALSE);
     $this->form->addField('Código', $codigo, 200);
     $this->form->addField('Nome', $nome, 300);
     $this->form->addField('Site', $site, 300);
     $this->form->addAction('Salvar', new Action(array($this, 'onSave')));
     $this->form->addAction('Limpar', new Action(array($this, 'onEdit')));
     // instancia objeto DataGrid
     $this->datagrid = new DatagridWrapper(new DataGrid());
     // instancia as colunas da DataGrid
     $codigo = new DataGridColumn('id', 'Código', 'right', 50);
     $nome = new DataGridColumn('nome', 'Nome', 'left', 180);
     $site = new DataGridColumn('site', 'Site', 'left', 180);
     // adiciona as colunas à DataGrid
     $this->datagrid->addColumn($codigo);
     $this->datagrid->addColumn($nome);
     $this->datagrid->addColumn($site);
     // instancia duas ações da DataGrid
     $action1 = new DataGridAction(array($this, 'onEdit'));
     $action1->setLabel('Editar');
     $action1->setImage('ico_edit.png');
     $action1->setField('id');
     $action2 = new DataGridAction(array($this, 'onDelete'));
     $action2->setLabel('Deletar');
     $action2->setImage('ico_delete.png');
     $action2->setField('id');
     // adiciona as ações à DataGrid
     $this->datagrid->addAction($action1);
     $this->datagrid->addAction($action2);
     // cria o modelo da DataGrid, montando sua estrutura
     $this->datagrid->createModel();
     $panel = new Panel('Fabricantes');
     $panel->add($this->form);
     $panel2 = new Panel();
     $panel2->add($this->datagrid);
     // monta a página através de uma caixa
     $box = new VBox();
     $box->style = 'display:block';
     $box->add($panel);
     $box->add($panel2);
     parent::add($box);
 }