Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Encomendas extends CI_Controller
- {
- /*
- | Contructor.
- */
- function __construct()
- {
- parent::__construct();
- $this->load->model('encomendas_model');
- // Carregar a lib de validação de formulário.
- //
- $this->load->library('form_validation');
- //
- //
- $this->load->helper('date');
- }
- /*
- | Página Inicial
- */
- function index()
- {
- // Configurar a class de paginação..
- //
- # Carregar a class.
- #
- $this->load->library('pagination');
- # Configurar.
- #
- if(strlen($this->uri->segment(3)) == 32):
- $config['uri_segment'] = 4;
- $config['base_url'] = $this->config->item('base_url') . 'encomendas/index/' . $this->uri->segment(3) . '/';
- else:
- $config['uri_segment'] = 3;
- $config['base_url'] = $this->config->item('base_url') . 'encomendas/index/';
- endif;
- $config['total_rows'] = $this->encomendas_model->contarTodos();
- $config['per_page'] = '15';
- $config['num_links'] = 3;
- # HTML
- #
- //
- $config['full_tag_open'] = '<ul class="paginacao">';
- $config['full_tag_close'] = '</ul>';
- // < Primeira
- $config['first_link'] = '‹ Primeira';
- $config['first_tag_open'] = '<li>';
- $config['first_tag_close'] = '</li>';
- // Última >
- $config['last_link'] = 'Última ›';
- $config['last_tag_open'] = '<li>';
- $config['last_tag_close'] = '</li>';
- // >
- $config['next_link'] = '>';
- $config['next_tag_open'] = '<li>';
- $config['next_tag_close'] = '</li>';
- // <
- $config['prev_link'] = '<';
- $config['prev_tag_open'] = '<li>';
- $config['prev_tag_close'] = '</li>';
- // Página Actual
- $config['cur_tag_open'] = '<li class="sel">';
- $config['cur_tag_close'] = '</li>';
- // Numeração.
- $config['num_tag_open'] = '<li>';
- $config['num_tag_close'] = '</li>';
- // Buscar os clientes.
- //
- if(strlen($this->uri->segment(3)) == 32):
- $data['encomendas'] = $this->encomendas_model->ListaPaginar($config['per_page'], $this->uri->segment(4));
- else:
- $data['encomendas'] = $this->encomendas_model->ListaPaginar($config['per_page'], $this->uri->segment(3));
- endif;
- // Criação dos links da paginação..
- //
- $this->pagination->initialize($config);
- $data['links'] = $this->pagination->create_links();
- $data['fornecedores'] = array('' => '-', '1' => 'CART ', '2' => 'Piwko', '3' => 'Ermes');
- $data['responsaveis'] = array('' => '-', '1' => 'Carlos ', '2' => 'Joel', '3' => 'Filipe', '4' => 'Bruno', '5' => 'Andreia');
- $data['estados'] = array('' => '-', '1' => 'Concluido', '2' => 'Em Produção', '3' => 'Em Despacho', '4' => 'Próxima Produção');
- $data['cores_t'] = array('1' => '#9dc415', '2' => '#f2b03e', '3' => '#4f3ef2', '4' => '#3366FF');
- // Mostrar a página inicial.
- //
- $this->load->view('encomendas/index', $data);
- }
- /*
- | Criar encomendas.
- */
- function criar()
- {
- // Criar arrays em branco.
- //
- $dados = array();
- // Regras de validação.
- //
- $this->form_validation->set_rules('data', 'Data', 'callback_checkDateFormat');
- $this->form_validation->set_rules('responsavel', 'responsavel', 'required');
- $this->form_validation->set_rules('qtd', 'Quantidade', 'required');
- $this->form_validation->set_rules('cliente', 'Cliente', 'required');
- $this->form_validation->set_rules('envio', 'Envio');
- $this->form_validation->set_rules('fornecedor', 'Fornecedor');
- $this->form_validation->set_rules('track_number', 'Track Number');
- $this->form_validation->set_rules('estado', 'Estado', 'required');
- $this->form_validation->set_rules('observacoes', 'Observações', 'min_length[5]');
- // Traduzir os erros para português.
- //
- $this->form_validation->set_message('required', 'O campo "%s" é obrigatório!');
- $this->form_validation->set_message('min_length', 'O campo "%s" deve ter no mínimo %s caracteres!');
- $this->form_validation->set_message('numeric', 'O campo "%s" só pode conter numeros!');
- // Validar o formulário.
- //
- if ($this->form_validation->run() == FALSE):
- // Para enviar para a página.
- //
- $dados['fornecedores'] = array('' => '-', '1' => 'CART ', '2' => 'Piwko', '3' => 'Ermes');
- $dados['responsaveis'] = array('' => '-', '1' => 'Carlos ', '2' => 'Joel', '3' => 'Filipe', '4' => 'Bruno', '5' => 'Andreia');
- $dados['estados'] = array('' => '-', '1' => 'Concluido', '2' => 'Em Produção', '3' => 'Em Despacho', '4' => 'Próxima Produção');
- // Mostrar a página de criar.
- //
- $this->load->view('encomendas/criar', $dados);
- else:
- // Converter a Data!
- //
- $data = $this->input->post('data');
- $data = explode('-', $data);
- $data = human_to_unix($data[2] . '-' . $data[1] . '-' . $data[0] . ' 00:00:00 PM');
- // Adicionar o cliente.
- //
- $data = array(
- 'data' => $data,
- 'qtd' => $this->input->post('qtd'),
- 'responsavel' => $this->input->post('responsavel'),
- 'cliente' => $this->input->post('cliente'),
- 'envio' => $this->input->post('envio'),
- 'fornecedor' => $this->input->post('fornecedor'),
- 'track_number' => $this->input->post('track_number'),
- 'qtd' => $this->input->post('qtd'),
- 'estado' => $this->input->post('estado'),
- 'observacoes' => $this->input->post('observacoes')
- );
- $this->db->insert('encomendas', $data);
- // Mostrar mensagem de sucesso!
- //
- $this->load->view('encomendas/sucesso');
- endif;
- }
- /*
- | Editar encomenda.
- */
- function editar()
- {
- $eid = $this->uri->segment(3);
- // Verificar se a encomenda existe.
- //
- if(!$e = $this->encomendas_model->GetEncomenda($eid))
- {
- redirect('encomendas');
- die();
- }
- // Criar array em branco.
- //
- $dados = array();
- // Colocar no array todos os dados relativos à encomenda.
- //
- $dados['personalizar'] = ($e->personalizar)? TRUE : FALSE ;
- $dados['data'] = mdate("%d-%m-%Y", $e->data);
- $dados['responsavel'] = $e->responsavel;
- $dados['qtd'] = $e->qtd;
- $dados['cliente'] = $e->cliente;
- $dados['envio'] = $e->envio;
- $dados['fornecedor'] = $e->fornecedor;
- $dados['track_number'] = $e->track_number;
- $dados['estado'] = $e->estado;
- $dados['observacoes'] = $e->observacoes;
- // Regras de validação.
- //
- $this->form_validation->set_rules('data', 'Data', 'callback_checkDateFormat');
- $this->form_validation->set_rules('responsavel', 'responsavel', 'required');
- $this->form_validation->set_rules('qtd', 'Quantidade', 'required');
- $this->form_validation->set_rules('cliente', 'Cliente', 'required');
- $this->form_validation->set_rules('envio', 'Envio');
- $this->form_validation->set_rules('fornecedor', 'Fornecedor');
- $this->form_validation->set_rules('track_number', 'Track Number');
- $this->form_validation->set_rules('estado', 'Estado', 'required');
- $this->form_validation->set_rules('observacoes', 'Observações', 'min_length[5]');
- // Traduzir os erros para português.
- //
- $this->form_validation->set_message('required', 'O campo "%s" é obrigatório!');
- $this->form_validation->set_message('min_length', 'O campo "%s" deve ter no mínimo %s caracteres!');
- $this->form_validation->set_message('numeric', 'O campo "%s" só pode conter numeros!');
- // Validar o formulário.
- //
- if ($this->form_validation->run() == FALSE):
- // Para enviar para a página.
- //
- $dados['fornecedores'] = array('' => '-', '1' => 'CART ', '2' => 'Piwko', '3' => 'Ermes');
- $dados['responsaveis'] = array('' => '-', '1' => 'Carlos ', '2' => 'Joel', '3' => 'Filipe', '4' => 'Bruno', '5' => 'Andreia');
- $dados['estados'] = array('' => '-', '1' => 'Concluido', '2' => 'Em Produção', '3' => 'Em Despacho', '4' => 'Próxima Produção');
- // Mostrar a página de criar.
- //
- $this->load->view('encomendas/editar', $dados);
- else:
- // Converter a Data!
- //
- $data = $this->input->post('data');
- $data = explode('-', $data);
- $data = human_to_unix($data[2] . '-' . $data[1] . '-' . $data[0] . ' 00:00:00 PM');
- // Adicionar o cliente.
- //
- $data = array(
- 'personalizar' => $this->input->post('personalizar'),
- 'data' => $data,
- 'responsavel' => $this->input->post('responsavel'),
- 'qtd' => $this->input->post('qtd'),
- 'cliente' => $this->input->post('cliente'),
- 'envio' => $this->input->post('envio'),
- 'fornecedor' => $this->input->post('fornecedor'),
- 'track_number' => $this->input->post('track_number'),
- 'qtd' => $this->input->post('qtd'),
- 'estado' => $this->input->post('estado'),
- 'observacoes' => $this->input->post('observacoes')
- );
- $this->db->where('id', $eid);
- $this->db->update('encomendas', $data);
- // Mostrar mensagem de sucesso!
- //
- //$this->load->view('encomendas/index');
- redirect('encomendas');
- die();
- endif;
- }
- /*
- | Apagar encomenda.
- */
- function apagar($eid)
- {
- // Se tiver a certeza que é para apagar.
- if($this->input->post('apagar')):
- // Apagar a encomenda.
- //
- $this->db->delete('encomendas', array('id' => $eid));
- // Redirecionar para a página de encomendas.
- //
- redirect('encomendas');
- die();
- endif;
- $q = $this->db->get_where('encomendas', array('id' => $eid), 1);
- $dados['encomenda'] = $q->result();
- // Mostrar a página de apagar.
- //
- $this->load->view('encomendas/apagar', $dados);
- }
- function pesquisar()
- {
- $this->load->helper('date');
- // Criar um ID único.
- //
- $pid = md5(time() . time() . time());
- // Converter a Data!
- //
- $data = $this->input->post('data');
- if($data):
- $data = explode('-', $data);
- $data = human_to_unix($data[2] . '-' . $data[1] . '-' . $data[0] . ' 00:00:00 PM');
- endif;
- // Verificar os campos de pesquisa.
- //
- $data = array(
- 'pid' => $pid,
- 'cliente' => $this->input->post('cliente'),
- 'track_number' => $this->input->post('track_number'),
- 'estado' => $this->input->post('estado'),
- 'data' => $data
- );
- $this->db->insert('pesquisar_encomendas', $data);
- // Redirecionar para a página de clientes.
- //
- redirect('encomendas/index/' . $pid . '/');
- }
- /*
- | Verificar a data.
- */
- function checkDateFormat($data)
- {
- if (preg_match ("/^([0-9]{2})-([0-9]{2})-([0-9]{4})$/", $data, $parts)):
- if(checkdate($parts[2], $parts[1], $parts[3])):
- return true;
- else:
- $this->form_validation->set_message('checkDateFormat', 'O campo "%s" não é válido! Formato: dd-mm-YYYY');
- return false;
- endif;
- else:
- $this->form_validation->set_message('checkDateFormat', 'O campo "%s" não é válido! Formato: dd-mm-YYYY');
- return false;
- endif;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement