diff --git a/app/Evento.php b/app/Evento.php index cc8c78d4c7fc45d81ba301236de45e40877a7f65..8e62ae95733aed922b9d9e4d70524af7b2860c9a 100644 --- a/app/Evento.php +++ b/app/Evento.php @@ -3,9 +3,11 @@ namespace App; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\SoftDeletes; class Evento extends Model { + use SoftDeletes; /** * The attributes that are mass assignable. * diff --git a/app/Http/Controllers/AdministradorController.php b/app/Http/Controllers/AdministradorController.php index 66503f31e5832a13ff242e5095b9ef778d59b947..b0c55abdbcc24dad2134bacbe21de8342f54e9d7 100644 --- a/app/Http/Controllers/AdministradorController.php +++ b/app/Http/Controllers/AdministradorController.php @@ -75,8 +75,7 @@ class AdministradorController extends Controller 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], 'celular' => ['required', 'string', 'telefone'], - 'senha' => 'required', - 'confirmar_senha' => 'required', + 'senha' => ['required', 'string', 'min:8', 'confirmed'], 'cpf' => ['required', 'cpf', 'unique:users'], ]); } else { @@ -86,8 +85,7 @@ class AdministradorController extends Controller 'tipo' => ['required'], 'cpf' => ['required', 'cpf', 'unique:users'], 'celular' => ['required', 'string', 'telefone'], - 'senha' => 'required', - 'confirmar_senha' => 'required', + 'senha' => ['required', 'string', 'min:8', 'confirmed'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], 'cargo' => ['required'], @@ -110,10 +108,6 @@ class AdministradorController extends Controller 'linkLattes' => [(isset($data['cargo']) && $data['cargo'] !== 'Estudante') || (isset($data['cargo']) && $data['cargo'] === 'Estudante' && isset($data['vinculo']) && $data['vinculo'] === 'Pós-doutorando') ? 'link_lattes':''], ]); } - - if (!($request->senha === $request->confirmar_senha)) { - return redirect()->back()->withErrors(['senha' => 'Senhas diferentes']); - } $user = new User(); $user->name = $request->name; @@ -312,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/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 231ef08d542cd04099d6a603885bd8cc24ff3453..319033a5b7d5708349f3bb5d22513de10751cf87 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -58,7 +58,7 @@ class RegisterController extends Controller return Validator::make($data, [ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], - 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'senha' => ['required', 'string', 'min:8', 'confirmed'], 'cpf' => ['required', 'cpf', 'unique:users'], 'celular' => ['required', 'string', 'telefone'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], @@ -95,7 +95,7 @@ class RegisterController extends Controller $user = new User(); $user->name = $data['name']; $user->email = $data['email']; - $user->password = bcrypt($data['password']); + $user->password = bcrypt($data['senha']); $user->cpf = $data['cpf']; $user->celular = $data['celular']; if ($data['instituicao'] != null) { diff --git a/app/Http/Controllers/EventoController.php b/app/Http/Controllers/EventoController.php index fee0c12d8e7f969e391ca61d446926a615ea5608..7ec5c2d3b6d62eef9fde81a6b4afecdbb20b3a92 100644 --- a/app/Http/Controllers/EventoController.php +++ b/app/Http/Controllers/EventoController.php @@ -130,14 +130,14 @@ class EventoController extends Controller 'natureza' => ['required'], 'coordenador_id' => ['required'], #---------------------------------------------- - 'inicioSubmissao' => ['required', 'date', 'after:yesterday'], - 'fimSubmissao' => ['required', 'date', 'after_or_equal:inicioSubmissao'], - 'inicioRevisao' => ['required', 'date', 'after:yesterday'], - 'fimRevisao' => ['required', 'date', 'after:inicioRevisao', 'after:fimSubmissao'], - 'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimRevisao'], - 'inicio_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'], - 'fim_recurso' => ['required', 'date', 'after:inicio_recurso'], - 'resultado_final' => ['required', 'date', 'after:fim_recurso'], + 'inícioDaSubmissão' => ['required', 'date', 'after:' . $yesterday], + 'fimDaSubmissão' => ['required', 'date', 'after_or_equal:inícioDaSubmissão'], + 'inícioDaRevisão' => ['required', 'date', 'after:' . $yesterday], + 'fimDaRevisão' => ['required', 'date', 'after:inícioDaRevisão', 'after:fimDaSubmissão'], + 'resultado_preliminar'=> ['required', 'date', 'after_or_equal:fimDaRevisão'], + 'início_do_recurso' => ['required', 'date', 'after_or_equal:resultado_preliminar'], + 'fim_do_recurso' => ['required', 'date', 'after:início_do_recurso'], + 'resultado_final' => ['required', 'date', 'after:fim_do_recurso'], 'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'], //'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'], ]); @@ -147,12 +147,12 @@ class EventoController extends Controller $evento['descricao'] = $request->descricao; $evento['tipo'] = $request->tipo; $evento['natureza_id'] = $request->natureza; - $evento['inicioSubmissao'] = $request->inicioSubmissao; - $evento['fimSubmissao'] = $request->fimSubmissao; - $evento['inicioRevisao'] = $request->inicioRevisao; - $evento['fimRevisao'] = $request->fimRevisao; - $evento['inicio_recurso'] = $request->inicio_recurso; - $evento['fim_recurso'] = $request->fim_recurso; + $evento['inicioSubmissao'] = $request->inícioDaSubmissão; + $evento['fimSubmissao'] = $request->fimDaSubmissão; + $evento['inicioRevisao'] = $request->inícioDaRevisão; + $evento['fimRevisao'] = $request->fimDaRevisão; + $evento['inicio_recurso'] = $request->início_do_recurso; + $evento['fim_recurso'] = $request->fim_do_recurso; $evento['resultado_preliminar']= $request->resultado_preliminar; $evento['resultado_final'] = $request->resultado_final; $evento['coordenadorId'] = $request->coordenador_id; diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 8ac87efd2204f886b36459dad2e2d45bf4eb0f4b..434b1298378bcbf5655b0cfce18dc8b349cab323 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -61,7 +61,7 @@ class UserController extends Controller 'email' => 'required', 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], - 'celular' => 'required', + 'celular' => 'required|telefone', 'cpf' => 'required|cpf', ]); } else { @@ -69,7 +69,7 @@ class UserController extends Controller 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255'], 'cpf' => ['required', 'cpf'], - 'celular' => ['required', 'string'], + 'celular' => ['required', 'string', 'telefone'], 'instituicao' => ['required_if:instituicaoSelect,Outra', 'max:255'], 'instituicaoSelect' => ['required_without:instituicao'], 'cargo' => ['required'], diff --git a/app/User.php b/app/User.php index 0a42835ded4015a611fcb5f0ef3f7c3592035f5a..27889642de2a5bf21ca60b5f495f51783f2e5783 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/composer.lock b/composer.lock index 161f33c6420cbb11e6b60cc05852084a97df480f..02cef5b7d3ef2fc3a3ee5d5f0e59c4f8d6957c9c 100644 --- a/composer.lock +++ b/composer.lock @@ -586,16 +586,16 @@ }, { "name": "laravel/framework", - "version": "v6.18.22", + "version": "v6.18.23", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "95f33151375bb2e4747b871854c8becc23502901" + "reference": "c914a3ec0706c6973a39183f8bc45f3d9a099d90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/95f33151375bb2e4747b871854c8becc23502901", - "reference": "95f33151375bb2e4747b871854c8becc23502901", + "url": "https://api.github.com/repos/laravel/framework/zipball/c914a3ec0706c6973a39183f8bc45f3d9a099d90", + "reference": "c914a3ec0706c6973a39183f8bc45f3d9a099d90", "shasum": "" }, "require": { @@ -730,7 +730,7 @@ "framework", "laravel" ], - "time": "2020-06-24T13:08:51+00:00" + "time": "2020-06-30T13:52:04+00:00" }, { "name": "laravel/tinker", @@ -3943,16 +3943,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.10.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "5796d127b0c4ff505b77455148ea9d5269d99758" + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5796d127b0c4ff505b77455148ea9d5269d99758", - "reference": "5796d127b0c4ff505b77455148ea9d5269d99758", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", "shasum": "" }, "require": { @@ -3987,7 +3987,7 @@ "object", "object graph" ], - "time": "2020-06-28T07:02:41+00:00" + "time": "2020-06-29T13:22:24+00:00" }, { "name": "nunomaduro/collision", 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 67fb576c9ad5be5e311371051326dc90ecbe95ef..ea8f1dc4f9d709a4c927bb785f2a380d50d2c360 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_05_123153_create_eventos_table.php b/database/migrations/2020_02_05_123153_create_eventos_table.php index 8759a43f95befed901639f7913735e07f313d2e6..125b7ea3490c421667e938d305c17103a753cc43 100644 --- a/database/migrations/2020_02_05_123153_create_eventos_table.php +++ b/database/migrations/2020_02_05_123153_create_eventos_table.php @@ -36,6 +36,7 @@ class CreateEventosTable extends Migration $table->string('pdfEdital')->nullable(); $table->string('modeloDocumento')->nullable(); $table->string('anexosStatus')->nullable(); + $table->softDeletes(); }); } diff --git a/database/migrations/2020_02_06_132418_chaves_estrangeiras.php b/database/migrations/2020_02_06_132418_chaves_estrangeiras.php index e6194b4462ef064049bd48e92330d098e99cd79d..a019f9d41fe42436e64e5f54aaf6e1f86737c57f 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 0000000000000000000000000000000000000000..0a281273a9cc05bd740fcb6c0b491eba10328e9b --- /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/public/css/layout.css b/public/css/layout.css index 1713c94cca8bf116ae2f4721c42b8142ec63615f..52f5573a2e373a7647e66b11aca19680b8132fdb 100644 --- a/public/css/layout.css +++ b/public/css/layout.css @@ -214,7 +214,8 @@ body{ border-radius: 5px; } -.flexcroll{ width:500px; +.flexcroll{ + width:500px; height:400px; overflow:scroll; } @@ -236,7 +237,7 @@ body{ /* Track */ .flexcroll::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0,0,0,0.3); + box-shadow: inset 0 0 0 rgba(0, 0, 0, 0.61); -webkit-border-radius: 10px; border-radius: 10px; } diff --git a/resources/lang/pt-BR/validation.php b/resources/lang/pt-BR/validation.php index 634bb1de3193ba2257f829baf2b673a4d6a70c96..1bcee72c520ded8c68967dd41791cbced8f85a01 100644 --- a/resources/lang/pt-BR/validation.php +++ b/resources/lang/pt-BR/validation.php @@ -13,7 +13,7 @@ return [ 'accepted' => ':Attribute deve ser aceito.', 'active_url' => ':Attribute não é uma URL válida.', 'after' => ':Attribute deve ser uma data depois de :date', - 'after_or_equal' => ':attribute deve ser uma data posterior ou igual a:date.', + 'after_or_equal' => ':attribute deve ser uma data posterior ou igual a :date.', 'alpha' => ':Attribute deve conter somente letras.', 'alpha_dash' => ':Attribute deve conter letras, números e traços.', 'alpha_num' => ':Attribute deve conter somente letras e números.', diff --git a/resources/views/administrador/novo_user.blade.php b/resources/views/administrador/novo_user.blade.php index 591781826773de84f38d5c6951c873321dd4af73..918352bc077d7bb90c91a077ca37f70aa128e92c 100644 --- a/resources/views/administrador/novo_user.blade.php +++ b/resources/views/administrador/novo_user.blade.php @@ -114,14 +114,9 @@
- +
- @error('confirmar_senha') - - {{ $message }} - - @enderror