Commit 4b6417cd authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

update view from avaliator and teacher

parent 5e7a3582
......@@ -44,7 +44,7 @@ class DashboardController extends Controller
$userPads =
AvaliadorPad::where('user_id', '=', $user->id)
->join('pad', 'avaliador_pad.pad_id', '=', 'pad.id')
->where('pad.status', '=', Status::ATIVO)
->whereIn('pad.status', [Status::ATIVO, Status::ARQUIVADO])
->get();
return view('dashboard', ['userPads' => $userPads, 'menu' => Menu::HOME]);
......
......@@ -213,6 +213,8 @@ class PadController extends Controller
$avaliatorsPads = $pad->avaliadorPads;
$status = Constants::listStatus();
//Se a página atual for 1 remova o previous
//Se a página atual for lastPage remova o next
//Se houver um page="" no query selecionar a opção de professor por padrão [list]
......@@ -298,50 +300,68 @@ class PadController extends Controller
$user = Auth::user();
$pad = Pad::find($id);
$index_menu = MenuItemsAvaliador::HOME;
$professores = User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
[$user_id, $campus_id, $pad_id, $status_active] = [$user->id, $user->campus_id, $pad->id, PAD::STATUS_ATIVO];
$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);
->where(function ($query) use ($user_id, $campus_id, $pad_id, $status_active)
{
$query->where('pad.status', '=', $status_active);
$query->where('users.campus_id', '=', $campus_id);
$query->where('users.id', '!=', $user_id);
$query->where('pad.id', '=', $pad_id);
})
->select('users.id', 'users.name')
->orderBy('name')
->select('users.id', 'users.name', 'users.email')
->orderBy('users.name')
->limit(10)
->get();
//Informando se o PAD foi enviado ou não
$avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) {
$query->where('user_id', '=', $user->id);
$query->where('pad_id', '=', $pad->id);
})->first();
foreach ($professores as $professor){
$professor->status = "Pendente";
$userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
$avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
$avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null;
$avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) ? $avaliacoes['pesquisa'] : null;
$avaliacoes_extensao = !empty($avaliacoes['extensao']) ? $avaliacoes['extensao'] : null;
$avaliacoes_gestao = !empty($avaliacoes['gestao']) ? $avaliacoes['gestao'] : null;
$avaliacoes_ensino_all = $avaliacoes_ensino? $avaliacoes_ensino->all() : null;
$avaliacoes_pesquisa_all = $avaliacoes_pesquisa? $avaliacoes_pesquisa->all() : null;
$avaliacoes_extensao_all = $avaliacoes_extensao? $avaliacoes_extensao->all() : null;
$avaliacoes_gestao_all = $avaliacoes_gestao? $avaliacoes_gestao->all() : null;
if($avaliacoes_ensino_all || $avaliacoes_pesquisa_all || $avaliacoes_extensao_all || $avaliacoes_gestao_all) {
$professor->status = "Enviado";
}
$professor->ch = $this->get_carga_horaria_total($avaliacoes);
$professor->ch_corrigida = $this->get_carga_horaria_corrigida($avaliacoes_ensino, $avaliacoes_pesquisa, $avaliacoes_extensao, $avaliacoes_gestao);
}
// $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')
// ->orderBy('name')
// ->limit(10)
// ->get();
//
// //Informando se o PAD foi enviado ou não
// $avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) {
// $query->where('user_id', '=', $user->id);
// $query->where('pad_id', '=', $pad->id);
// })->first();
//
//
// foreach ($professores as $professor){
// $professor->status = "Pendente";
// $userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
//
// $avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
//
// $avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null;
// $avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) ? $avaliacoes['pesquisa'] : null;
// $avaliacoes_extensao = !empty($avaliacoes['extensao']) ? $avaliacoes['extensao'] : null;
// $avaliacoes_gestao = !empty($avaliacoes['gestao']) ? $avaliacoes['gestao'] : null;
//
//
// $avaliacoes_ensino_all = $avaliacoes_ensino? $avaliacoes_ensino->all() : null;
// $avaliacoes_pesquisa_all = $avaliacoes_pesquisa? $avaliacoes_pesquisa->all() : null;
// $avaliacoes_extensao_all = $avaliacoes_extensao? $avaliacoes_extensao->all() : null;
// $avaliacoes_gestao_all = $avaliacoes_gestao? $avaliacoes_gestao->all() : null;
//
//
// if($avaliacoes_ensino_all || $avaliacoes_pesquisa_all || $avaliacoes_extensao_all || $avaliacoes_gestao_all) {
// $professor->status = "Enviado";
// }
//
// $professor->ch = $this->get_carga_horaria_total($avaliacoes);
// $professor->ch_corrigida = $this->get_carga_horaria_corrigida($avaliacoes_ensino, $avaliacoes_pesquisa, $avaliacoes_extensao, $avaliacoes_gestao);
// }
return view("pad.avaliacao.professores", compact('professores', 'pad', 'index_menu'));
}
......
......@@ -12,6 +12,18 @@ class Pad extends Model
{
use HasFactory;
const STATUS_ATIVO = 1;
const STATUS_INATIVO = 2;
const STATUS_ARQUIVADO = 3;
const STATUS_EM_AVALIACAO = 4;
const STATUS_PENDENTE = 3;
const ARQUIVADO = 4;
const FINALIZADO = 5;
const REPROVADO = 6;
const APROVADO = 7;
const EM_REVISAO = 8;
/** @var string */
protected $table = 'pad';
......
......@@ -29,6 +29,7 @@ class Constants {
const STATUS_ATIVO = 1;
const STATUS_INATIVO = 2;
const STATUS_ARQUIVADO = 3;
const STATUS_EM_AVALIACAO = 4;
const DIMENSAO_ENSINO = 1;
const DIMENSAO_PESQUISA = 2;
......@@ -132,6 +133,7 @@ class Constants {
self::STATUS_ATIVO => 'Ativo',
self::STATUS_INATIVO => 'Inativo',
self::STATUS_ARQUIVADO => 'Arquivado',
self::STATUS_EM_AVALIACAO => 'Periodo de Avaliação'
];
return $value !== null? $values[$value] : $values;
......
......@@ -21,7 +21,7 @@ class Status
self::ATIVO => 'Ativo',
self::INATIVO => 'Inativo',
self::PENDENTE => 'Pendente',
self::ARQUIVADO => 'Arquivado',
self::ARQUIVADO => 'Em Avaliação',
self::FINALIZADO => 'Finalizado',
self::REPROVADO => 'Reprovado',
self::APROVADO => 'Aprovado',
......
<?php
use Illuminate\Database\Eloquent\Model;
namespace App\Search;
use App\Models\Campus;
use App\Models\User;
class TeacherAvaliatorSearch extends Model
{
/** @var string */
public $name;
/** @var string */
public $email;
/** @var integer */
public $user_id;
/** @var integer */
public $campus_id;
/** @var integer */
public $pad_id;
/** @var integer */
public $pad_status;
/** @var integer */
public $paginate;
/** @var array */
public $_attributes = ['name', 'email', 'user_id', 'pad_id', 'campus_id', 'pad_status', 'paginate'];
/** @return void */
public function load($params = [])
{
foreach($this->_attributes as $_attribute)
{
if(isset($this->$_attribute)) {
$this->$_attribute = $this->$_attribute;
} else if(isset($params[$_attribute])) {
$this->$_attribute = $params[$_attribute];
} else {
$this->$_attribute = null;
}
}
}
/** @return Illuminate\Database\Eloquent\Collection */
public function search($params = [])
{
/** @var Illuminate\Database\Eloquent\Builder */
$query = User::where([]);
$query->join('user_pad', 'user_pad.user_id', '=', 'users.id')
->join('pad', 'user_pad.pad_id', '=', 'pad.id');
$this->load($params);
if($this->name) {
$name = $this->name;
$query->where('users.name', "like", "%{$name}%");
}
if($this->email) {
$email = $this->email;
$query->where('users.email', "like", "%{$email}%");
}
if($this->user_id) {
$user_id = $this->user_id;
$query->where("users.id", '!=', "{$user_id}");
}
if($this->pad_id) {
$pad_id = $this->pad_id;
$query->where("pad.id", '=', "{$pad_id}");
}
if($this->campus_id) {
$campus_id = $this->campus_id;
$query->where("users.campus_id", '=', "{$campus_id}");
}
if($this->pad_status) {
$pad_status = $this->pad_status;
$query->where("pad.status", '=', "{$pad_status}");
}
return $this->paginate ? $query->get()->paginate($this->paginate) : $query->get();
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public function user() {
return $this->belongsTo(User::class);
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public function pad() {
return $this->belongsTo(Pad::class);
}
/** @return Illuminate\Database\Eloquent\Relations\BelongsTo */
public function campus() {
return $this->belongsTo(Campus::class);
}
}
@php
use App\Models\Util\Status;
use App\Models\Pad;
@endphp
<div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">
......@@ -31,6 +32,23 @@
</div>
@endif
@if($userPad->pad->status === Pad::STATUS_EM_AVALIACAO)
<div class="card mx-2 bg-secondary" style="width: 12rem;">
<div class="card-body">
<div class="text-end">
<span class="badge bg-primary">{{ $userPad->pad->statusAsString() }}</span>
</div>
<h1 class="text-center"> <i class="bi bi-book-half"></i> </h1>
<h5 class="text-center"> PDA: {{ $userPad->pad->nome }} </h4>
<div class="text-center">
<h4 class="h5"> <span class="badge bg-primary">Horas: {{ $userPad->totalHoras() }}</span> </h4>
</div>
{{-- <a class="stretched-link" href="{{ route('pad_view', ['id' => $userPad->id]) }}"></a> --}}
</div>
</div>
@endif
@endforeach
</div>
</div>
......@@ -23,6 +23,7 @@
<thead class="thead-dark">
<tr>
<th scope="col">Professor</th>
<th scope="col">E-mail</th>
<th scope="col">Status</th>
<th scope="col">CH</th>
<th scope="col">CH Corrigida</th>
......@@ -34,6 +35,7 @@
@foreach ($professores as $professor)
<tr>
<td>{{$professor->name}}</td>
<td>{{$professor->email}}</td>
@if($professor->status === 'Pendente')
<td style="color:red;">{{$professor->status}}</td>
@else
......
<?php
/**
* @var $model App\Models\UserSearch
*/
?>
<form action="{{ route('user_index') }}" method="get">
<div class="row">
<div class="mb-3 col-6">
<div class="form-group">
<label class="form-label" for="name"> Nome </label>
<input type="text" name="name" id="name" class="form-control" placeholder="Nome" value="{{ $model->name }}">
</div>
</div>
<div class="mb-3 col-6">
<div class="form-group">
<label class="form-label" for="email"> E-Mail </label>
<input type="email" name="email" id="email" class="form-control" placeholder="E-Mail" value="{{ $model->email }}">
</div>
</div>
</div>
<div class="row">
<div class="mb-3 col-6">
<div class="form-group">
<label class="form-label" for="campus_id"> Status </label>
<select class="form-control" name="campus_id" id="campus_id">
@if($model->campus_id)
<option value="{{$model->campus_id}}" selected> {{$model->campus}} </option>
@endif
</select>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary"> Buscar </button>
</form>
......@@ -38,7 +38,9 @@ require __DIR__ . '/avaliador_pad.php';
require __DIR__ . '/professor_pad.php';
require __DIR__ . '/unidade.php';
require __DIR__ . '/campus.php';
require __DIR__ . '/curso.php';
require __DIR__ . '/anexo.php';
......
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