"resources/views/git@sites.upe.br:walter.felipe/submeta.git" did not exist on "23113320e70a3b1f4c6f749393ca54899f6d03cb"
Unverified Commit 4c9b600c authored by Laboratório Multidisciplinar de Tecnologias Sociais's avatar Laboratório Multidisciplinar de Tecnologias Sociais Committed by GitHub
Browse files

Merge pull request #189 from KelwinJonas/master

Desligamento de participantes
parents 27015b69 b61f4f6f
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Desligamento extends Model
{
protected $fillable = [
'status',
'justificativa',
'participante_id',
'trabalho_id',
];
public const STATUS_ENUM = [
'solicitado' => 1,
'aceito' => 2,
'recusado' => 3,
];
public function participante(){
return $this->belongsTo(Participante::class, 'participante_id', 'id');
}
public function trabalho(){
return $this->belongsTo(Trabalho::class, 'trabalho_id', 'id');
}
public function getStatus()
{
switch ($this->status) {
case Desligamento::STATUS_ENUM['solicitado']:
return 'Solicitado';
break;
case Desligamento::STATUS_ENUM['aceito']:
return 'Aceito';
break;
case Desligamento::STATUS_ENUM['recusado']:
return 'Recusado';
break;
default:
break;
}
}
}
......@@ -2,13 +2,18 @@
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use App\Evento;
use App\CoordenadorComissao;
use App\Avaliador;
use App\Desligamento;
use App\Mail\SolicitacaoDesligamento;
use App\Notificacao;
use App\Proponente;
use App\Participante;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
class CoordenadorComissaoController extends Controller
{
......@@ -114,7 +119,30 @@ class CoordenadorComissaoController extends Controller
}
public function respostaDesligamento(Request $request)
{
$desligamento = Desligamento::find($request->desligamento);
$desligamento->status = intval($request->opcao);
$desligamento->update();
if($desligamento->status == Desligamento::STATUS_ENUM['aceito']){
$desligamento->participante->delete();
}
$notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id,
'destinatario_id' => $desligamento->trabalho->proponente_id,
'trabalho_id' => $desligamento->trabalho->id,
'lido' => false,
'tipo' => 7,
]);
$notificacao->save();
Mail::to($desligamento->trabalho->proponente->user->email)->send(new SolicitacaoDesligamento($desligamento->trabalho->evento, $desligamento->trabalho, "resultado"));
return redirect()->back()->with(['sucesso' => 'Desligamento '.$desligamento->getStatus().' com sucesso.']);
}
}
......@@ -126,6 +126,10 @@ class NotificacaoController extends Controller
} else {
return redirect()->route('avaliador.editais');
}
}elseif ($notificacao->tipo == 7) {
if ($notificacao->destinatario_id == Auth()->user()->id && Auth()->user()->tipo != 'proponente') {
return redirect()->route('admin.analisarProposta', ['id' => $notificacao->trabalho->id]);
}
} elseif ($notificacao->tipo == 6) {
$trabalho = $notificacao->trabalho;
return view('administrador.visualizarSolicitacaoCertificado', compact('notificacao', 'trabalho'));
......
......@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Desligamento;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
......@@ -10,7 +11,12 @@ use App\User;
use App\Trabalho;
use App\Proponente;
use App\Evento;
use App\Mail\SolicitacaoDesligamento;
use App\Mail\SolicitacaoSubstituicao;
use App\Notificacao;
use App\Participante;
use Carbon\Carbon;
use Illuminate\Support\Facades\Mail;
class ProponenteController extends Controller
{
......@@ -111,4 +117,35 @@ class ProponenteController extends Controller
return view('proponente.projetosEdital')->with(['edital' => $edital, 'projetos' => $projetos, 'hoje'=>$hoje]);
}
public function solicitarDesligamento(Request $request){
$participante = Participante::find($request->participante);
$request->validate([
'justificativa' => 'required|max:5000|min:5',
]);
$desligamento = new Desligamento();
$desligamento->status = Desligamento::STATUS_ENUM['solicitado'];
$desligamento->justificativa = $request->justificativa;
$desligamento->trabalho_id = $request->trabalho;
$desligamento->participante_id = $participante->id;
$desligamento->save();
$trabalho = Trabalho::find($request->trabalho);
$notificacao = Notificacao::create([
'remetente_id' => Auth::user()->id,
'destinatario_id' => $trabalho->evento->coordenadorComissao->user_id,
'trabalho_id' => $trabalho->id,
'lido' => false,
'tipo' => 6,
]);
$notificacao->save();
Mail::to($trabalho->evento->coordenadorComissao->user->email)->send(new SolicitacaoDesligamento($trabalho->evento, $trabalho));
return redirect()->back()->with(['sucesso' => 'Solicitação de desligamento feita com sucesso.']);
}
}
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class SolicitacaoDesligamento extends Mailable
{
use Queueable, SerializesModels;
public $edital;
public $projeto;
public $tipo;
public function __construct($edital, $projeto, $tipo = '')
{
$this->edital = $edital;
$this->projeto = $projeto;
$this->tipo = $tipo;
}
public function build(){
return $this->from('lmtsteste@gmail.com', 'Submeta - LMTS')
->subject('Solicitação de Desligamento')
->view('emails.solicitacaoDesligamento')
->with([
'edital' => $this->edital,
'projeto' => $this->projeto,
'tipo' => $this->tipo
]);
}
}
......@@ -34,4 +34,11 @@ class Participante extends Model
return $this->hasOne('App\Arquivo', 'participanteId');
}
public function documentacaoComplementar() {
return $this->hasOne('App\DocumentacaoComplementar', 'participante_id');
}
public function desligamentos() {
return $this->hasMany('App\Desligamento', 'participante_id')->orderBy('created_at', 'DESC');
}
}
......@@ -111,6 +111,10 @@ class Trabalho extends Model
return $this->hasMany(Notificacao::class, 'trabalho_id', 'id');
}
public function desligamentos(){
return $this->hasMany(Desligamento::class, 'trabalho_id', 'id')->orderBy('created_at', 'DESC');
}
public function solicitacoesCertificados()
{
return $this->hasMany(Certificado::class, 'trabalho_id');
......
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateDesligamentosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('desligamentos', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('status');
$table->text('justificativa');
$table->unsignedBigInteger('participante_id');
$table->foreign('participante_id')->references('id')->on('participantes');
$table->unsignedBigInteger('trabalho_id');
$table->foreign('trabalho_id')->references('id')->on('trabalhos');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('desligamentos');
}
}
......@@ -94,7 +94,7 @@
<a href="" data-toggle="modal" data-target="#modalVizuSubstituicao" class="button">Substituições Pendentes</a>
<img class="" src="{{asset('img/icons/warning.ico')}}" style="width:15px" alt="">
@else
<a href="" data-toggle="modal" data-target="#modalVizuSubstituicao" class="button">Substituições</a>
<a href="" data-toggle="modal" data-target="#modalVizuSubstituicao" class="button">Substituições/Desligamentos</a>
@endif
</div>
</div>
......@@ -124,7 +124,7 @@
<div class="modal-header" style="overflow-x:auto; padding-left: 31px">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Informações Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<button type="button" class="close" aria-label="Close" style="padding-top: 8px; color:#1492E6" onclick="abrirHistorico({{$participante->id}}, 0)">
<span aria-hidden="true">&times;</span>
</button>
</div>
......@@ -138,14 +138,14 @@
@foreach($substituicoesProjeto as $subs)
<!-- Modal vizualizar info participante substituido -->
<div class="modal fade" id="modalVizuParticipanteSub{{$subs->participanteSubstituido()->withTrashed()->first()->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal fade" id="modalVizuParticipanteSubstituido{{$subs->participanteSubstituido()->withTrashed()->first()->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto; padding-left: 31px">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Informações Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<button type="button" class="close" aria-label="Close" style="padding-top: 8px; color:#1492E6" onclick="abrirHistorico({{$subs->participanteSubstituido()->withTrashed()->first()->id}}, 1)">
<span aria-hidden="true">&times;</span>
</button>
</div>
......@@ -158,14 +158,14 @@
</div>
<!-- Modal vizualizar info participante substituto -->
<div class="modal fade" id="modalVizuParticipanteSub{{$subs->participanteSubstituto()->withTrashed()->first()->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal fade" id="modalVizuParticipanteSubstituto{{$subs->participanteSubstituto()->withTrashed()->first()->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto; padding-left: 31px">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Informações Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<button type="button" class="close" aria-label="Close" style="padding-top: 8px; color:#1492E6" onclick="abrirHistorico({{$subs->participanteSubstituto()->withTrashed()->first()->id}}, 2)">
<span aria-hidden="true">&times;</span>
</button>
</div>
......@@ -611,6 +611,11 @@
<span> Histórico</span>
</div>
</li>
<li>
<div class="aba3 aba">
<span> Desligamentos</span>
</div>
</li>
</ul>
</div>
<div id="content">
......@@ -638,8 +643,7 @@
<img src="{{asset('img/icons/usuario.svg')}}" style="width:50px" alt="">
</div>
<div class="col-md-4" style="padding-left: 20px;padding-right: 5px;">
<a onclick="vizuParticipante({{$subs->participanteSubstituto()->withTrashed()->first()->id}})" class="button">{{$subs->participanteSubstituto()->withTrashed()->first()->user->name}}</a>
<a onclick="fecharModalSubstituto({{$subs->participanteSubstituto()->withTrashed()->first()->id}})" class="button">{{$subs->participanteSubstituto()->withTrashed()->first()->user->name}}</a>
</div>
</div>
</div>
......@@ -667,7 +671,7 @@
</div>
<div class="justify-content-center conteudo" id="tela2" style="margin-top: 0px;border: none;overflow-x: auto;">
<div class="col-md-12" id="tela2" style="padding: 0px">
{{--<div class="col-md-12" id="tela2" style="padding: 0px">
<div class="card" id="tela2" style="border-radius: 5px">
<div class="card-body" id="tela2" style="padding-top: 0.2rem;padding-right: 0px;padding-left: 5px;padding-bottom: 5px;">
<div class="" id="tela2">
......@@ -725,6 +729,127 @@
</div>
</div>
</div>
</div>--}}
<div style="margin-top: 5px">
<div class="card-header">
<div class="row">
<div class="col-3">
<h6 class="card-title" style= "color:#234B8B">
Participante Substituído
</h6>
</div>
<div class="col-3">
<h6 class="card-title" style= "color:#234B8B">
Participante Substituto
</h6>
</div>
<div class="col-2">
<h6 class="card-title" style= "color:#234B8B">
Tipo
</h6>
</div>
<div class="col-2">
<h6 class="card-title" style= "color:#234B8B">
Status
</h6>
</div>
<div class="col-2">
<h6 class="card-title" style= "color:#234B8B">
Justificativa
</h6>
</div>
</div>
</div>
<div class="card-body">
@foreach($substituicoesProjeto as $subs)
<div class="row" style="margin-bottom: 20px;">
<div class="col-3">
<a href="" data-toggle="modal" class="button" onclick="fecharModalSubstituido({{$subs->participanteSubstituido()->withTrashed()->first()->id}})"><h6 style="font-size:18px; color: black" >{{$subs->participanteSubstituido()->withTrashed()->first()->user->name}}</h6></a>
<h6 style= "color:grey; font-size:medium">{{date('d-m-Y', strtotime($subs->participanteSubstituido()->withTrashed()->first()->data_entrada))}} - @if($subs->participanteSubstituido()->withTrashed()->first()->data_saida == null) Atualmente @else {{date('d-m-Y', strtotime($subs->participanteSubstituido()->withTrashed()->first()->data_saida))}} @endif</h6>
</div>
<div class="col-3">
<a href="" data-toggle="modal" class="button" onclick="fecharModalSubstituto({{$subs->participanteSubstituto()->withTrashed()->first()->id}})"><h6 style="font-size:18px; color: black">{{$subs->participanteSubstituto()->withTrashed()->first()->user->name}}</h6></a>
<h6 style= "color:grey; font-size:medium">{{date('d-m-Y', strtotime($subs->participanteSubstituto()->withTrashed()->first()->data_entrada))}} - @if($subs->participanteSubstituto()->withTrashed()->first()->data_saida == null) Atualmente @else {{date('d-m-Y', strtotime($subs->participanteSubstituto()->withTrashed()->first()->data_saida))}} @endif</h6>
</div>
<div class="col-2">
@if($subs->tipo == 'ManterPlano')
<h6>Manter Plano</h6>
@elseif($subs->tipo == 'TrocarPlano')
<h6>Alterar Plano</h6>
@elseif($subs->tipo == 'Completa')
<h6>Completa</h6>
@endif
</div>
<div class="col-2">
@if($subs->status == 'Finalizada')
<h6>Concluída</h6>
@elseif($subs->status == 'Negada')
<h6>Negada</h6>
@elseif($subs->status == 'Em Aguardo')
<h6>Pendente</h6>
@endif
</div>
<div class="col-2">
@if($subs->status == 'Em Aguardo')
<h6>Pendente</h6>
@else
<a href="" data-toggle="modal" class="button" onclick="vizuJustificativa('{{$subs->justificativa}}')"><h5 style="font-size:18px">Visualizar</h5></a>
@endif
</div>
</div>
@endforeach
</div>
</div>
</div>
<div class="justify-content-center conteudo" id="tela3" style="margin-top: 0px;border: none;overflow-x: auto;">
<div class="col-md-12" style="padding: 0px">
<div class="card" style="border-radius: 5px">
<div class="card-body" style="padding-top: 0.2rem;padding-right: 0px;padding-left: 5px;padding-bottom: 5px;">
<div class="">
<div class="justify-content-start" style="alignment: center">
@foreach($trabalho->desligamentos as $desligamento)
<div class="row justify-content-between">
<div class="col-md-9">
<h5 style="color: #234B8B; font-weight: bold" class="col-md-12">Desligamento</h5>
<div class="d-flex justify-content-between">
<div class="col-md-2">
<img src="{{asset('img/icons/usuario.svg')}}" style="width:50px" alt="" class="img-flex">
</div>
<div class="col-md-10" >
<a onclick="vizuParticipante({{$desligamento->participante()->withTrashed()->first()->id}})" class="button">{{$desligamento->participante()->withTrashed()->first()->user->name}}</a>
<br><label for="justificativa">Justificativa: </label>
{{$desligamento->justificativa}}
</div>
</div>
</div>
<div class="col-md-3">
@if($desligamento->status == \App\Desligamento::STATUS_ENUM['solicitado'])
<h5 style="color: #234B8B; font-weight: bold" class="col-md-12 text-center"> Ações</h5>
<div class="col-md-12 text-center" style="border: solid#1111; padding: 10px; ">
<form id="resposta-desligamento{{$desligamento->id}}" method="POST" action="{{route('coordenador.resposta.desligamento', ['desligamento_id' => $desligamento->id]) }}">
@csrf
<input type="hidden" id="desligamento" name="desligamento" value="{{$desligamento->id}}">
<input type="radio" id="aceitar{{$desligamento->id}}" name="opcao" value="{{\App\Desligamento::STATUS_ENUM['aceito']}}"> Aprovar
<input type="radio" id="negar{{$desligamento->id}}" name="opcao" value="{{\App\Desligamento::STATUS_ENUM['recusado']}}"> Negar
<br>
<button type="submit" class="btn btn-primary" form="resposta-desligamento{{$desligamento->id}}">Submeter</button>
</form>
</div>
@else
<h5 style="color: #234B8B; font-weight: bold" class="col-md-12 text-center"> Status</h5>
<div class="col-md-12 text-center" style="border: solid#1111; padding: 10px; ">
{{$desligamento->getStatus()}}
</div>
@endif
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
......@@ -784,16 +909,28 @@
$(".abas li:first div").addClass("selected");
$(".aba2").click(function(){
$(".aba1").removeClass("selected");
$(".aba3").removeClass("selected");
$(this).addClass("selected");
$("#tela1").hide();
$("#tela3").hide();
$("#tela2").show();
});
$(".aba1").click(function(){
$(".aba2").removeClass("selected");
$(".aba3").removeClass("selected");
$(this).addClass("selected");
$("#tela2").hide();
$("#tela3").hide();
$("#tela1").show();
});
$(".aba3").click(function(){
$(".aba2").removeClass("selected");
$(".aba1").removeClass("selected");
$(this).addClass("selected");
$("#tela2").hide();
$("#tela1").hide();
$("#tela3").show();
});
let textTemp = document.getElementById("comentario").innerHTML;
......@@ -821,13 +958,13 @@
}
function vizuPartici(id){
$("#modalVizuSubstituicao").modal('hide');
setTimeout(() => { $("#modalVizuParticipanteSub"+id).modal(); }, 500);
setTimeout(() => { $("#modalVizuParticipanteSubstituto"+id).modal(); }, 500);
}
function vizuJustificativa(texto){
function vizuJustificativa(texto){
$("#modalVizuSubstituicao").modal('hide');
setTimeout(() => { $("#modalVizuJustificativa").modal(); }, 500);
document.getElementById("conteudoJustificativa").innerHTML = texto;
setTimeout(() => { $("#modalVizuJustificativa").modal(); }, 500);
}
function closeJustificativa(){
......@@ -933,4 +1070,26 @@
});
}
</script>
<script>
function fecharModalSubstituido(id){
$('#modalVizuSubstituicao').modal('toggle');
setTimeout(() => { $("#modalVizuParticipanteSubstituido"+id).modal(); }, 500);
}
function fecharModalSubstituto(id){
$('#modalVizuSubstituicao').modal('toggle');
setTimeout(() => { $("#modalVizuParticipanteSubstituto"+id).modal(); }, 500);
}
function abrirHistorico(id, modal){
if(modal == 1){
$('#modalVizuParticipanteSubstituido'+id).modal('hide');
}else if(modal == 2){
$('#modalVizuParticipanteSubstituto'+id).modal('hide');
}else if(modal == 0){
$('#modalVizuParticipante'+id).modal('hide');
}
setTimeout(() => { $("#modalVizuSubstituicao").modal(); }, 500);
}
</script>
@endsection
......@@ -42,6 +42,7 @@
@if(($substituicoesProjeto->first() != null) && ($substituicoesProjeto->first()->status == 'Em Aguardo')) style="pointer-events: none; cursor: default;" @endif>
<i class="fas fa-exchange-alt fa-2x"></i></a>
<a href="" data-toggle="modal" data-target="#modalVizuParticipante{{$participante->id}}" class="button"><i class="far fa-eye fa-2x"></i></a>
<a href="" data-toggle="modal" data-target="#modalSolicitarDesligamentoParticipante{{$participante->id}}" class="button">Solicitar desligamento</a>
</div>
</div>
......@@ -167,6 +168,44 @@
</div>
</div>
</div>
<!-- Modal solicitar desligamento participante -->
<div class="modal fade" id="modalSolicitarDesligamentoParticipante{{$participante->id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header" style="overflow-x:auto;">
<h5 class="modal-title" id="exampleModalLabel" style= "color:#1492E6">Desligar Participante</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="padding-top: 8px; color:#1492E6">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form id="solicitar-desligamento{{$participante->id}}" method="POST" action="{{route('proponente.solicitar.desligamento', ['edital_id' => $projeto->evento->id, 'projeto_id' => $projeto->id, 'participante_id' => $participante->id]) }}">
@csrf
<input type="hidden" id="participante{{$participante->id}}" name="participante" value="{{$participante->id}}">
<input type="hidden" id="trabalho" name="trabalho" value="{{$projeto->id}}">
<h6>Tem certeza que deseja solicitar o desligamento do participante <span style="font-weight: bold">{{$participante->user->name}}</span>?</h6>
<div class="form-row">
<div class="col-md-12 form-group">
<label for="justificativa">{{ __('Justificativa') }}<span style="color: red; font-weight: bold;"> *</span></label>
<textarea class="form-control @error('justificativa') is-invalid @enderror" type="text" name="justificativa" id="justificativa" cols="30" rows="5" placeholder="Digite a justificativa para o desligamento do participante" required>{{old('justificativa')}}</textarea>
@error('justificativa')
<div id="validationServer03Feedback" class="invalid-feedback">
{{ $message }}
</div>
@enderror
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
@if($participante->desligamentos->first() == null || ($participante->desligamentos->first() != null && $participante->desligamentos->first()->status != \App\Desligamento::STATUS_ENUM['solicitado']))
<button type="submit" class="btn btn-success" form="solicitar-desligamento{{$participante->id}}">Confirmar</button>
@endif
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
......@@ -301,6 +340,45 @@
</div>
</div>
<h4 style="margin-top: 50px">Desligamentos</h4>
<div style="margin-top: 20px">
<div class="card-header">
<div class="row">
<div class="col-4">
<h5 class="card-title" style= "color:#1492E6">
Participante
</h5>
</div>
<div class="col-2" style="text-align: center">
<h5 class="card-title" style= "color:#1492E6">
Status
</h5>
</div>
<div class="col-6" style="text-align: center">
<h5 class="card-title" style= "color:#1492E6">
Justificativa
</h5>
</div>
</div>
</div>
<div class="card-body">
@foreach($projeto->desligamentos as $desligamento)
<div class="row"style="margin-bottom: 20px;">
<div class="col-4">
<a href="" data-toggle="modal" data-target="#modalVizuParticipante{{$desligamento->participante()->withTrashed()->first()->id}}" class="button"><h4 style="font-size:18px">{{$desligamento->participante()->withTrashed()->first()->user->name}}</h4></a>
<h5 style= "color:grey; font-size:medium">{{date('d-m-Y', strtotime($desligamento->created_at))}}</h5>
</div>
<div class="col-2" style="text-align: center">
<h5>{{$desligamento->getStatus()}}</h5>
</div>
<div class="col-6" style="text-align: center">
<h5>{{$desligamento->justificativa}}</h5>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
......
<!DOCTYPE html>
<html>
<head>
</head>
<body>
@if($tipo == 'resultado')
<h4>Resultado pedido de desligamento</h4>
<p>A sua solicitação de desligamento no projeto <strong>{{$projeto->titulo}}</strong> foi analisada e o resultado você pode conferir <a href="{{route('trabalho.trocaParticipante', ['evento_id' => $projeto->evento->id, 'projeto_id' => $projeto->id])}}">aqui.</a></p>
<p>
Atenciosamente,
<br>
Equipe submeta.
</p>
@else
<h4>Um pedido de desligamento foi solicitado</h4>
<p>O proponente <strong>{{$projeto->proponente->user->name}}</strong> solicitou um desligamento no projeto <strong>{{$projeto->titulo}}</strong> do edital <strong>{{$edital->nome}}</strong> </p>
<p><a href="{{route('trabalho.telaAnaliseSubstituicoes', ['trabalho_id' => $projeto->id])}}" class="">Clique aqui</a> para analisar.</p>
@endif
</body>
</html>
\ No newline at end of file
......@@ -110,6 +110,12 @@
@endif
@endif
</div>
@elseif($notificacao->tipo==7)
<div class="row">
@if($notificacao->destinatario_id == Auth::user()->id)
<div class="col-sm-11">
<h6 style="font-size: 18px">Solicitação de desligamento
para {{$notificacao->trabalho->evento->nome}}</h6>
{{-- Certificado --}}
@elseif ($notificacao->tipo == 6)
<div class="row">
......
......@@ -10,7 +10,7 @@
</div>
<div class="col-sm-2 text-sm-right" >
<a href="{{route('trabalho.trocaParticipante', ['evento_id' => $projeto->evento->id, 'projeto_id' => $projeto->id])}}"
class="button">Solicitar Substituições</a>
class="button">Solicitar Substituições/Desligamentos</a>
</div>
</div>
<hr style="border-top: 1px solid#1492E6">
......
......@@ -45,6 +45,8 @@ Route::group(['middleware' => ['isTemp', 'auth', 'verified']], function(){
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')->middleware('auth');
Route::post('/proponente/edital/{edital_id}/projeto/{projeto_id}/solicitar_desligamento/{participante_id}', 'ProponenteController@solicitarDesligamento')->name('proponente.solicitar.desligamento');
//######### Rotas Administrador #################################
......@@ -302,4 +304,7 @@ Route::prefix('coordenador')->name('coordenador.')->group(function(){
Route::post('/retornoDetalhes', 'CoordenadorComissaoController@retornoDetalhes' )->name('retornoDetalhes');
Route::post('/atribuirAvaliadorTrabalho', 'TrabalhoController@atribuirAvaliadorTrabalho' )->name('atribuirAvaliadorTrabalho');
Route::post('/atribuir', 'TrabalhoController@atribuir' )->name('atribuir');
Route::post('/atribuir', 'TrabalhoController@atribuir' )->name('atribuir');
Route::post('/resposta-solicitacao-desligamento/{desligamento_id}', 'CoordenadorComissaoController@respostaDesligamento')->name('resposta.desligamento');
});
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