Commit a23c72a9 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

Merge branch 'avaliacao_de_tarefas' into anexoB

parents b0eb270d da6b6a26
......@@ -2,10 +2,12 @@
namespace App\Http\Controllers;
use App\Models\Avaliacao;
use App\Models\User;
use App\Models\Curso;
use App\Models\Util\MenuItemsAvaliador;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class AvaliadorController extends Controller
......@@ -24,21 +26,50 @@ class AvaliadorController extends Controller
]);
}
public function avaliar()
public function avaliar(Request $req)
{
// $professores = User::where('type', '=', User::->isTypeTeacher())->get();
return view('pad.avaliacao.dimensao.ensino', [
'index_menu' => MenuItemsAvaliador::PADs,
'user_pad_id' => 1
]);
$validated = $req->validate(
[
'tarefa_id' => ['required', 'integer'],
'status' => ['required', 'integer'],
'professor_id' => ['required', 'integer'],
'atividade_type' => ['required', 'integer'],
'descricao' => ['nullable', 'string'],
'hora_reajuste' => ['nullable', 'integer'],
],
[
'required' => 'O campo de :attribute é obrigatório',
]
);
if ($validated) {
$user = Auth::user();
$avaliacao = Avaliacao::where(function ($query) use ($req) {
$query->where('tarefa_id', '=', $req->tarefa_id);
$query->where('type', '=', $req->atividade_type);
})->first();
if (!$avaliacao) {
dd('Avaliação não encontrada');
}
$avaliacao->status = $req->status;
$avaliacao->avaliador_id = $user->id;
$avaliacao->descricao = $req->descricao ? $req->descricao : NULL;
$avaliacao->horas_reajuste = $req->hora_reajuste;
if ($avaliacao->save()) {
return redirect()->back();
}
}
}
/**
* @param integer $id
* @return \Illuminate\Http\Response
*/
public function view($id) {
public function view($id)
{
}
/**
......@@ -48,7 +79,6 @@ class AvaliadorController extends Controller
*/
public function create()
{
}
/**
......@@ -57,12 +87,11 @@ class AvaliadorController extends Controller
*/
public function store(Request $request)
{
}
public function anexo()
{
return view('pad.anexo', ['index_menu' => 1 ]);
return view('pad.anexo', ['index_menu' => 1]);
}
/**
......@@ -87,8 +116,8 @@ class AvaliadorController extends Controller
}
public function delete($id) {
public function delete($id)
{
}
/**
......@@ -99,6 +128,5 @@ class AvaliadorController extends Controller
*/
public function destroy($id)
{
}
}
......@@ -153,10 +153,12 @@ class AvaliadorPadController extends Controller
return Response::json(['message' => true, 'status' => 200]);
$validator = Validator::make(
$request->all(), AvaliadorPad::rules(), AvaliadorPad::messages()
$request->all(),
AvaliadorPad::rules(),
AvaliadorPad::messages()
);
if($validator->passes()) {
if ($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
}
......
......@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
use App\Models\AvaliadorPad;
use App\Models\Pad;
use App\Models\Tabelas\Constants;
use App\Models\UserPad;
......@@ -17,41 +18,37 @@ use Illuminate\Support\Facades\Auth;
class DashboardController extends Controller
{
public function index() {
public function index()
{
$user = Auth::user();
if($user->isTypeAdmin())
{
return view('dashboard',['menu' => Menu::HOME]);
if ($user->isTypeAdmin()) {
return view('dashboard', ['menu' => Menu::HOME]);
}
if($user->isTypeTeacher())
{
if ($user->isTypeTeacher()) {
$userPads = UserPad::whereUserId($user->id)->whereStatus(Status::ATIVO)->get();
return view('dashboard', ['userPads' => $userPads, 'menu'=> Menu::HOME]);
return view('dashboard', ['userPads' => $userPads, 'menu' => Menu::HOME]);
}
if($user->isTypeDirector())
{
return view('dashboard', ['PADs' => Pad::all(), 'menu'=> Menu::HOME]);
if ($user->isTypeDirector()) {
return view('dashboard', ['PADs' => Pad::all(), 'menu' => Menu::HOME]);
}
if($user->isTypeCoordinator())
{
return view('dashboard', ['PADs' => Pad::all(), 'menu'=> Menu::HOME]);
if ($user->isTypeCoordinator()) {
return view('dashboard', ['PADs' => Pad::all(), 'menu' => Menu::HOME]);
}
if($user->isTypeEvaluator())
{
if ($user->isTypeEvaluator()) {
$userPads =
UserPad::initQuery()
->whereUser($user->id)
->wherePadStatus(Status::ATIVO)
AvaliadorPad::where('user_id', '=', $user->id)
->join('pad', 'avaliador_pad.pad_id', '=', 'pad.id')
->where('pad.status', '=', Status::ATIVO)
->get();
return view('dashboard', ['userPads' => $userPads, 'menu'=> Menu::HOME]);
return view('dashboard', ['userPads' => $userPads, 'menu' => Menu::HOME]);
}
//return redirect()->route('login');
......
......@@ -3,6 +3,8 @@
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Models\AvaliadorPad;
use App\Models\AvaliadorPadDimensao;
use Illuminate\Http\Request;
use App\Models\Pad;
use App\Models\Tabelas\Constants;
......@@ -34,10 +36,13 @@ use App\Models\User;
use App\Models\UserPad;
use App\Models\UserType;
use App\Models\UserTypePad;
use App\Models\Util\Avaliacao as AvaliacaoUtil;
use App\Models\Util\Dimensao;
use App\Models\Util\Menu;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\Status;
use App\Models\Util\MenuItemsAvaliador;
use Database\Seeders\PadSeeder;
use Exception;
use Illuminate\Support\Facades\Auth;
......@@ -54,16 +59,14 @@ class PadController extends Controller
*/
public function index()
{
if(Auth::user()->isTypeAdmin())
{
if (Auth::user()->isTypeAdmin()) {
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
$pads = Pad::all();
$menu = Menu::PADS;
return view('pad.admin.index', ['menu' => $menu, 'pads' => $pads]);
}
if(Auth::user()->isTypeTeacher())
{
if (Auth::user()->isTypeTeacher()) {
$menu = Menu::PADS;
$userPads = UserPad::whereUserId(Auth::user()->id)->get();
......@@ -145,7 +148,8 @@ class PadController extends Controller
*/
public function store(Request $request)
{
$validated = $request->validate([
$validated = $request->validate(
[
'nome' => ['required', 'string', 'min:6', 'max:255'],
'status' => ['required', 'integer'],
'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'],
......@@ -157,24 +161,21 @@ class PadController extends Controller
'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras',
'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim',
'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início',
]);
]
);
if($validated)
{
if ($validated) {
$model = new Pad($request->all());
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
if($model->save())
{
if ($model->save()) {
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
foreach($users as $user)
{
foreach ($users as $user) {
$profile = $user->profile(UserType::TEACHER);
if($profile)
{
if ($profile) {
$userPad = new UserPad();
$userPad->pad_id = $model->id;
$userPad->user_id = $user->id;
......@@ -189,12 +190,11 @@ class PadController extends Controller
return redirect()->route('pad_index')->with('success', 'Erro ao cadastrar o PAD!');
}
}
}
public function anexo()
{
return view('pad.anexo', ['index_menu' => 1 ]);
return view('pad.anexo', ['index_menu' => 1]);
}
/**
......@@ -237,7 +237,8 @@ class PadController extends Controller
*/
public function update(Request $request, $id)
{
$validated = $request->validate([
$validated = $request->validate(
[
'nome' => ['required', 'string', 'min:6', 'max:255'],
'status' => ['required', 'integer'],
'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'],
......@@ -249,13 +250,14 @@ class PadController extends Controller
'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras',
'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim',
'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de início',
]);
]
);
if($validated) {
if ($validated) {
$model = Pad::find($id);
$model->fill($request->all());
if($model->save()) {
if ($model->save()) {
return redirect()->route('pad_index')->with('success', 'PAD atualizado com sucesso!');
} else {
return redirect()->route('pad_index')->with('success', 'Erro ao atualizar o PAD!');
......@@ -264,10 +266,11 @@ class PadController extends Controller
}
public function delete($id) {
public function delete($id)
{
$model = Pad::find($id);
if($model->delete()) {
if ($model->delete()) {
return redirect()->route('pad_index')->with('success', 'PAD removido com sucesso!');
} else {
return redirect()->route('pad_index')->with('fail', 'Não foi possível remover o PAD!');
......@@ -287,4 +290,103 @@ class PadController extends Controller
return redirect('/pad/index');
}
public function professores($id)
{
$user = Auth::user();
$pad = Pad::find($id);
$index_menu = MenuItemsAvaliador::HOME;
$professores = User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
->join('pad', 'user_pad.pad_id', '=', 'pad.id')
->where(function ($query) use ($user, $id) {
$query->where('pad.status', '=', Status::ATIVO);
$query->where('users.campus_id', '=', $user->campus_id);
$query->where('users.id', '!=', $user->id);
$query->where('pad.id', '=', $id);
})
->select('users.id', 'users.name')
->get();
return view("pad.avaliacao.professores", compact('professores', 'pad', 'index_menu'));
}
public function professor_atividades($id, $professor_id)
{
$pad = Pad::find($id);
$user = Auth::user();
$index_menu = MenuItemsAvaliador::HOME;
$avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) {
$query->where('user_id', '=', $user->id);
$query->where('pad_id', '=', $pad->id);
})->first();
$dimensoes_permitidas = AvaliadorPadDimensao::where('avaliador_pad_id', '=', $avaliador_pad->id)
->select('avaliador_pad_dimensao.dimensao')->get();
$dimensoes = [];
foreach ($dimensoes_permitidas as $dimensao) {
array_push($dimensoes, $dimensao->dimensao);
}
$professor = User::find($professor_id);
$user_pad = UserPad::where(function ($query) use ($pad, $professor) {
$query->where('user_id', '=', $professor->id);
$query->where('pad_id', '=', $pad->id);
})->first();
$niveis = Constants::listNivel();
$modalidades = Constants::listModalidade();
$status = Status::listStatus();
$ensino = [];
$pesquisa = [];
$extensao = [];
$gestao = [];
if (in_array(Dimensao::ENSINO, $dimensoes)) {
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoAtendimentoDiscente::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_ATENDIMENTO_DISCENTE)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoAula::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_AULA)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoCoordenacaoRegencia::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_COORDENACAO_REGENCIA)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoMembroDocente::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_MEMBRO_DOCENTE)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoOrientacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_ORIENTACAO)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoOutros::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_OUTROS)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoParticipacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_PARTICIPACAO)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoProjeto::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_PROJETO)->toArray());
$ensino = array_merge($ensino, self::add_tipo_atividade(EnsinoSupervisao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::ENSINO_SUPERVISAO)->toArray());
}
if (in_array(Dimensao::PESQUISA, $dimensoes)) {
$pesquisa = array_merge($pesquisa, self::add_tipo_atividade(PesquisaCoordenacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::PESQUISA_COORDENACAO)->toArray());
$pesquisa = array_merge($pesquisa, self::add_tipo_atividade(PesquisaLideranca::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::PESQUISA_LIDERANCA)->toArray());
$pesquisa = array_merge($pesquisa, self::add_tipo_atividade(PesquisaOrientacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::PESQUISA_ORIENTACAO)->toArray());
$pesquisa = array_merge($pesquisa, self::add_tipo_atividade(PesquisaOutros::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::PESQUISA_OUTROS)->toArray());
}
if (in_array(Dimensao::EXTENSAO, $dimensoes)) {
$extensao = array_merge($extensao, self::add_tipo_atividade(ExtensaoCoordenacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::EXTENSAO_COORDENACAO)->toArray());
$extensao = array_merge($extensao, self::add_tipo_atividade(ExtensaoOrientacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::EXTENSAO_ORIENTACAO)->toArray());
$extensao = array_merge($extensao, self::add_tipo_atividade(ExtensaoOutros::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::EXTENSAO_OUTROS)->toArray());
}
if (in_array(Dimensao::GESTAO, $dimensoes)) {
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoCoordenacaoLaboratoriosDidaticos::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_COORDENACAO_LABORATORIOS_DIDATICOS)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoCoordenacaoProgramaInstitucional::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_COORDENACAO_PROGRAMA_INSTITUCIONAL)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoMembroCamaras::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_MEMBRO_CAMARAS)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoMembroComissao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_MEMBRO_COMISSAO)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoMembroConselho::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_MEMBRO_CONSELHO)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoMembroTitularConselho::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_MEMBRO_TITULAR_CONSELHO)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoOutros::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_OUTROS)->toArray());
$gestao = array_merge($gestao, self::add_tipo_atividade(GestaoRepresentanteUnidadeEducacao::where('user_pad_id', '=', $user_pad->id)->get(), AvaliacaoUtil::GESTAO_REPRESENTANTE_UNIDADE_EDUCACAO)->toArray());
}
return view('pad.avaliacao.taferas_professor', compact('pad', 'index_menu', 'professor', 'ensino', 'pesquisa', 'extensao', 'gestao', 'niveis', 'modalidades'));
}
private function add_tipo_atividade($query, $type)
{
foreach ($query as &$atividade) {
$atividade['tipo_atividade'] = $type;
}
return $query;
}
}
......@@ -11,7 +11,7 @@ class Avaliacao extends Model
protected $table = 'avaliacao';
protected $fillable = ['tarefa_id', 'avaliador_id', 'type', 'status', 'descricao', 'ch_semanal'];
protected $fillable = ['tarefa_id', 'avaliador_id', 'type', 'status', 'descricao', 'ch_semanal', 'hora_reajuste'];
public function tarefa() {
......
......@@ -10,8 +10,11 @@ class Status
const PENDENTE = 3;
const ARQUIVADO = 4;
const FINALIZADO = 5;
const REPROVADO = 6;
const APROVADO = 7;
public static function listStatus($value = null) {
public static function listStatus($value = null)
{
$values = [
self::ATIVO => 'Ativo',
......@@ -19,18 +22,21 @@ class Status
self::PENDENTE => 'Pendente',
self::ARQUIVADO => 'Arquivado',
self::FINALIZADO => 'Finalizado',
self::REPROVADO => 'Reprovado',
self::APROVADO => 'Aprovado'
];
return $value !== null? $values[$value] : $values;
return $value !== null ? $values[$value] : $values;
}
public static function listUserTypeStatus($value = null) {
public static function listUserTypeStatus($value = null)
{
$values = [
self::ATIVO => 'Ativo',
self::INATIVO => 'Inativo',
];
return $value !== null? $values[$value] : $values;
return $value !== null ? $values[$value] : $values;
}
}
This diff is collapsed.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddColumnHorasReajusteInTableAvaliacao extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('avaliacao', function (Blueprint $table) {
$table->integer('horas_reajuste')->nullable(true);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('avaliacao', function (Blueprint $table) {
$table->dropColumn('horas_reajuste');
});
}
}
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production"
},
"devDependencies": {
"@tailwindcss/forms": "^0.4.0",
"alpinejs": "^3.4.2",
"autoprefixer": "^10.1.0",
"axios": "^0.21",
"laravel-mix": "^6.0.6",
"lodash": "^4.17.19",
"postcss": "^8.2.1",
"postcss-import": "^14.0.1",
"tailwindcss": "^3.0.0"
}
}
This diff is collapsed.
......@@ -7,6 +7,6 @@
<h3 class="text-center"> <i class="bi bi-book-half"></i> </h3>
<h5 class="text-center"> PAD: {{ $userPad->pad->nome }} </h4>
<h5 class="text-center"> Status: {{ $userPad->pad->statusAsString() }} </h4>
<a class="stretched-link" href="{{ route('pad_view', ['id' => $userPad->id]) }}"></a>
<a class="stretched-link" href="{{ route('pad_professores', ['id' => $userPad->id]) }}"></a>
</div>
</div>
......@@ -15,7 +15,6 @@
@include('components.alerts')
<div class="d-flex justify-content-between align-items-center border-bottom">
<h2 class="">PADs</h2>
</div>
<!-- Tabela -->
......
@extends('layouts.main')
@section('title', 'Campus')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
@include('components.alerts')
<div class="d-flex justify-content-between align-items-center border-bottom">
<h2 class="">PADs</h2>
</div>
<!-- Tabela -->
<div class="table-responsive mt-5">
<table class="table table-hover table-striped">
<thead class="thead-dark">
<tr>
<th scope="col">Professor</th>
<th scope="col">Opções</th>
</tr>
</thead>
<tbody>
@foreach ($professores as $professor)
<tr>
<td>{{$professor->name}}</td>
<td>
@include('components.buttons.btn-avaliar', [
'route' => url("/pad/$pad->id/professor/$professor->id/atividades"), #avaliador_avaliar
'class' => '',
'content' => 'Avaliar',
'id' => '',
])
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
@extends('layouts.main')
@section('title', 'Ensino')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
<div class="container">
<h3>{{$professor->name}}</h3><br><br>
@if (isset($ensino) && !empty($ensino))
<h4><strong>Ensino</strong></h4>
@foreach ($ensino as $tarefa)
<div class="card">
<h5 class="card-header">Cód. Atividade - {{$tarefa["cod_atividade"]}}</h5>
<div class="card-body">
<span class="fw-bold ">Componente Curricular: </span><span class="card-text">{{isset($tarefa["componente_curricular"])?$tarefa["componente_curricular"]:"--"}}</span><br>
<span class="fw-bold ">Curso: </span><span class="card-text">{{isset($tarefa["curso"])?$tarefa["curso"]:"--"}}</span><br>
<span class="fw-bold ">Nível: </span><span class="card-text">{{isset($tarefa["nivel"])?$niveis[$tarefa["nivel"]]:"--"}}</span><br>
<span class="fw-bold ">Modalidade: </span><span class="card-text">{{isset($tarefa["modalidade"])?$modalidades[$tarefa["modalidade"]]:"--"}}</span><br>
<span class="fw-bold ">Resolução: </span><span class="card-text">{{isset($tarefa["resolucao"])?$tarefa["resolucao"]:"--"}}</span><br>
<span class="fw-bold ">CH. Semanal: </span><span class="card-text">{{isset($tarefa["ch_semanal"])?$tarefa["ch_semanal"]:"--"}}</span><br>
<div style="width: 100%; " class="btns-avaliar mt-5 d-flex justify-content-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal_avaliacao" style="height: 38px;" onclick='setaDadosModalAvaliacao("{{$tarefa["id"]}}", "{{$professor["id"]}}", "6", "{{$tarefa["tipo_atividade"]}}")'>
Reprovar
</button>
<span>&nbsp;&nbsp;</span>
<form action="{{route('avaliador_avaliar')}}" method="POST">
@csrf
@method("PUT")
<input type="hidden" name="tarefa_id" id="tarefa_id_aprovar" value="{{$tarefa["id"]}}">
<input type="hidden" name="professor_id" id="professor_id_aprovar" value="{{$professor["id"]}}">
<input type="hidden" name="status" id="status_aprovar" value='7'>
<input type="hidden" name="atividade_type" id="atividade_type_aprovar" value="{{$tarefa["tipo_atividade"]}}">
<input type="submit" class="btn btn-primary" value="Aprovar">
</form>
</div>
</div>
</div><br>
@endforeach
@endif
@if (isset($pesquisa) && !empty($pesquisa))
<h4><strong>Pesquisa</strong></h4>
@foreach ($pesquisa as $tarefa)
<div class="card">
<h5 class="card-header">Cód. Atividade - {{$tarefa["cod_atividade"]}}</h5>
<div class="card-body">
<span class="fw-bold ">Título do Projeto: </span><span class="card-text">{{isset($tarefa["titulo_projeto"])?$tarefa["titulo_projeto"]:"--"}}</span><br>
<span class="fw-bold ">Componente Curricular: </span><span class="card-text">{{isset($tarefa["componente_curricular"])?$tarefa["componente_curricular"]:"--"}}</span><br>
<span class="fw-bold ">Curso: </span><span class="card-text">{{isset($tarefa["curso"])?$tarefa["curso"]:"--"}}</span><br>
<span class="fw-bold ">Nível: </span><span class="card-text">{{isset($tarefa["nivel"])?$niveis[$tarefa["nivel"]]:"--"}}</span><br>
<span class="fw-bold ">Modalidade: </span><span class="card-text">{{isset($tarefa["modalidade"])?$modalidades[$tarefa["modalidade"]]:"--"}}</span><br>
<span class="fw-bold ">Resolução: </span><span class="card-text">{{isset($tarefa["resolucao"])?$tarefa["resolucao"]:"--"}}</span><br>
<span class="fw-bold ">CH. Semanal: </span><span class="card-text">{{isset($tarefa["ch_semanal"])?$tarefa["ch_semanal"]:"--"}}</span><br>
<div style="width: 100%; " class="btns-avaliar mt-5 d-flex justify-content-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal_avaliacao" onclick='setaDadosModalAvaliacao("{{$tarefa["id"]}}", "{{$professor["id"]}}", "6", "{{$tarefa["tipo_atividade"]}}")'>
Reprovar
</button>
<span>&nbsp;&nbsp;</span>
<form action="{{route('avaliador_avaliar')}}" method="POST">
@csrf
@method("PUT")
<input type="hidden" name="tarefa_id" id="tarefa_id_aprovar" value="{{$tarefa["id"]}}">
<input type="hidden" name="professor_id" id="professor_id_aprovar" value="{{$professor["id"]}}">
<input type="hidden" name="status" id="status_aprovar" value='7'>
<input type="hidden" name="atividade_type" id="atividade_type_aprovar" value="{{$tarefa["tipo_atividade"]}}">
<input type="submit" class="btn btn-primary" value="Aprovar">
</form>
</div>
</div>
</div><br>
@endforeach
@endif
@if (isset($extensao) && !empty($extensao))
<h4><strong>Extensão</strong></h4>
@foreach ($extensao as $tarefa)
<div class="card">
<h5 class="card-header">Cód. Atividade - {{$tarefa["cod_atividade"]}}</h5>
<div class="card-body">
<span class="fw-bold ">Título do Projeto: </span><span class="card-text">{{isset($tarefa["titulo_projeto"])?$tarefa["titulo_projeto"]:"--"}}</span><br>
<span class="fw-bold ">Componente Curricular: </span><span class="card-text">{{isset($tarefa["componente_curricular"])?$tarefa["componente_curricular"]:"--"}}</span><br>
<span class="fw-bold ">Curso: </span><span class="card-text">{{isset($tarefa["curso"])?$tarefa["curso"]:"--"}}</span><br>
<span class="fw-bold ">Nível: </span><span class="card-text">{{isset($tarefa["nivel"])?$niveis[$tarefa["nivel"]]:"--"}}</span><br>
<span class="fw-bold ">Modalidade: </span><span class="card-text">{{isset($tarefa["modalidade"])?$modalidades[$tarefa["modalidade"]]:"--"}}</span><br>
<span class="fw-bold ">Resolução: </span><span class="card-text">{{isset($tarefa["resolucao"])?$tarefa["resolucao"]:"--"}}</span><br>
<span class="fw-bold ">CH. Semanal: </span><span class="card-text">{{isset($tarefa["ch_semanal"])?$tarefa["ch_semanal"]:"--"}}</span><br>
<div style="width: 100%; " class="btns-avaliar mt-5 d-flex justify-content-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal_avaliacao" onclick='setaDadosModalAvaliacao("{{$tarefa["id"]}}", "{{$professor["id"]}}", "6", "{{$tarefa["tipo_atividade"]}}")'>
Reprovar
</button>
<span>&nbsp;&nbsp;</span>
<form action="{{route('avaliador_avaliar')}}" method="POST">
@csrf
@method("PUT")
<input type="hidden" name="tarefa_id" id="tarefa_id_aprovar" value="{{$tarefa["id"]}}">
<input type="hidden" name="professor_id" id="professor_id_aprovar" value="{{$professor["id"]}}">
<input type="hidden" name="status" id="status_aprovar" value='7'>
<input type="hidden" name="atividade_type" id="atividade_type_aprovar" value="{{$tarefa["tipo_atividade"]}}">
<input type="submit" class="btn btn-primary" value="Aprovar">
</form>
</div>
</div>
</div><br>
@endforeach
@endif
@if (isset($gestao) && !empty($gestao))
<h4><strong>Gestão</strong></h4>
@foreach ($gestao as $tarefa)
<div class="card">
<h5 class="card-header">Cód. Atividade - {{$tarefa["cod_atividade"]}}</h5>
<div class="card-body">
<span class="fw-bold ">Título do Projeto: </span><span class="card-text">{{isset($tarefa["titulo_projeto"])?$tarefa["titulo_projeto"]:"--"}}</span><br>
<span class="fw-bold ">Componente Curricular: </span><span class="card-text">{{isset($tarefa["componente_curricular"])?$tarefa["componente_curricular"]:"--"}}</span><br>
<span class="fw-bold ">Curso: </span><span class="card-text">{{isset($tarefa["curso"])?$tarefa["curso"]:"--"}}</span><br>
<span class="fw-bold ">Nível: </span><span class="card-text">{{isset($tarefa["nivel"])?$niveis[$tarefa["nivel"]]:"--"}}</span><br>
<span class="fw-bold ">Modalidade: </span><span class="card-text">{{isset($tarefa["modalidade"])?$modalidades[$tarefa["modalidade"]]:"--"}}</span><br>
<span class="fw-bold ">Resolução: </span><span class="card-text">{{isset($tarefa["resolucao"])?$tarefa["resolucao"]:"--"}}</span><br>
<span class="fw-bold ">CH. Semanal: </span><span class="card-text">{{isset($tarefa["ch_semanal"])?$tarefa["ch_semanal"]:"--"}}</span><br>
<div style="width: 100%; " class="btns-avaliar mt-5 d-flex justify-content-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal_avaliacao" onclick='setaDadosModalAvaliacao("{{$tarefa["id"]}}", "{{$professor["id"]}}", "6", "{{$tarefa["tipo_atividade"]}}")'>
Reprovar
</button>
<span>&nbsp;&nbsp;</span>
<form action="{{route('avaliador_avaliar')}}" method="POST">
@csrf
@method("PUT")
<input type="hidden" name="tarefa_id" id="tarefa_id_aprovar" value="{{$tarefa["id"]}}">
<input type="hidden" name="professor_id" id="professor_id_aprovar" value="{{$professor["id"]}}">
<input type="hidden" name="status" id="status_aprovar" value='7'>
<input type="hidden" name="atividade_type" id="atividade_type_aprovar" value="{{$tarefa["tipo_atividade"]}}">
<input type="submit" class="btn btn-primary" value="Aprovar">
</form>
</div>
</div>
</div><br>
@endforeach
@endif
<div class="modal fade" id="modal_avaliacao" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Avaliação</h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form action="{{route('avaliador_avaliar')}}" method="POST">
@csrf
@method("PUT")
<input type="hidden" name="tarefa_id" id="tarefa_id">
<input type="hidden" name="professor_id" id="professor_id">
<input type="hidden" name="status" id="status">
<input type="hidden" name="atividade_type" id="atividade_type">
<div class="modal-body">
<div class="form-group">
<label for="hora_reajuste">Hora de reajuste:</label>
<input class="form-control" type="number" name="hora_reajuste" id="hora_reajuste"><br>
</div>
<div class="form-group">
<label for="descricao">Descrição:</label>
<input class="form-control" type="textarea" name="descricao" id="descricao">
</div>
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-outline-danger" value="Reprovar">
</div>
</form>
</div>
</div>
</div>
@endsection
<script>
function setaDadosModalAvaliacao(tarefa_id, professor_id, status, atividade_type){
document.getElementById('tarefa_id').value = tarefa_id;
document.getElementById('professor_id').value = professor_id;
document.getElementById('status').value = status;
document.getElementById('atividade_type').value = atividade_type;
}
</script>
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Route;
/*
......@@ -17,3 +18,7 @@ use Illuminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/hash', function () {
dd(Hash::make('1234'));
});
......@@ -12,6 +12,8 @@ Route::prefix('/pad')->group(function () {
Route::get('/edit/{id}', [PadController::class, 'edit'])->name('pad_edit');
Route::put('/update/{id}', [PadController::class, 'update'])->name('pad_update');
Route::delete('/delete/{id}', [PadController::class, 'delete'])->name('pad_delete');
Route::get('/{id}/avaliar/professores', [PadController::class, 'professores'])->name('pad_professores');
Route::get('/{id}/professor/{professor_id}/atividades', [PadController::class, 'professor_atividades'])->name('pad_professor_atividades');
});
/** PadProfessor */
......
......@@ -90,7 +90,7 @@ Route::prefix('/professor')->group(function () {
Route::prefix('/avaliador')->group(function () {
Route::get('/index', [AvaliadorController::class, 'index'])->name('avaliador_index');
Route::get('/avaliar', [AvaliadorController::class, 'avaliar'])->name('avaliador_avaliar');
Route::put('/avaliar', [AvaliadorController::class, 'avaliar'])->name('avaliador_avaliar');
Route::get('/create', [AvaliadorController::class, 'create'])->name('avaliador_create');
Route::post('/store', [AvaliadorController::class, 'store'])->name('avaliador_store');
Route::get('/edit/{id}', [AvaliadorController::class, 'edit'])->name('avaliador_edit');
......@@ -103,4 +103,3 @@ Route::prefix('/user')->group(function () {
Route::post('/update/perfil', [UserController::class, 'updatePerfil'])->name('update_perfil');
Route::post('/update/password', [UserController::class, 'updatePassword'])->name('update_password');
});
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