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); }
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); } }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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); }
/** * 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); }