Unverified Commit 1172838d authored by GuilhermeGz's avatar GuilhermeGz Committed by GitHub
Browse files

Merge pull request #441 from GuilhermeGz/master

Ajustes nos e-mails enviados nas atribuições de avaliadores, ajuste nos reenvio de e-mails, alterada restrição de média do participante em casos PIBEX e alteração na função de envio do parecer
parents 3e48f4d1 2a872786
......@@ -19,7 +19,7 @@ class Evento extends Model
'dt_inicioRelatorioParcial', 'dt_fimRelatorioParcial', 'dt_inicioRelatorioFinal', 'dt_fimRelatorioFinal',
'formAvaliacaoExterno', 'formAvaliacaoInterno',
'cotaDoutor', 'inicioProjeto', 'fimProjeto',
'formAvaliacaoRelatorio'
'formAvaliacaoRelatorio', 'docTutorial'
];
public function endereco(){
......
......@@ -867,11 +867,9 @@ class AdministradorController extends Controller
$notificacao->save();
$trabalho = Trabalho::where('id', $request->trabalho_id)->first();
$subject = "Trabalho atribuido";
$informacoes = $trabalho->titulo;
//REFAZER EMAIL
$subject = "Convite para avaliar projetos da UFAPE - Reenvio";
Mail::to($avaliador->user->email)
->send(new EmailLembrete($avaliador->user, $subject, $informacoes));
->send(new EmailLembrete($avaliador->user->name, $subject, $trabalho->titulo,$evento->nome,$evento->tipo, $evento->natureza_id, $evento->formAvaliacaoExterno,$avaliador->trabalhos()->where("trabalho_id",$trabalho->id)->first()->pivot->acesso));
return redirect()->back();
......
......@@ -149,21 +149,6 @@ class ArquivoController extends Controller
$notificacao->save();
Notification::send($userTemp, new RelatorioRecebimentoNotification($arquivo->trabalho->id,$userTemp,
$arquivo->trabalho->evento->nome,$arquivo->trabalho->titulo,'Parcial'));
//Admins
$admins = Administrador::all();
foreach ($admins as $admin) {
$userTemp = User::find($admin->user_id);
$notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id,
'destinatario_id' => $admin->user_id,
'trabalho_id' => $arquivo->trabalho->id,
'lido' => false,
'tipo' => 3,
]);
$notificacao->save();
Notification::send($userTemp, new RelatorioRecebimentoNotification($arquivo->trabalho->id,$userTemp,
$arquivo->trabalho->evento->nome,$arquivo->trabalho->titulo,'Parcial'));
}
}
if($request->relatorioFinal != null) {
......@@ -180,21 +165,6 @@ class ArquivoController extends Controller
$notificacao->save();
Notification::send($userTemp, new RelatorioRecebimentoNotification($arquivo->trabalho->id,$userTemp,
$arquivo->trabalho->evento->nome,$arquivo->trabalho->titulo,'Final'));
//Admins
$admins = Administrador::all();
foreach ($admins as $admin) {
$userTemp = User::find($admin->user_id);
$notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id,
'destinatario_id' => $admin->user_id,
'trabalho_id' => $arquivo->trabalho->id,
'lido' => false,
'tipo' => 4,
]);
$notificacao->save();
Notification::send($userTemp, new RelatorioRecebimentoNotification($arquivo->trabalho->id,$userTemp,
$arquivo->trabalho->evento->nome,$arquivo->trabalho->titulo,'Final'));
}
}
$arquivo->save();
return redirect(route('planos.listar', ['id' => $request->projId]))->with(['sucesso' => "Relatório enviado com sucesso"]);
......
......@@ -236,8 +236,6 @@ class AvaliadorController extends Controller
}
$avaliador = $user->avaliadors->where('user_id',$user->id)->first();
$trabalho = $avaliador->trabalhos->find($request->trabalho_id);
$trabalho->status = 'avaliado';
$trabalho->save();
$data = Carbon::now('America/Recife');
if($request->anexoParecer == ''){
if($evento->tipo == "PIBEX"){
......
......@@ -94,6 +94,11 @@ class EventoController extends Controller
'modeloDocumento' => ['file', 'max:2048', new ExcelRule($request->file('modeloDocumento'))],
]);
}
if(isset($request->docTutorial)){
$request->validate([
'docTutorial' => ['file', 'max:2048', new ExcelRule($request->file('docTutorial'))],
]);
}
//--Salvando os anexos da submissão temporariamente
$evento = $this->armazenarAnexosTemp($request);
......@@ -245,6 +250,15 @@ class EventoController extends Controller
$evento->formAvaliacaoRelatorio = $path . $nome;
}
if(isset($request->docTutorial)){
$docTutorial = $request->docTutorial;
$extension = $docTutorial->extension();
$path = 'docTutorial/' . $evento->id . '/';
$nome = "documento tutorial" . "." . $extension;
Storage::putFileAs($path, $docTutorial, $nome);
$evento->docTutorial = $path . $nome;
}
$evento->update();
......@@ -290,6 +304,12 @@ class EventoController extends Controller
$eventoTemp->formAvaliacaoRelatorio = Storage::putFileAs($pasta, $request->pdfFormAvalRelatorio, 'formulario de avaliação do relatorio.pdf');
}
if(!(is_null($request->docTutorial)) ) {
$extension = $request->docTutorial->extension();
$pasta = 'docTutorial/' . $eventoTemp->id;
$nome = "documento tutorial" . "." . $extension;
$eventoTemp->docTutorial = Storage::putFileAs($pasta, $request->docTutorial, $nome);
}
$eventoTemp->update();
......@@ -434,6 +454,7 @@ class EventoController extends Controller
'pdfFormAvalRelatorio' => ['file', 'mimes:pdf', 'max:2048'],
'inicioProjeto' => ['required', 'date'],
'fimProjeto' => ['required', 'date'],
'docTutorial' => ['file', 'mimes:zip,doc,docx,pdf', 'max:2048'],
]);
}
......@@ -460,6 +481,7 @@ class EventoController extends Controller
'pdfFormAvalRelatorio' => ['file', 'mimes:pdf', 'max:2048'],
'inicioProjeto' => ['required', 'date', 'after:resultado_final'],
'fimProjeto' => ['required', 'date', 'after:inicioProjeto'],
'docTutorial' => ['file', 'mimes:zip,doc,docx,pdf', 'max:2048'],
]);
$evento->nome = $request->nome;
......@@ -511,6 +533,15 @@ class EventoController extends Controller
$evento->formAvaliacaoExterno = $path . $nome;
}
if($request->docTutorial != null){
$docTutorial = $request->docTutorial;
$extension = $docTutorial->extension();
$path = 'docTutorial/' . $evento->id . '/';
$nome = "documento tutorial" . "." . $extension;
Storage::putFileAs($path, $docTutorial, $nome);
$evento->docTutorial = $path . $nome;
}
if(isset($request->pdfFormAvalRelatorio)){
$pdfFormAvalRelatorio = $request->pdfFormAvalRelatorio;
$extension = $pdfFormAvalRelatorio->extension();
......
......@@ -1122,21 +1122,6 @@ class TrabalhoController extends Controller
]);
$notificacao->save();
Notification::send(Auth::user(), new SubmissaoNotification($trabalho->id,$trabalho->titulo));
//Admins
$admins = App\Administrador::all();
foreach ($admins as $admin) {
$userTemp = User::find($admin->user_id);
$notificacao = App\Notificacao::create([
'remetente_id' => Auth::user()->id,
'destinatario_id' => $admin->user_id,
'trabalho_id' => $trabalho->id,
'lido' => false,
'tipo' => 1,
]);
$notificacao->save();
Notification::send($userTemp, new SubmissaoRecebidaNotification($trabalho->id,$trabalho->titulo,$userTemp));
}
return redirect(route('proponente.projetos'))->with(['mensagem' => 'Proposta submetida!']);
......@@ -1235,7 +1220,9 @@ class TrabalhoController extends Controller
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$participante->save();
......@@ -1254,7 +1241,9 @@ class TrabalhoController extends Controller
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$participante->save();
$subject = "Participante de Projeto";
......@@ -1316,7 +1305,9 @@ class TrabalhoController extends Controller
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$participante->update();
if ($request->anexoPlanoTrabalho != null && array_key_exists($key, $request->anexoPlanoTrabalho) && $request->anexoPlanoTrabalho[$key] != null) {
......@@ -1399,7 +1390,9 @@ class TrabalhoController extends Controller
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$participante->save();
$usuario = User::where('email', $email)->first();
......@@ -1434,7 +1427,9 @@ class TrabalhoController extends Controller
$participante->ordem_prioridade = $request->ordem_prioridade[$key];
$participante->periodo_atual = $request->periodo_atual[$key];
$participante->total_periodos = $request->total_periodos[$key];
$participante->media_do_curso = $request->media_geral_curso[$key];
if($edital->tipo != "PIBEX"){
$participante->media_do_curso = $request->media_geral_curso[$key];
}
$participante->save();
......
......@@ -26,7 +26,8 @@ class StoreTrabalho extends FormRequest
*/
public function rules()
{
$evento = Evento::find($this->editalId);
$rules = [];
if($this->has('marcado')){
foreach ($this->get('marcado') as $key => $value) {
......@@ -52,7 +53,9 @@ class StoreTrabalho extends FormRequest
$rules['ordem_prioridade.'.$value] = ['required', 'string'];
$rules['periodo_atual.'.$value] = ['required', 'string'];
$rules['total_periodos.'.$value] = ['required', 'string'];
$rules['media_do_curso.'.$value] = ['string'];
if($evento->tipo != "PIBEX") {
$rules['media_do_curso.' . $value] = ['required', 'string'];
}
$rules['anexoPlanoTrabalho.'.$value] = ['required'];
$rules['nomePlanoTrabalho.'.$value] = ['required', 'string'];
......@@ -65,7 +68,6 @@ class StoreTrabalho extends FormRequest
$rules = [];
return $rules;
}else{
$evento = Evento::find($this->editalId);
if($evento->tipo!="PIBEX"){
$rules['anexoPlanilhaPontuacao'] = ['required'];
$rules['anexoLattesCoordenador'] = ['required', 'mimes:pdf'];
......
......@@ -54,7 +54,9 @@ class UpdateTrabalho extends FormRequest
$rules['ordem_prioridade.'.$value] = ['required', 'string'];
$rules['periodo_atual.'.$value] = ['required', 'string'];
$rules['total_periodos.'.$value] = ['required', 'string'];
$rules['media_do_curso.'.$value] = ['required', 'string'];
if($evento->tipo != "PIBEX") {
$rules['media_do_curso.' . $value] = ['required', 'string'];
}
$rules['nomePlanoTrabalho.'.$value] = ['required', 'string'];
$rules['anexoPlanoTrabalho.'.$value] = ['required', 'mimes:pdf'];
......
......@@ -21,11 +21,16 @@ class EmailLembrete extends Mailable
*
* @return void
*/
public function __construct($user, $subject, $informacoes = "")
public function __construct($user, $subject, $propostaTitulo, $eventoTitulo, $tipo, $natureza, $arquivo, $acesso)
{
$this->user = $user;
$this->subject = $subject;
$this->informacoes = $informacoes;
$this->propostaTitulo = $propostaTitulo;
$this->eventoTitulo = $eventoTitulo;
$this->tipo = $tipo;
$this->natureza = $natureza;
$this->arquivo = $arquivo;
$this->acesso = $acesso;
}
......@@ -36,14 +41,32 @@ class EmailLembrete extends Mailable
*/
public function build()
{
$subject = 'Submeta - Lembrete de Edital';
$file = storage_path('app').'/'.$this->arquivo;
if($this->acesso == '1' || $this->acesso == '3'){
return $this->from('lmtsteste@gmail.com', 'Submeta - LMTS')
->subject($this->subject)
->view('emails.emailLembreteRevisor')
->with([
'user' => $this->user,
'propostaTitulo' => $this->propostaTitulo,
'eventoTitulo' => $this->eventoTitulo,
'tipo' => $this->tipo,
'natureza' => $this->natureza,
'acesso' => $this->acesso
])->attach($file);
}
return $this->from('lmtsteste@gmail.com', 'Submeta - LMTS')
->subject($this->subject)
->view('emails.emailLembreteRevisor')
->with([
'user' => $this->user,
'info' => $this->informacoes,
]);
->subject($this->subject)
->view('emails.emailLembreteRevisor')
->with([
'user' => $this->user,
'propostaTitulo' => $this->propostaTitulo,
'eventoTitulo' => $this->eventoTitulo,
'tipo' => $this->tipo,
'natureza' => $this->natureza,
'acesso' => $this->acesso
]);
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddDocTutorialToEventosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('eventos', function (Blueprint $table) {
Schema::table('eventos', function (Blueprint $table) {
$table->string('docTutorial')->nullable();
});
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('eventos', function (Blueprint $table) {
$table->dropColumn('docTutorial');
});
}
}
......@@ -394,7 +394,7 @@
@php $cont=1;@endphp
@foreach($trabalhosAmpla as $trabalho)
@if($trabalho->status == 'submetido' || $trabalho->status == 'avaliado'))
@if($trabalho->status == 'submetido' || $trabalho->status == 'avaliado')
<tr>
<td>{{$cont}}</td>
<td>{{$trabalho->pontuacao}}</td>
......
<!DOCTYPE html>
<html>
<head>
</head>
<body>
@if(isset($info))
<h4>Lembrete para revisor, {{$user->email}}, foi atribuido para você o trabalho: {{$info}} </h4>
@else
<h4>Lembrete para revisor, {{$user->email}} </h4>
<h3>Prezado(a) Avaliador(a), cordiais saudações!</h3>
<p>
Agradecemos seu aceite para participar das avaliações da proposta {{$propostaTitulo}} de @if($natureza == '1') Ensino @elseif($natureza=='2') Pesquisa @elseif($natureza == '3') Extensão @endif
do {{$eventoTitulo}} da Universidade Federal do Agreste de Pernambuco (UFAPE).
<br><br>Solicitamos, gentilmente, que acesse o sistema Submeta através do <a href="{{ url('http://www.submeta.ufape.edu.br/') }}">LINK</a>, para realizar o seu login no sistema e dar seguimento na avaliação da proposta para aceite ou recusa da presente proposta.
@if($acesso == '1' || $acesso == '3')<br><br>Aproveitamos para enviar, em anexo, o formulário de avaliação que deverá ser anexado ao sistema com o seu parecer.@endif
@if($natureza == '3') <br><br>Qualquer dúvida, por favor, entre em contato pelo e-mail: editais.prec@ufape.edu.br @endif
@if($natureza == '3')
<br><br>Desde já, agradecemos a disponibilidade de participar do banco de avaliadores Ad hoc de propostas de Extensão e Cultura da UFAPE.
<br><br>Atenciosamente,
<br>Seção de Editais e Apoios a Projetos - PREC/UFAPE
@else
<br><br>Atenciosamente,
<br>Universidade Federal do Agreste de Pernambuco
@endif
</p>
</body>
</html>
\ No newline at end of file
......@@ -452,6 +452,22 @@
@enderror
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label for="docTutorial">Documento auxiliar para Avaliador:</label>
@if(old('docTutorialPreenchido') != null)
<a id="docTutorialTemp" href="{{ route('baixar.evento.temp', ['nomeAnexo' => 'docTutorial' ])}}">Arquivo atual</a>
@endif
<input type="hidden" id="docTutorialPreenchido" name="docTutorialPreenchido" value="{{ old('docTutorialPreenchido') }}" >
<input type="file" accept=".pdf,.docx,.doc,.zip" class="form-control-file pdf @error('docTutorial') is-invalid @enderror" name="docTutorial" value="{{ old('docTutorial') }}" id="docTutorial" onchange="exibirAnexoTemp(this)">
<small>O arquivo selecionado deve ser de até 2mb.</small>
@error('docTutorial')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
......
......@@ -429,6 +429,27 @@
@enderror
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label for="pdfEdital">Documento auxiliar para Avaliador:</label>
@if($evento->docTutorial != null)
<a href="{{route('download', ['file' => $evento->docTutorial])}}" target="_new" style="font-size: 20px; color: #114048ff;" >
<img class="" src="{{asset('img/icons/file-download-solid.svg')}}" style="width:20px">
</a>
@else
<a>
<i class="fas fa-times-circle fa-2x" style="color:red; font-size:25px"></i>
</a>
@endif
<input type="file" class="form-control-file @error('docTutorial') is-invalid @enderror" name="docTutorial" value="{{ old('docTutorial') }}" id="docTutorial">
<small>O arquivo selecionado deve ser no formato PDF de até 2mb.</small>
@error('docTutorial')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
</div>
<div class="row justify-content-center" style="margin: 20px 0 20px 0">
......
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