Exemple #1
0
 function editar($id = NULL)
 {
     // Array de dados para a view
     $dados = array();
     // Carrega a model
     $this->load->model('Funcionarios_model');
     if ((int) $id > 0) {
         $dados['registro'] = $funcionario = $funcionario_old = $this->Funcionarios_model->obter($id);
     }
     // Obtém os dados
     if ($this->input->post('submit')) {
         // se tem post, obtém do formulário
         $dados = $this->input->post();
         $funcionario = $dados['registro'];
     }
     // Se tem post, salva os dados
     if ($this->input->post('submit')) {
         $this->form_validation->set_rules('registro[nome]', 'Nome', 'trim|required');
         $this->form_validation->set_rules('registro[telefone]', 'Telefone', 'trim|required');
         $this->form_validation->set_rules('registro[usuario]', 'Usuário', 'trim|required');
         if ($this->form_validation->run()) {
             // Converte tudo pra maiusculo
             foreach ($dados['registro'] as $k => $valor) {
                 if ($k != 'senha') {
                     $dados['registro'][$k] = strtoupper($valor);
                 }
             }
             $funcionario = $dados['registro'];
             // Se digitou senha, MD5
             if (strlen($funcionario['senha']) > 0) {
                 $funcionario['senha'] = md5($funcionario['senha']);
             } else {
                 unset($funcionario['senha']);
             }
             // Se não tem usuário
             if (strlen($funcionario_old['usuario_id']) == 0) {
                 if (!$funcionario['senha']) {
                     // Sem senha não permite
                     $dados['erro'] = 'Você deve informar uma senha!';
                 }
             }
             // Sem erro, segue o baile
             if (strlen($dados['erro']) == 0) {
                 //cria o usuario
                 $usuario = array();
                 if ($funcionario_old['usuario_id']) {
                     $usuario['id'] = $funcionario_old['usuario_id'];
                 }
                 $usuario['nome'] = $funcionario['nome'];
                 $usuario['email'] = $funcionario['email'];
                 $usuario['usuario'] = $funcionario['usuario'];
                 if ($funcionario['senha']) {
                     $usuario['senha'] = $funcionario['senha'];
                 }
                 $usuario_id = $this->Usuarios_model->salvar($usuario);
                 if ($usuario_id) {
                     // Permissoes padrao
                     $permissoes_padrao = $this->Modulos_model->listar(array('where' => array("padrao = '1'")));
                     foreach ($permissoes_padrao as $perm) {
                         // Remove a permissão
                         $this->Usuarios_model->remover_permissao($usuario_id, $perm['id']);
                         // Adiciona a permissão
                         $this->Usuarios_model->adicionar_permissao($usuario_id, $this->site_id, $perm['id']);
                     }
                     $funcionario['usuario_id'] = $usuario_id;
                     unset($funcionario['usuario']);
                     unset($funcionario['senha']);
                     // Compatibilização
                     $funcionario['diaria'] = str_replace(',', '.', $funcionario['diaria']);
                     $funcionario['comissao'] = str_replace(',', '.', $funcionario['comissao']);
                     $id = $this->Funcionarios_model->salvar($funcionario);
                     if ($id) {
                         redirect('site/funcionarios');
                     } else {
                         $dados['erro'] = 'Falha ao criar funcionário.';
                     }
                 } else {
                     $dados['erro'] = 'Falha ao criar usuário.';
                 }
             }
         } else {
             $dados['erro'] = validation_errors();
         }
     }
     // Cidades
     $cidades = $this->Cidades_model->listar();
     $dados['cidades'] = array();
     foreach ($cidades as $cidade) {
         $dados['cidades'][$cidade['id']] = $cidade['nome'];
     }
     // Compatibilização
     $dados['funcionario']['diaria'] = str_replace('.', ',', $dados['funcionario']['diaria']);
     $dados['funcionario']['comissao'] = str_replace('.', ',', $dados['funcionario']['comissao']);
     // Definição dos campos
     $campos = array();
     // Codigo
     $campo = array();
     $campo['id'] = 'id';
     $campo['name'] = 'registro[id]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Código';
     $campo['placeholder'] = 'Código do funcionario';
     $campo['value'] = $dados['registro']['id'];
     if ((int) $dados['registro']['id'] == 0) {
         $campo['attrs'] = 'readonly';
     }
     $campos[] = $campo;
     // Nome
     $campo = array();
     $campo['id'] = 'nome';
     $campo['name'] = 'registro[nome]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Nome';
     $campo['placeholder'] = 'Nome do funcionário';
     $campo['value'] = $dados['registro']['nome'];
     $campo['required'] = true;
     $campos[] = $campo;
     // E-Mail
     $campo = array();
     $campo['id'] = 'email';
     $campo['name'] = 'registro[email]';
     $campo['tamanho'] = 4;
     $campo['type'] = 'text';
     $campo['label'] = 'E-Mail';
     $campo['placeholder'] = 'E-Mail do funcionário';
     $campo['value'] = $dados['registro']['email'];
     $campo['required'] = true;
     $campos[] = $campo;
     // RG
     $campo = array();
     $campo['id'] = 'rg';
     $campo['name'] = 'registro[rg]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'RG';
     $campo['placeholder'] = 'RG do funcionário';
     $campo['value'] = $dados['registro']['rg'];
     $campo['required'] = true;
     $campos[] = $campo;
     // CPF
     $campo = array();
     $campo['id'] = 'cpf';
     $campo['name'] = 'registro[cpf]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'CPF';
     $campo['placeholder'] = 'CPF do funcionário';
     $campo['value'] = $dados['registro']['cpf'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Data de nascimento
     $campo = array();
     $campo['id'] = 'data_nascimento';
     $campo['name'] = 'registro[data_nascimento]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'date';
     $campo['label'] = 'Data de Nascimento';
     $campo['placeholder'] = 'Data de nascimento do funcionário';
     $campo['value'] = $dados['registro']['data_nascimento'];
     $campos[] = $campo;
     // Telefone do funcionario
     $campo = array();
     $campo['id'] = 'telefone';
     $campo['name'] = 'registro[telefone]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Telefone';
     $campo['placeholder'] = 'Telefone do funcionário';
     $campo['value'] = $dados['registro']['telefone'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Telefone secundario do funcionario
     $campo = array();
     $campo['id'] = 'telefone2';
     $campo['name'] = 'registro[telefone2]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Telefone 2';
     $campo['placeholder'] = 'Telefone secundário do funcionário';
     $campo['value'] = $dados['registro']['telefone2'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Cidades
     $campo = array();
     $cidades = $this->Cidades_model->listar();
     $dados['cidades'] = array();
     foreach ($cidades as $cidade) {
         $dados['cidades'][$cidade['id']] = $cidade['nome'];
     }
     $campo['id'] = 'cidade_id';
     $campo['name'] = 'registro[cidade_id]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'dropdown';
     $campo['label'] = 'Cidade';
     $campo['placeholder'] = 'Cidade do funcionário';
     $campo['value'] = $dados['registro']['cidade_id'];
     $campo['options'] = $dados['cidades'];
     $campo['required'] = true;
     $campos[] = $campo;
     // CEP do funcionario
     $campo = array();
     $campo['id'] = 'cep';
     $campo['name'] = 'registro[cep]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'CEP';
     $campo['placeholder'] = 'CEP funcionário';
     $campo['value'] = $dados['registro']['cep'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Bairro do funcionario
     $campo = array();
     $campo['id'] = 'bairro';
     $campo['name'] = 'registro[bairro]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Bairro';
     $campo['placeholder'] = 'Bairro do funcionário';
     $campo['value'] = $dados['registro']['bairro'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Endereço do funcionario
     $campo = array();
     $campo['id'] = 'endereco';
     $campo['name'] = 'registro[endereco]';
     $campo['tamanho'] = 4;
     $campo['type'] = 'text';
     $campo['label'] = 'Endereço';
     $campo['placeholder'] = 'Endereço do funcionário';
     $campo['value'] = $dados['registro']['endereco'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Número do endereço do funcionario
     $campo = array();
     $campo['id'] = 'numero';
     $campo['name'] = 'registro[numero]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Número';
     $campo['placeholder'] = 'Número do endereço do funcionário';
     $campo['value'] = $dados['registro']['numero'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Complemento do endereço do funcionario
     $campo = array();
     $campo['id'] = 'complemento';
     $campo['name'] = 'registro[complemento]';
     $campo['tamanho'] = 6;
     $campo['type'] = 'text';
     $campo['label'] = 'Complemento';
     $campo['placeholder'] = 'Compemento do endereço do funcionário';
     $campo['value'] = $dados['registro']['complemento'];
     $campos[] = $campo;
     // Valor da diária
     $campo = array();
     $campo['id'] = 'diaria';
     $campo['name'] = 'registro[diaria]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'number';
     $campo['label'] = 'Diária';
     $campo['placeholder'] = 'Valor da diaria do funcionário';
     $campo['value'] = $dados['registro']['diaria'];
     $campo['attrs'] = 'pattern="^\\d+(\\.|\\,)\\d{2}$" step="any"';
     $campo['required'] = true;
     $campo['pre'] = '<span class="input-group-addon">R$</span>';
     $campos[] = $campo;
     // Comissão
     $campo = array();
     $campo['id'] = 'comissao';
     $campo['name'] = 'registro[comissao]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'number';
     $campo['label'] = 'Comissão';
     $campo['placeholder'] = 'Comissão do funcionário';
     $campo['value'] = $dados['registro']['comissao'];
     $campo['attrs'] = 'pattern="^\\d+(\\.|\\,)\\d{2}$" step="any"';
     $campo['required'] = true;
     $campo['pos'] = '<span class="input-group-addon">%</span>';
     $campos[] = $campo;
     // Nome de usuário
     $campo = array();
     $campo['id'] = 'usuario';
     $campo['name'] = 'registro[usuario]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Usuário';
     $campo['placeholder'] = 'Nome de usuário funcionário';
     $campo['value'] = $dados['registro']['usuario'];
     $campo['required'] = true;
     $campo['attrs'] = 'autocomplete="off"';
     $campos[] = $campo;
     // Senha
     $campo = array();
     $campo['id'] = 'senha';
     $campo['name'] = 'registro[senha]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'password';
     $campo['label'] = 'Senha';
     $campo['placeholder'] = 'Senha do funcionário';
     $campo['required'] = true;
     $campo['attrs'] = 'autocomplete="off"';
     $campos[] = $campo;
     // Campos do formulário
     $dados['campos'] = $campos;
     parent::load_view($dados);
 }
Exemple #2
0
 function alterar_estoque($id = null)
 {
     // Array de dados para a view
     $dados = array();
     // Carrega a model
     $this->load->model('Produtos_model');
     if ((int) $id > 0) {
         $produto = $this->Produtos_model->obter($id);
     } else {
         redirect('site/produtos');
     }
     // Obtém os dados
     if ($this->input->post('submit')) {
         // se tem post, obtém do formulário
         $dados = $this->input->post();
     }
     // Se tem post, salva os dados
     if ($this->input->post('submit')) {
         // Validação
         $this->form_validation->set_rules('registro[produto_id]', 'Produto', 'trim|required');
         $this->form_validation->set_rules('registro[quantidade]', 'Quantidade', 'trim|required');
         $this->form_validation->set_rules('registro[obs]', 'Observação', 'trim|required');
         if ($this->form_validation->run()) {
             if ((int) $dados['registro']['quantidade'] != 0) {
                 // Converte tudo pra maiusculo
                 foreach ($dados['registro'] as $k => $valor) {
                     $dados['registro'][$k] = strtoupper($valor);
                 }
                 $ok = $this->Produtos_model->alterar_estoque($dados['registro']['produto_id'], $dados['registro']['quantidade'], $dados['registro']['obs']);
                 if ($ok) {
                     redirect('site/produtos');
                 } else {
                     $dados['erro'] = 'Desculpe, mas não foi possível alterar o estoque.';
                 }
             } else {
                 $dados['erro'] = 'O campo Quantidade não pode ser zero.';
             }
         } else {
             if (rtrim(trim(strip_tags(validation_errors()))) == 'Unable to access an error message corresponding to your field name.') {
                 $dados['erro'] = 'O título deve ser único. Este título já está em uso.';
             } else {
                 $dados['erro'] = validation_errors();
             }
         }
     }
     // Definição dos campos
     // Codigo
     $campos = array();
     $campo = array();
     $campo['id'] = 'produto_id';
     $campo['name'] = 'registro[produto_id]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Código';
     $campo['placeholder'] = 'Código do produto';
     $campo['value'] = $produto['id'];
     $campo['attrs'] = 'readonly';
     $campos[] = $campo;
     // Nome do produto
     $campo = array();
     $campo['id'] = 'produto';
     $campo['tamanho'] = 10;
     $campo['type'] = 'text';
     $campo['label'] = 'Produto';
     $campo['placeholder'] = 'Nome do produto';
     $campo['value'] = $produto['titulo'];
     $campo['attrs'] = 'readonly disabled';
     $campos[] = $campo;
     // Quantidade
     $campo = array();
     $campo['id'] = 'quantidade';
     $campo['name'] = 'registro[quantidade]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'number';
     $campo['label'] = 'Quantidade';
     $campo['placeholder'] = 'Qtd';
     $campo['value'] = 0;
     $campo['attrs'] = 'pattern="^\\d+(\\.|\\,)\\d{2}$" step="any"';
     $campo['required'] = true;
     $campo['pre'] = '<span class="input-group-addon"><i class="fa fa-th-large"></i></span>';
     $campos[] = $campo;
     // Descrição da alteração de estoque
     $campo = array();
     $campo['id'] = 'obs';
     $campo['name'] = 'registro[obs]';
     $campo['tamanho'] = 10;
     $campo['type'] = 'text';
     $campo['label'] = 'Observação';
     $campo['placeholder'] = 'Observação da alteração de estoque';
     $campo['required'] = true;
     $campos[] = $campo;
     $dados['campos'] = $campos;
     $dados['registro']['id'] = $produto['id'];
     $this->titulo = 'Alteração de estoque do produto';
     $this->funcao_editar = 'alterar_estoque';
     parent::load_view($dados);
 }
Exemple #3
0
 function editar($id = NULL)
 {
     // Array de dados para a view
     $dados = array();
     // Carrega a model
     if ((int) $id > 0) {
         $dados['registro'] = $usuario = $usuario_old = $this->Usuarios_model->obter($id);
     }
     // Obtém os dados
     if ($this->input->post('submit')) {
         // se tem post, obtém do formulário
         $dados = $this->input->post();
         $usuario = $dados['registro'];
     }
     // Se tem post, salva os dados
     if ($this->input->post('submit')) {
         $this->form_validation->set_rules('registro[nome]', 'Nome', 'trim|required');
         $this->form_validation->set_rules('registro[usuario]', 'Usuário', 'trim|required ');
         $this->form_validation->set_rules('registro[senha]', 'Senha', 'trim|required');
         if ($this->form_validation->run()) {
             // Se digitou senha, MD5
             if (strlen($usuario['senha']) > 0) {
                 $usuario['senha'] = md5($usuario['senha']);
             } elseif (strlen($usuario_old['usuario_id']) == 0) {
                 // Sem senha não permite
                 $dados['erro'] = 'Você deve informar uma senha!';
             } else {
                 unset($usuario['senha']);
             }
             $id = $this->Usuarios_model->salvar($usuario);
             if ($id) {
                 redirect('usuarios');
             } else {
                 $dados['erro'] = 'Falha ao criar usuário.';
             }
         } else {
             $dados['erro'] = validation_errors();
         }
     }
     // Definição dos campos
     $campos = array();
     // Codigo
     $campo = array();
     $campo['id'] = 'id';
     $campo['name'] = 'registro[id]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Código';
     $campo['placeholder'] = 'Código do usuário';
     $campo['value'] = $dados['registro']['id'];
     if ((int) $dados['registro']['id'] == 0) {
         $campo['attrs'] = 'readonly';
     }
     $campos[] = $campo;
     // Nome
     $campo = array();
     $campo['id'] = 'nome';
     $campo['name'] = 'registro[nome]';
     $campo['tamanho'] = 5;
     $campo['type'] = 'text';
     $campo['label'] = 'Nome';
     $campo['placeholder'] = 'Nome do usuário';
     $campo['value'] = $dados['registro']['nome'];
     $campo['required'] = true;
     $campos[] = $campo;
     // E-Mail
     $campo = array();
     $campo['id'] = 'email';
     $campo['name'] = 'registro[email]';
     $campo['tamanho'] = 5;
     $campo['type'] = 'text';
     $campo['label'] = 'E-Mail';
     $campo['placeholder'] = 'E-Mail do usuário';
     $campo['value'] = $dados['registro']['email'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Nome de usuário
     $campo = array();
     $campo['id'] = 'usuario';
     $campo['name'] = 'registro[usuario]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Usuário';
     $campo['placeholder'] = 'Nome de usuário';
     $campo['value'] = $dados['registro']['usuario'];
     $campo['required'] = true;
     $campo['attrs'] = 'autocomplete="off"';
     $campos[] = $campo;
     // Senha
     $campo = array();
     $campo['id'] = 'senha';
     $campo['name'] = 'registro[senha]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'password';
     $campo['label'] = 'Senha';
     $campo['placeholder'] = 'Senha do usuário';
     $campo['required'] = true;
     $campo['attrs'] = 'autocomplete="off"';
     $campos[] = $campo;
     // Campos do formulário
     $dados['campos'] = $campos;
     parent::load_view($dados);
 }
Exemple #4
0
    function editar($id = null)
    {
        // Array de dados para a view
        $dados = array();
        // Carrega a model
        $this->load->model('Agenda_model');
        // Obtém os dados
        if ($this->input->post('submit')) {
            // se tem post, obtém do formulário
            $dados = $this->input->post();
        } elseif ((int) $id > 0) {
            // se tem id, obtém da base
            $dados['registro'] = $this->Produtos_model->obter($id);
        }
        // Se tem post, salva os dados
        if ($this->input->post('submit')) {
            // Validação
            $this->form_validation->set_rules('registro[titulo]', 'Título', 'trim|required');
            $this->form_validation->set_rules('registro[descricao]', 'Descrição', 'trim|required');
            $this->form_validation->set_rules('registro[cliente]', 'Cliente', 'trim|required');
            $this->form_validation->set_rules('registro[data]', 'Data', 'trim|required');
            $this->form_validation->set_rules('registro[hora]', 'Hora', 'trim|required');
            if ($this->form_validation->run()) {
                $dados['registro']['link'] = str_replace('-', '_', MY_Utils::removeSpecialChars(strtolower(utf8_decode($dados['agenda']['titulo']))));
                $dados['registro']['link'] = preg_replace('/_{2,}/', '_', $dados['agenda']['link']);
                $ok = $this->Agenda_model->salvar($dados['agenda']);
                $dados['agenda']['id'] = $ok;
            } else {
                if (rtrim(trim(strip_tags(validation_errors()))) == 'Unable to access an error message corresponding to your field name.') {
                    $dados['erro'] = 'O título deve ser único. Este título já está em uso.';
                } else {
                    $dados['erro'] = validation_errors();
                }
            }
        }
        // Definição dos campos
        // Codigo
        $campos = array();
        $campo = array();
        $campo['id'] = 'id';
        $campo['tamanho'] = 2;
        $campo['type'] = 'text';
        $campo['label'] = 'Código';
        $campo['placeholder'] = 'Código';
        $campo['value'] = $registro['id'];
        if ((int) $registro['id'] == 0) {
            $campo['attrs'] = 'disabled readonly';
        }
        $campos[] = $campo;
        // Descrição
        $campo = array();
        $campo['id'] = 'descricao';
        $campo['tamanho'] = 8;
        $campo['type'] = 'text';
        $campo['label'] = 'Descrição';
        $campo['placeholder'] = 'Descrição';
        $campo['value'] = $registro['descricao'];
        $campos[] = $campo;
        // Cidade
        $campo = array();
        $cidades = array();
        $arr_aux = $this->Cidades_model->listar();
        foreach ($arr_aux as $cidade) {
            $cidades[$cidade['id']] = $cidade['nome'];
        }
        $campo['id'] = 'cidade_id';
        $campo['tamanho'] = 2;
        $campo['type'] = 'dropdown';
        $campo['label'] = 'Cidade';
        $campo['placeholder'] = 'Cidade';
        $campo['value'] = $registro['cidade_id'];
        $campo['options'] = $cidades;
        $campos[] = $campo;
        // Cliente
        $campo = array();
        $cidades = array();
        $arr_aux = $this->Clientes_model->listar();
        foreach ($arr_aux as $cliente) {
            $clientes[$cliente['id']] = $cliente['nome'];
        }
        $campo['id'] = 'cliente_id';
        $campo['tamanho'] = 5;
        $campo['type'] = 'dropdown';
        $campo['label'] = 'Cliente';
        $campo['placeholder'] = 'Cliente';
        $campo['value'] = $registro['cliente_id'];
        $campo['options'] = $clientes;
        $campos[] = $campo;
        // Data
        $campo = array();
        $campo['id'] = 'data';
        $campo['tamanho'] = 3;
        $campo['type'] = 'date';
        $campo['label'] = 'Data';
        $campo['placeholder'] = 'Data';
        $campo['value'] = $registro['data'];
        $campos[] = $campo;
        // Hora
        $campo = array();
        $campo['id'] = 'hora';
        $campo['tamanho'] = 2;
        $campo['label'] = 'Hora';
        $campo['placeholder'] = 'Hora';
        $campo['value'] = $registro['hora'];
        $campo['class'] = 'timepicker';
        $campo['type'] = 'text';
        $campo['name'] = 'hora';
        $campo['pos'] = <<<HTML
<div class="input-group-addon"><i class="fa fa-clock-o"></i></div>
HTML;
        $campos[] = $campo;
        // Concluido
        $campo = array();
        $campo['id'] = 'concluido';
        $campo['tamanho'] = 2;
        $campo['type'] = 'dropdown';
        $campo['label'] = 'Concluído';
        $campo['placeholder'] = 'Concluído';
        $campo['value'] = $registro['ativo'];
        $campo['options'] = array('1' => 'Sim', '0' => 'Não');
        $campos[] = $campo;
        $dados['campos'] = $campos;
        $dados['titulo'] = $this->titulo;
        // Adiciona JS
        $dados['custom_js'] = <<<JS
//Timepicker
\$('#hora').timepicker(
{
    showInputs: false
});
JS;
        parent::load_view($dados);
    }
Exemple #5
0
 function editar($id = NULL)
 {
     // Array de dados para a view
     $dados = array();
     // Carrega a model
     $this->load->model('Clientes_model');
     if ((int) $id > 0) {
         $dados['registro'] = $cliente = $this->Clientes_model->obter($id);
     }
     // Obtém os dados
     if ($this->input->post('submit')) {
         // se tem post, obtém do formulário
         $dados = $this->input->post();
         $cliente = $dados['registro'];
     }
     // Se tem post, salva os dados
     if ($this->input->post('submit')) {
         // Validação
         $this->form_validation->set_rules('registro[nome]', 'Nome', 'trim|required');
         $this->form_validation->set_rules('registro[telefone]', 'Telefone', 'trim|required');
         $this->form_validation->set_rules('registro[cidade_id]', 'Cidade', 'trim|required');
         if ($this->form_validation->run()) {
             // Converte tudo pra maiusculo
             foreach ($dados['registro'] as $k => $valor) {
                 $dados['registro'][$k] = strtoupper($valor);
             }
             $cliente = $dados['registro'];
             $id = $this->Clientes_model->salvar($cliente);
             if ($id) {
                 redirect('site/clientes');
             } else {
                 $dados['erro'] = 'Falha ao criar funcionário.';
             }
         } else {
             $dados['erro'] = validation_errors();
         }
     }
     // Definição dos campos
     $campos = array();
     // Codigo
     $campo = array();
     $campo['id'] = 'id';
     $campo['name'] = 'registro[id]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Código';
     $campo['placeholder'] = 'Código do cliente';
     $campo['value'] = $dados['registro']['id'];
     if ((int) $dados['registro']['id'] == 0) {
         $campo['attrs'] = 'readonly';
     }
     $campos[] = $campo;
     // Cliente de
     $campo = array();
     $funcionarios = $this->Funcionarios_model->listar();
     $dados['funcionarios'] = array();
     foreach ($funcionarios as $funcionario) {
         $dados['funcionarios'][$funcionario['id']] = $funcionario['nome'];
     }
     $campo['id'] = 'funcionario_id';
     $campo['name'] = 'registro[funcionario_id]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'dropdown';
     $campo['label'] = 'Vendedor';
     $campo['placeholder'] = 'Cliente de ';
     $campo['value'] = $dados['registro']['funcionario_id'];
     if (!$campo['value']) {
         $funcionario = $this->Funcionarios_model->obter_por_usuario_id($this->usuario_id);
         if (is_array($funcionario) && $funcionario['id']) {
             $campo['value'] = $funcionario['id'];
         }
     }
     $campo['options'] = $dados['funcionarios'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Nome do cliente
     $campo = array();
     $campo['id'] = 'nome';
     $campo['name'] = 'registro[nome]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Nome';
     $campo['placeholder'] = 'Nome do cliente';
     $campo['value'] = $dados['registro']['nome'];
     $campo['required'] = true;
     $campos[] = $campo;
     // E-Mail do cliente
     $campo = array();
     $campo['id'] = 'email';
     $campo['name'] = 'registro[email]';
     $campo['tamanho'] = 4;
     $campo['type'] = 'text';
     $campo['label'] = 'E-Mail';
     $campo['placeholder'] = 'E-Mail do cliente';
     $campo['value'] = $dados['registro']['email'];
     $campo['required'] = true;
     $campos[] = $campo;
     // RG do cliente
     $campo = array();
     $campo['id'] = 'rg';
     $campo['name'] = 'registro[rg]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'RG';
     $campo['placeholder'] = 'RG do cliente';
     $campo['value'] = $dados['registro']['rg'];
     $campo['required'] = true;
     $campos[] = $campo;
     // CPF do cliente
     $campo = array();
     $campo['id'] = 'cpf';
     $campo['name'] = 'registro[cpf]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'CPF';
     $campo['placeholder'] = 'CPF do cliente';
     $campo['value'] = $dados['registro']['cpf'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Data de nascimento
     $campo = array();
     $campo['id'] = 'data_nascimento';
     $campo['name'] = 'registro[data_nascimento]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'date';
     $campo['label'] = 'Data de Nascimento';
     $campo['placeholder'] = 'Data de nascimento do cliente';
     $campo['value'] = $dados['registro']['data_nascimento'];
     $campos[] = $campo;
     // Telefone do cliente
     $campo = array();
     $campo['id'] = 'telefone';
     $campo['name'] = 'registro[telefone]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Telefone';
     $campo['placeholder'] = 'Telefone do cliente';
     $campo['value'] = $dados['registro']['telefone'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Telefone secundario do cliente
     $campo = array();
     $campo['id'] = 'telefone2';
     $campo['name'] = 'registro[telefone2]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Telefone 2';
     $campo['placeholder'] = 'Telefone secundário do cliente';
     $campo['value'] = $dados['registro']['telefone2'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Cidades
     $campo = array();
     $cidades = $this->Cidades_model->listar();
     $dados['cidades'] = array();
     foreach ($cidades as $cidade) {
         $dados['cidades'][$cidade['id']] = $cidade['nome'];
     }
     $campo['id'] = 'cidade_id';
     $campo['name'] = 'registro[cidade_id]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'dropdown';
     $campo['label'] = 'Cidade';
     $campo['placeholder'] = 'Cidade do cliente';
     $campo['value'] = $dados['registro']['cidade_id'];
     $campo['options'] = $dados['cidades'];
     $campo['required'] = true;
     $campos[] = $campo;
     // CEP do cliente
     $campo = array();
     $campo['id'] = 'cep';
     $campo['name'] = 'registro[cep]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'CEP';
     $campo['placeholder'] = 'CEP cliente';
     $campo['value'] = $dados['registro']['cep'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Bairro do cliente
     $campo = array();
     $campo['id'] = 'bairro';
     $campo['name'] = 'registro[bairro]';
     $campo['tamanho'] = 3;
     $campo['type'] = 'text';
     $campo['label'] = 'Bairro';
     $campo['placeholder'] = 'Bairro do cliente';
     $campo['value'] = $dados['registro']['bairro'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Endereço do cliente
     $campo = array();
     $campo['id'] = 'endereco';
     $campo['name'] = 'registro[endereco]';
     $campo['tamanho'] = 4;
     $campo['type'] = 'text';
     $campo['label'] = 'Endereço';
     $campo['placeholder'] = 'Endereço do cliente';
     $campo['value'] = $dados['registro']['endereco'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Número do endereço do cliente
     $campo = array();
     $campo['id'] = 'numero';
     $campo['name'] = 'registro[numero]';
     $campo['tamanho'] = 2;
     $campo['type'] = 'text';
     $campo['label'] = 'Número';
     $campo['placeholder'] = 'Número do endereço do cliente';
     $campo['value'] = $dados['registro']['numero'];
     $campo['required'] = true;
     $campos[] = $campo;
     // Complemento do endereço do cliente
     $campo = array();
     $campo['id'] = 'complemento';
     $campo['name'] = 'registro[complemento]';
     $campo['tamanho'] = 6;
     $campo['type'] = 'text';
     $campo['label'] = 'Complemento';
     $campo['placeholder'] = 'Compemento do endereço do cliente';
     $campo['value'] = $dados['registro']['complemento'];
     $campos[] = $campo;
     // Campos do formulário
     $dados['campos'] = $campos;
     parent::load_view($dados);
 }