From d5125a5dcf552a9ef39de08f3b2683436db80059 Mon Sep 17 00:00:00 2001 From: carlos Date: Fri, 10 Jul 2020 10:28:45 -0300 Subject: [PATCH] deletando users --- .../Controllers/AdministradorController.php | 34 +++++++++++++------ app/User.php | 3 +- .../2014_10_12_000000_create_users_table.php | 1 + .../2020_02_06_132418_chaves_estrangeiras.php | 7 ---- ...4936_change_foreign_evento_coordenador.php | 30 ++++++++++++++++ .../views/administrador/usersAdmin.blade.php | 11 ++++++ routes/web.php | 2 +- 7 files changed, 69 insertions(+), 19 deletions(-) create mode 100644 database/migrations/2020_07_02_164936_change_foreign_evento_coordenador.php diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 5e5f870..b0c55ab 100644 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -306,23 +306,37 @@ class AdministradorController extends Controller public function destroy($id) { $user = User::find($id); - - $adminResp = AdministradorResponsavel::where('user_id', '=', $id)->first(); - $avaliador = Avaliador::where('user_id', '=', $id)->first(); - $proponente = Proponente::where('user_id', '=', $id)->first(); - $participante = Participante::where('user_id', '=', $id)->first(); + + $adminResp = AdministradorResponsavel::where('user_id', $id)->first(); + $coordenador = CoordenadorComissao::where('user_id', $id)->first(); + $avaliador = Avaliador::where('user_id', $id)->first(); + $proponente = Proponente::where('user_id', $id)->first(); + $participantes = Participante::where('user_id', $id)->get(); if (!(is_null($adminResp))) { $adminResp->delete(); - } else if (!(is_null($avaliador))) { + } + if (!(is_null($coordenador))) { + $evento = Evento::where('coordenadorId', $coordenador->id)->get(); + if (isset($evento) && $evento->count() > 0) { + return redirect()->back()->withErrors(['error' => 'Esse coordenador está ligado a um edital']); + } else { + $coordenador->delete(); + } + } + if (!(is_null($avaliador))) { $avaliador->delete(); - } else if (!(is_null($proponente))) { + } + + if (!(is_null($proponente))) { $proponente->delete(); - } else if (!(is_null($participante))) { - $participante->delete(); } - + if (isset($participantes) && $participantes->count() > 0) { + return redirect()->back()->withErrors(['error' => 'Esse participante está ligado a um projeto que só pode ser deletado por seu proponente']); + } + $user->delete(); + return redirect( route('admin.usuarios') )->with(['mensagem' => 'Usuário deletado com sucesso']); } diff --git a/app/User.php b/app/User.php index 0a42835..2788964 100644 --- a/app/User.php +++ b/app/User.php @@ -7,11 +7,12 @@ use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\CanResetPassword; use App\Notifications\recuperacaoSenha; +use Illuminate\Database\Eloquent\SoftDeletes; class User extends Authenticatable implements MustVerifyEmail { use Notifiable; - + use SoftDeletes; /** * The attributes that are mass assignable. * diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 67fb576..ea8f1dc 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -26,6 +26,7 @@ class CreateUsersTable extends Migration $table->rememberToken(); $table->timestamps(); + $table->softDeletes(); $table->timestamp('email_verified_at')->nullable(); $table->integer('enderecoId')->nullable(); diff --git a/database/migrations/2020_02_06_132418_chaves_estrangeiras.php b/database/migrations/2020_02_06_132418_chaves_estrangeiras.php index e6194b4..a019f9d 100644 --- a/database/migrations/2020_02_06_132418_chaves_estrangeiras.php +++ b/database/migrations/2020_02_06_132418_chaves_estrangeiras.php @@ -61,13 +61,6 @@ class ChavesEstrangeiras extends Migration //------------------------------------------------------------------------ - - Schema::table('eventos', function (Blueprint $table) { - $table->foreign('coordenadorId')->references('id')->on('users'); - }); - - //------------------------------------------------------------------------ - Schema::table('mensagems', function (Blueprint $table) { $table->foreign('comissaoId')->references('id')->on('users'); }); diff --git a/database/migrations/2020_07_02_164936_change_foreign_evento_coordenador.php b/database/migrations/2020_07_02_164936_change_foreign_evento_coordenador.php new file mode 100644 index 0000000..0a28127 --- /dev/null +++ b/database/migrations/2020_07_02_164936_change_foreign_evento_coordenador.php @@ -0,0 +1,30 @@ +foreign('coordenadorId')->references('id')->on('coordenador_comissaos'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/resources/views/administrador/usersAdmin.blade.php b/resources/views/administrador/usersAdmin.blade.php index 1968471..76855da 100644 --- a/resources/views/administrador/usersAdmin.blade.php +++ b/resources/views/administrador/usersAdmin.blade.php @@ -5,6 +5,17 @@
+ @if ($errors->any()) +
+
+
    + @foreach ($errors->all() as $error) + + @endforeach +
+
+
+ @endif

Usuários

diff --git a/routes/web.php b/routes/web.php index ffb782d..15341e8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -40,7 +40,7 @@ Route::post('/perfil-usuario', 'UserController@editarPerfil' Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){ //######## Rotas Avaliador #################################### -Route::prefix('avaliador')->name('avaliador.')->group(function(){ + Route::prefix('avaliador')->name('avaliador.')->group(function(){ Route::get('/index', 'AvaliadorController@index' )->name('index')->middleware('auth'); Route::get('/trabalhos', 'AvaliadorController@visualizarTrabalhos' )->name('visualizarTrabalho')->middleware('auth'); Route::post('/parecer', 'AvaliadorController@parecer' )->name('parecer')->middleware('auth'); -- GitLab