Unverified Commit 663800bf authored by Gabriel Antônio da Silva's avatar Gabriel Antônio da Silva Committed by GitHub
Browse files

Merge pull request #46 from lmts-ufape/newSubmeter

New submeter
parents 8523d616 ced784c3
......@@ -14,7 +14,7 @@ class Evento extends Model
protected $fillable = [
'nome', 'descricao', 'tipo',
'inicioSubmissao', 'fimSubmissao', 'inicioRevisao', 'fimRevisao',
'resultado', 'coordenadorId',
'resultado_final','resultado_preliminar', 'coordenadorId',
'numMaxTrabalhos', 'numMaxCoautores', 'hasResumo', 'criador_id'
];
......
......@@ -110,14 +110,18 @@ class EventoController extends Controller
'fimSubmissao' => ['required', 'date'],
'inicioRevisao' => ['required', 'date'],
'fimRevisao' => ['required', 'date'],
'resultado' => ['required', 'date'],
'inicio_recurso' => ['required', 'date'],
'fim_recurso' => ['required', 'date'],
'resultado_final' => ['required', 'date'],
'resultado_preliminar'=> ['required', 'date'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => [],
]);
}
// validacao normal
//after = depois
//before = antes
$validatedData = $request->validate([
'nome' => ['required', 'string'],
'descricao' => ['required', 'string'],
......@@ -125,11 +129,15 @@ class EventoController extends Controller
'natureza' => ['required'],
'descricao' => ['required'],
'coordenador_id' => ['required'],
'inicioSubmissao' => ['required', 'date', 'after:' . $yesterday],
'fimSubmissao' => ['required', 'date', 'after:' . $request->inicioSubmissao],
'inicioRevisao' => ['required', 'date', 'after:' . $yesterday],
'fimRevisao' => ['required', 'date', 'after:' . $request->inicioRevisao],
'resultado' => ['required', 'date', 'after:' . $yesterday],
#----------------------------------------------
'inicioSubmissao' => ['required', 'date', 'after:yesterday'],
'fimSubmissao' => ['required', 'date', 'after:fim_recurso','after:resultado_final'],
'inicioRevisao' => ['required', 'date', 'after:yesterday'],
'fimRevisao' => ['required', 'date', 'after:inicioRevisao', 'before:fimSubmissao'],
'inicio_recurso' => ['required', 'date', 'after:inicioRevisao'],
'fim_recurso' => ['required', 'date', 'after:fim_recurso'],
'resultado_preliminar'=> ['required', 'date', 'after:inicio_recurso'],
'resultado_final' => ['required', 'date', 'after:resultado_preliminar'],
'pdfEdital' => [($request->pdfEditalPreenchido!=='sim'?'required':''), 'file', 'mimes:pdf', 'max:2048'],
//'modeloDocumento' => ['file', 'mimes:zip,doc,docx,odt,pdf', 'max:2048'],
]);
......@@ -143,7 +151,10 @@ class EventoController extends Controller
$evento['fimSubmissao'] = $request->fimSubmissao;
$evento['inicioRevisao'] = $request->inicioRevisao;
$evento['fimRevisao'] = $request->fimRevisao;
$evento['resultado'] = $request->resultado;
$evento['inicio_recurso'] = $request->inicio_recurso;
$evento['fim_recurso'] = $request->fim_recurso;
$evento['resultado_preliminar']= $request->resultado_preliminar;
$evento['resultado_final'] = $request->resultado_final;
$evento['coordenadorId'] = $request->coordenador_id;
$evento['criador_id'] = $user_id;
$evento['anexosStatus'] = 'final';
......
......@@ -86,4 +86,10 @@ class ProponenteController extends Controller
return view('proponente.projetos')->with(['projetos' => $projetos]);
}
public function projetosEdital($id) {
$edital = Evento::find($id);
$projetos = Trabalho::where('evento_id', '=', $id)->get();
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos]);
}
}
......@@ -24,7 +24,10 @@ class CreateEventosTable extends Migration
$table->date('fimSubmissao')->nullable();
$table->date('inicioRevisao')->nullable();
$table->date('fimRevisao')->nullable();
$table->date('resultado')->nullable();
$table->date('resultado_final')->nullable();
$table->date('resultado_preliminar')->nullable();
$table->date('inicio_recurso')->nullable();
$table->date('fim_recurso')->nullable();
$table->integer('numMaxTrabalhos')->nullable();
$table->integer('numMaxCoautores')->nullable();
$table->boolean('hasResumo')->nullable();
......
......@@ -21,7 +21,7 @@ class DatabaseSeeder extends Seeder
$this->call(SubAreaSeeder::class);
$this->call(FuncaoParticipanteSeeder::class);
$this->call(CoordenadorComissaoSeeder::class);
// $this->call(ParticipanteSeeder::class);
$this->call(ParticipanteSeeder::class);
$this->call(NaturezaSeeder::class);
$this->call(RecomendacaoSeeder::class);
$this->call(AvaliadorSeeder::class);
......
......@@ -143,10 +143,42 @@
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="resultado" class="col-form-label">{{ __('Data do Resultado*:') }}</label>
<input id="resultado" type="date" class="form-control @error('resultado') is-invalid @enderror" name="resultado" value="{{ old('resultado') }}" required autocomplete="resultado" autofocus>
<label for="inicio_recurso" class="col-form-label">{{ __('Início do recurso*:') }}</label>
<input id="inicio_recurso" type="date" class="form-control @error('inicio_recurso') is-invalid @enderror" name="inicio_recurso" value="{{ old('inicio_recurso') }}" required autocomplete="inicio_recurso" autofocus>
@error('resultado')
@error('inicio_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="fim_recurso" class="col-form-label">{{ __('Fim do recurso*:') }}</label>
<input id="fim_recurso" type="date" class="form-control @error('fim_recurso') is-invalid @enderror" name="fim_recurso" value="{{ old('fim_recurso') }}" required autocomplete="resultado" autofocus>
@error('fim_recurso')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
</div>
<div class="row justify-content-left">
<div class="col-sm-6">
<label for="resultado_preliminar" class="col-form-label">{{ __('Data do Resultado preliminar*:') }}</label>
<input id="resultado_preliminar" type="date" class="form-control @error('resultado_preliminar') is-invalid @enderror" name="resultado_preliminar" value="{{ old('resultado_preliminar') }}" required autocomplete="resultado_preliminar" autofocus>
@error('resultado_preliminar')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
@enderror
</div>
<div class="col-sm-6">
<label for="resultado_final" class="col-form-label">{{ __('Data do Resultado final*:') }}</label>
<input id="resultado_final" type="date" class="form-control @error('resultado_final') is-invalid @enderror" name="resultado_final" value="{{ old('resultado_final') }}" required autocomplete="resultado" autofocus>
@error('resultado_final')
<span class="invalid-feedback" role="alert">
<strong>{{ $message . date('d/m/Y', strtotime($ontem ?? '')) . '.' }}</strong>
</span>
......
......@@ -292,8 +292,8 @@
</div>
<hr>
<h3>Participantes</h3>
<h3>Participantes</h3>
{{-- Participantes --}}
<div class="row" style="margin-top:20px">
<div class="col-sm-12">
......@@ -306,6 +306,10 @@
@if ($countParticipante != null && $countParticipante > 0)
@for ($i = 0; $i < $countParticipante; $i++)
{{-- inicio do card --}}
{{-- <div class="card" >
<div class="card-body"> --}}
<div id="novoParticipante" style="display: block;">
<br>
<h4>Dados do participante</h4>
......@@ -347,7 +351,8 @@
<h6 class="mb-1">Possui plano de trabalho?</h6>
<button class="btn btn-primary mt-2 mb-2 simPlano">Sim</button>
<button class="btn btn-primary mt-2 mb-2 naoPlano">Não</button>
<div id="planoHabilitado" >
<div id="planoHabilitado" style="display:none;">
<h5>Dados do plano de trabalho</h5>
<div class="row">
<div class="col-sm-12">
......@@ -382,9 +387,9 @@
@enderror
</div>
<div class="col-sm-1">
<a class="delete">
{{-- <a class="delete">
<img src="{{ asset('/img/icons/user-times-solid.svg') }}" style="width:25px;margin-top:35px">
</a>
</a> --}}
</div>
</div>
</div>
......@@ -393,14 +398,19 @@
</div>
</div>
{{-- </div>
</div> --}}
{{-- inicio do card --}}
@endfor
@endif
</div>
<input type="hidden" name="countParticipante" id="countParticipante" value="{{ old('countParticipante') != null ? old('countParticipante') : 1}}">
<a href="#" class="btn btn-primary" id="addCoautor" style="width:100%;margin-top:10px">Participantes +</a>
<a href="#" class="btn btn-primary" id="addCoautor" style="width:100%;margin-top:10px">Adicionar participante</a>
</div>
</div>
<hr>
</p>
<div class="row justify-content-center">
<div class="col-md-6">
......@@ -409,7 +419,7 @@
</button>
</div>
<div class="col-md-6">
<button type="submit" class="btn btn-primary" style="width:100%">
<button type="submit" class="btn btn-success" style="width:100%">
{{ __('Enviar Projeto') }}
</button>
</div>
......@@ -565,7 +575,14 @@
function montarLinhaInput() {
return "<div id="+"novoParticipante"+">" +
"<div class='row'>"+
"<div class='col-sm-9'>"+
"<br><h4>Dados do participante</h4>" +
"</div>"+
"<div class='col-sm-3'>"+
"</div>"+
"</div>"+
"<div class="+"row"+">"+
"<div class="+"col-sm-5"+">"+
"<label>Nome Completo*</label>"+
......@@ -602,8 +619,8 @@
"</div>" +
"<h6 class='mb-1'>Possui plano de trabalho?</h6>"+
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 simPlano'"+">Sim</button>"+
"<button class="+"'btn btn-primary mt-2 mb-2 naoPlano'"+">Não</button>"+
"<div id="+"planoHabilitado"+">" +
"<button class="+"'btn btn-primary mt-2 mb-2 mr-1 naoPlano'"+">Não</button>"+
"<div id="+"planoHabilitado"+" style="+"'display:none;'"+">" +
"<h5>Dados do plano de trabalho</h5>" +
"<div class="+"row"+">"+
"<div class="+"col-sm-4"+">"+
......@@ -641,6 +658,8 @@
"</div>"+
"</div>"+
"</div>"+
"<a href='#' class="+"'btn btn-danger mt-2 mb-2 delete'"+" style='width:100%;margin-top:10px'"+">Remover participante</a>"+
"</div>";
}
......
......@@ -273,7 +273,7 @@
@endif
@else
<a class="btn btn-secondary botao-form" href="{{ route('home-user') }}" style="width:100%">Voltar</a>
<a class="btn btn-secondary botao-form" href="{{ route('inicial') }}" style="width:100%">Voltar</a>
@endif
</div>
......
......@@ -27,9 +27,9 @@
</div>
<div class="col-sm-3">
<!-- Se usuário não é proponente, redirecionar para view de cadastro -->
@if(Auth::user()->proponentes == null)
@if(Auth::user()->proponentes->where('user_id', Auth::user()->id)->count() == 0) == null)
<a href="{{ route('proponente.create' )}}" class="btn btn-primary" style="position:relative; float: right;">Criar projeto</a>
@else
@elseif(Auth::user()->participantes->where('user_id', Auth::user()->id)->count() == 0)
<a href="{{ route('trabalho.index', ['id' => $edital->id] )}}" class="btn btn-primary" style="position:relative; float: right;">Criar projeto</a>
@endif
</div>
......@@ -47,7 +47,7 @@
</thead>
<tbody>
@foreach ($projetos as $projeto)
@if ($projeto->status != 'Rascunho' && $projeto->proponente_id === Auth()->user()->proponentes->id)
@if ($projeto->proponente_id != Auth()->user()->proponentes->id)
<tr>
<td>
{{ $projeto->titulo }}
......@@ -70,12 +70,6 @@
<a href="{{ route('trabalho.show', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center">
Visualizar projeto
</a>
{{-- <a href="" class="dropdown-item" style="text-align: center">
Recorrer
</a>
<a href="" class="dropdown-item" style="text-align: center">
Resultado
</a> --}}
<!-- Button trigger modal -->
<button type="button" class="dropdown-item" data-toggle="modal" data-target="#modal{{$projeto->id}}" style="text-align: center">
Excluir projeto
......
......@@ -46,9 +46,12 @@
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a href="{{ route('projetos.edital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center">
<a href="{{ route('proponente.projetosEdital', ['id' => $evento->id]) }}" class="dropdown-item" style="text-align: center">
Projetos submetidos
</a>
<a href="{{ route('trabalho.index', ['id' => $evento->id] )}}" class="dropdown-item" style="text-align: center">
Criar projeto
</a>
{{-- <a href="" class="dropdown-item" style="text-align: center">
Visualizar resultado
</a> --}}
......
......@@ -14,7 +14,7 @@
<div class="container" >
<div class="row" >
<div class="col-sm-12">
<h3>Projetos submetidos</h3>
<h3>Meus Projetos</h3>
</div>
</div>
</div>
......@@ -30,7 +30,7 @@
</thead>
<tbody>
@foreach ($projetos as $projeto)
@if ($projeto->status != 'Rascunho')
<tr>
<td>
{{ $projeto->titulo }}
......@@ -72,7 +72,7 @@
</div>
</td>
</tr>
@endif
<!-- Modal -->
<div class="modal fade" id="modal{{$projeto->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
......
@extends('layouts.app')
@section('content')
<div class="container" style="margin-top: 100px;">
@if(isset($mensagem))
<div class="col-sm-12">
<br>
<div class="alert alert-success">
<p>{{ $mensagem }}</p>
</div>
</div>
@endif
@if(session('mensagem'))
<div class="col-sm-12">
<br>
<div class="alert alert-success">
<p>{{session('mensagem')}}</p>
</div>
</div>
@endif
<div class="container" >
<div class="row" >
<div class="col-sm-9">
<h3>Projetos do edital {{ $edital->nome }}</h3>
<h6 style="color: rgb(4, 78, 4);">Submissão irá até o dia {{ date('d-m-Y', strtotime($edital->fimSubmissao)) }}</h6>
</div>
<div class="col-sm-3">
<a href="{{ route('trabalho.index', ['id' => $edital->id] )}}" class="btn btn-primary" style="position:relative; float: right;">Criar projeto</a>
</div>
</div>
</div>
<hr>
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome do projeto</th>
<th scope="col">Status</th>
<th scope="col">Data de Criação</th>
<th scope="col">Opção</th>
</tr>
</thead>
<tbody>
@foreach ($projetos as $projeto)
@if ($projeto->proponente_id === Auth()->user()->proponentes->id)
<tr>
<td>
{{ $projeto->titulo }}
</td>
@if($projeto->status == 'Avaliado')
<td style="color: rgb(6, 85, 6)">Avaliado</td>
@elseif($projeto->status == 'Submetido')
<td style="color: rgb(0, 0, 0)">Submetido</td>
@elseif($projeto->status == 'Rascunho')
<td style="color: rgb(0, 0, 0)">Rascunho</td>
@endif
<td>{{ date('d-m-Y', strtotime($projeto->updated_at)) }}</td>
<td>
<div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="{{asset('img/icons/ellipsis-v-solid.svg')}}" style="width:8px">
</a>
<div class="dropdown-menu">
<a href="{{ route('trabalho.editar', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center;">
Editar projeto
</a>
<a href="{{ route('trabalho.show', ['id' => $projeto->id]) }}" class="dropdown-item" style="text-align: center">
Visualizar projeto
</a>
{{-- <a href="" class="dropdown-item" style="text-align: center">
Recorrer
</a>
<a href="" class="dropdown-item" style="text-align: center">
Resultado
</a> --}}
<!-- Button trigger modal -->
<button type="button" class="dropdown-item" data-toggle="modal" data-target="#modal{{$projeto->id}}" style="text-align: center">
Excluir projeto
</button>
</div>
</div>
</td>
</tr>
@endif
<!-- Modal -->
<div class="modal fade" id="modal{{$projeto->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Deletar projeto</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>Você tem certeza que deseja deletar o projeto: {{ $projeto->titulo }}?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<a href="{{ route('trabalho.destroy', ['id' => $projeto->id]) }}" class="btn btn-primary" style="text-align: center">
Deletar
</a>
</div>
</div>
</div>
</div>
@endforeach
</tbody>
</table>
</div>
@endsection
@section('javascript')
<script>
</script>
@endsection
\ No newline at end of file
......@@ -24,10 +24,12 @@ Auth::routes(['verify' => true]);
//######### Proponente ########################################
Route::get('/proponente/index', 'ProponenteController@index' )->name('proponente.index');
Route::get('/proponente/cadastro', 'ProponenteController@create' )->name('proponente.create');
Route::get( '/proponente/index', 'ProponenteController@index' )->name('proponente.index');
Route::get( '/proponente/cadastro', 'ProponenteController@create' )->name('proponente.create');
Route::post('/proponente/cadastro', 'ProponenteController@store' )->name('proponente.store');
Route::get( '/proponente/editais', 'ProponenteController@editais' )->name('proponente.editais');
Route::get( '/projetos-submetidos', 'ProponenteController@projetosDoProponente' )->name('proponente.projetos');
Route::get( '/projetos-edital/{id}', 'ProponenteController@projetosEdital' )->name('proponente.projetosEdital');
//######### Rotas Administrador #################################
......@@ -103,7 +105,7 @@ Route::prefix('avaliador')->name('avaliador.')->group(function(){
Route::post( '/projeto/{id}/atualizar', 'TrabalhoController@update' )->name('trabalho.update');
Route::get( '/projeto/{id}/excluir', 'TrabalhoController@destroy' )->name('trabalho.destroy');
Route::get( '/projeto/{id}/excluirParticipante','TrabalhoController@excluirParticipante')->name('trabalho.excluirParticipante');
Route::get( '/projetos-submetidos', 'ProponenteController@projetosDoProponente' )->name('proponente.projetos');
//######### Atribuição #######################################
Route::get( '/atribuir', 'AtribuicaoController@distribuicaoAutomatica' )->name('distribuicao');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment