lundi 20 juin 2016

Edit in Laravel + AngularJS

i'm building a complete crud using laravel + angularjs, but im with problems in "edit" part. Its a internal server error, so i dont know what it means and i need help :( sorry for bad english.

the javascript file.

app.controller('colaboradoresController', function($scope, $http, API_URL) {

$http.get(API_URL + "colaboradores")
        .success(function(response) {
            $scope.colaboradores = response;
        });

$scope.toggle = function(modalstate, id_colaborador) {
    $scope.modalstate = modalstate;

    switch (modalstate) {
        case 'add':
            $scope.form_title = "Novo colaborador";
            $scope.colaborador = null;
            break;
        case 'edit':
            $scope.form_title = "Dados do colaborador";
            $scope.id_colaborador = id_colaborador;

            $http.get(API_URL + 'colaboradores/editar/' + id_colaborador)
                    .success(function(response) {
                        console.log(response);
                        $scope.colaborador = response;
                    });
            break;
        default:
            break;
    }

    $('#myModal').modal('show');
}

$scope.save = function(modalstate, id_colaborador) {
    var url = API_URL + "colaboradores/salvar";

    if (modalstate === 'edit'){
        url += "/editar/" + id_colaborador;
    }

    $http({
        method: 'POST',
        url: url,
        data: $.param($scope.colaborador),
        headers: {'Content-Type': 'application/x-www-form-urlencoded'}
    }).success(function(response) {
        console.log(response);
        location.reload();
    }).error(function(response) {
        console.log(response);
        alert('Um erro ocorreu. Check a log para mais detalhes.');
    });
}

$scope.confirmDelete = function(id_colaborador) {

    var isConfirmDelete = confirm('Tem certeza que deseja excluir o registro?');
    if (isConfirmDelete) {
        $http({
            method: 'DELETE',
            url: API_URL + 'colaboradores/remover/' + id_colaborador
        }).
                success(function(data) {
                    console.log(data);
                    location.reload();
                }).
                error(function(data) {
                    console.log(data);
                    alert('Falha na exclusão');
                });
    } else {
        return false;
    }
}

});

the routes file

    <?php

       namespace AppHttpControllers;
    $colaborador = new Colaborador;

 use IlluminateHttpRequest;
 use AppHttpRequests;
 use AppUsuario;
 use AppHttpControllersControler;
 use AppColaborador;

class Colaboradores extends Controller
{
public function index()
{
       return Colaborador::orderBy('id_colaborador', 'asc')->get();
}

public function salvar(Request $request)
{
    $colaborador->nome = $request->input('nome');
    $colaborador->rg = $request->input('rg');
    $colaborador->orgao_expedidor = $request->input('orgao_expedidor');
    $colaborador->cpf = $request->input('cpf');
    $colaborador->estado_civil = $request->input('estado_civil');
    $colaborador->sexo = $request->input('sexo');
    $colaborador->nome_pai = $request->input('nome_pai');
    $colaborador->nome_mae = $request->input('nome_mae');
    $colaborador->naturalidade = $request->input('naturalidade');
    $colaborador->data_nascimento = $request->input('data_nascimento');
    $colaborador->login = $request->input('login');
    $colaborador->senha = $request->input('senha');
    $colaborador->siape = $request->input('siape');
    $colaborador->pis = $request->input('pis');
    $colaborador->rua = $request->input('rua');
    $colaborador->numero = $request->input('numero');
    $colaborador->bairro = $request->input('bairro');
    $colaborador->cidade = $request->input('cidade');
    $colaborador->estado = $request->input('estado');
    $colaborador->cep = $request->input('cep');
    $colaborador->telefone_fixo = $request->input('telefone_fixo');
    $colaborador->telefone_celular= $request->input('telefone_celular');
    $colaborador->telefone_comercial = $request->input('telefone_comercial');
    $colaborador->email = $request->input('email');


    $colaborador->save();

    return 'Colaborador salvo com sucesso! ID: ' . $colaborador->id_colaborador;

}

public function update(Request $request,$id_colaborador)
{
    $colaborador = Colaborador::find($id_colaborador);

    $colaborador->nome = $request->input('nome');
    $colaborador->rg = $request->input('rg');
    $colaborador->orgao_expedidor = $request->input('orgao_expedidor');
    $colaborador->cpf = $request->input('cpf');
    $colaborador->estado_civil = $request->input('estado_civil');
    $colaborador->sexo = $request->input('sexo');
    $colaborador->nome_pai = $request->input('nome_pai');
    $colaborador->nome_mae = $request->input('nome_mae');
    $colaborador->naturalidade = $request->input('naturalidade');
    $colaborador->data_nascimento = $request->input('data_nascimento');
    $colaborador->login = $request->input('login');
    $colaborador->senha = $request->input('senha');
    $colaborador->siape = $request->input('siape');
    $colaborador->pis = $request->input('pis');
    $colaborador->rua = $request->input('rua');
    $colaborador->numero = $request->input('numero');
    $colaborador->bairro = $request->input('bairro');
    $colaborador->cidade = $request->input('cidade');
    $colaborador->estado = $request->input('estado');
    $colaborador->cep = $request->input('cep');
    $colaborador->telefone_fixo = $request->input('telefone_fixo');
    $colaborador->telefone_celular= $request->input('telefone_celular');
    $colaborador->telefone_comercial = $request->input('telefone_comercial');
    $colaborador->email = $request->input('email');
    $colaborador->save();

    return "Sucesso atualizando Colaborador #" . $colaborador->id_colaborador;
}

public function remove(Request $request, $id_colaborador)
{   
    $colaborador = Colaborador::where("id_colaborador", $id_colaborador);

    $colaborador->delete();

    return "Colaborador #". $request->input('id_colaborador'). " excluido com sucesso!";
}

public function editar($id_colaborador)
{
    return Colaborador::where("id_colaborador", $id_colaborador);
}



}
?>

and the routes file...

                                <?php

                        /*
                        |--------------------------------------------------------------------------
                        | Application Routes
                        |--------------------------------------------------------------------------
                        |
                        | Here is where you can register all of the routes for an application.
                        | It's a breeze. Simply tell Laravel the URIs it should respond to
                        | and give it the controller to call when that URI is requested.
                        |
                        */
                        Route::get("/colaboradores/gercolaboradores",
                                function() {
                                return view("/colaboradores/gerenciarcolaboradores");
                        });

                        Route::get("/api/v1/colaboradores/","Colaboradores@index");

                        Route::get("/api/v1/colaboradores/editar/{id_colaborador}","Colaboradores@editar");

                        Route::post('/api/v1/colaboradores/salvar/editar/{id_colaborador}',
                                    'Colaboradores@update');

                        Route::post('/api/v1/colaboradores/salvar',     'Colaboradores@salvar');

                                 Route::delete('/api/v1/colaboradores/remover/{id_colaborador}',                      'Colaboradores@remove');


                        ?>

Aucun commentaire:

Enregistrer un commentaire