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 ...@@ -44,7 +44,7 @@ class DashboardController extends Controller
$userPads = $userPads =
AvaliadorPad::where('user_id', '=', $user->id) AvaliadorPad::where('user_id', '=', $user->id)
->join('pad', 'avaliador_pad.pad_id', '=', 'pad.id') ->join('pad', 'avaliador_pad.pad_id', '=', 'pad.id')
->where('pad.status', '=', Status::ATIVO) ->whereIn('pad.status', [Status::ATIVO, Status::ARQUIVADO])
->get(); ->get();
return view('dashboard', ['userPads' => $userPads, 'menu' => Menu::HOME]); return view('dashboard', ['userPads' => $userPads, 'menu' => Menu::HOME]);
......
...@@ -213,6 +213,8 @@ class PadController extends Controller ...@@ -213,6 +213,8 @@ class PadController extends Controller
$avaliatorsPads = $pad->avaliadorPads; $avaliatorsPads = $pad->avaliadorPads;
$status = Constants::listStatus(); $status = Constants::listStatus();
//Se a página atual for 1 remova o previous //Se a página atual for 1 remova o previous
//Se a página atual for lastPage remova o next //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] //Se houver um page="" no query selecionar a opção de professor por padrão [list]
...@@ -298,56 +300,74 @@ class PadController extends Controller ...@@ -298,56 +300,74 @@ class PadController extends Controller
$user = Auth::user(); $user = Auth::user();
$pad = Pad::find($id); $pad = Pad::find($id);
$index_menu = MenuItemsAvaliador::HOME; $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')
->orderBy('name')
->get();
//Informando se o PAD foi enviado ou não [$user_id, $campus_id, $pad_id, $status_active] = [$user->id, $user->campus_id, $pad->id, PAD::STATUS_ATIVO];
$avaliador_pad = AvaliadorPad::where(function ($query) use ($pad, $user) { $professores =
$query->where('user_id', '=', $user->id); User::join('user_pad', 'user_pad.user_id', '=', 'users.id')
$query->where('pad_id', '=', $pad->id); ->join('pad', 'user_pad.pad_id', '=', 'pad.id')
})->first(); ->where(function ($query) use ($user_id, $campus_id, $pad_id, $status_active)
{
$query->where('pad.status', '=', $status_active);
foreach ($professores as $professor){ $query->where('users.campus_id', '=', $campus_id);
$professor->status = "Pendente"; $query->where('users.id', '!=', $user_id);
$userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first(); $query->where('pad.id', '=', $pad_id);
})
$avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad); ->select('users.id', 'users.name', 'users.email')
->orderBy('users.name')
$avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null; ->limit(10)
$avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) ? $avaliacoes['pesquisa'] : null; ->get();
$avaliacoes_extensao = !empty($avaliacoes['extensao']) ? $avaliacoes['extensao'] : null;
$avaliacoes_gestao = !empty($avaliacoes['gestao']) ? $avaliacoes['gestao'] : null; // $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) {
$avaliacoes_ensino_all = $avaliacoes_ensino? $avaliacoes_ensino->all() : null; // $query->where('pad.status', '=', Status::ATIVO);
$avaliacoes_pesquisa_all = $avaliacoes_pesquisa? $avaliacoes_pesquisa->all() : null; // $query->where('users.campus_id', '=', $user->campus_id);
$avaliacoes_extensao_all = $avaliacoes_extensao? $avaliacoes_extensao->all() : null; // $query->where('users.id', '!=', $user->id);
$avaliacoes_gestao_all = $avaliacoes_gestao? $avaliacoes_gestao->all() : null; // $query->where('pad.id', '=', $id);
// })
// ->select('users.id', 'users.name')
if($avaliacoes_ensino_all || $avaliacoes_pesquisa_all || $avaliacoes_extensao_all || $avaliacoes_gestao_all) { // ->orderBy('name')
$professor->status = "Enviado"; // ->limit(10)
} // ->get();
//
$professor->ch = $this->get_carga_horaria_total($avaliacoes); // //Informando se o PAD foi enviado ou não
$professor->ch_corrigida = $this->get_carga_horaria_corrigida($avaliacoes_ensino, $avaliacoes_pesquisa, $avaliacoes_extensao, $avaliacoes_gestao); // $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')); return view("pad.avaliacao.professores", compact('professores', 'pad', 'index_menu'));
} }
public function professor_atividades($id, $professor_id, $aba=null) public function professor_atividades($id, $professor_id, $aba=null)
{ {
$pad = Pad::find($id); $pad = Pad::find($id);
$user = Auth::user(); $user = Auth::user();
$index_menu = MenuItemsAvaliador::HOME; $index_menu = MenuItemsAvaliador::HOME;
...@@ -371,7 +391,7 @@ class PadController extends Controller ...@@ -371,7 +391,7 @@ class PadController extends Controller
$avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) && $avaliacoes['pesquisa']->count() ? $avaliacoes['pesquisa']->paginate(5) : []; $avaliacoes_pesquisa = !empty($avaliacoes['pesquisa']) && $avaliacoes['pesquisa']->count() ? $avaliacoes['pesquisa']->paginate(5) : [];
$avaliacoes_extensao = !empty($avaliacoes['extensao']) && $avaliacoes['extensao']->count() ? $avaliacoes['extensao']->paginate(5) : []; $avaliacoes_extensao = !empty($avaliacoes['extensao']) && $avaliacoes['extensao']->count() ? $avaliacoes['extensao']->paginate(5) : [];
$avaliacoes_gestao = !empty($avaliacoes['gestao']) && $avaliacoes['gestao']->count() ? $avaliacoes['gestao']->paginate(5) : []; $avaliacoes_gestao = !empty($avaliacoes['gestao']) && $avaliacoes['gestao']->count() ? $avaliacoes['gestao']->paginate(5) : [];
//Informando quais tipos (ensino, pesquisa, extensão ou gestão) de atividades podem ser avaliadas pelo usuário logado. //Informando quais tipos (ensino, pesquisa, extensão ou gestão) de atividades podem ser avaliadas pelo usuário logado.
$avalPad = $user->avaliadorPad()->first(); $avalPad = $user->avaliadorPad()->first();
...@@ -385,7 +405,7 @@ class PadController extends Controller ...@@ -385,7 +405,7 @@ class PadController extends Controller
} else { } else {
$caminho = 'pad.avaliacao.tarefas_'.$aba; $caminho = 'pad.avaliacao.tarefas_'.$aba;
} }
return view($caminho, compact('pad', 'index_menu', 'professor', 'avaliacoes_ensino', 'avaliacoes_pesquisa', 'avaliacoes_extensao', 'avaliacoes_gestao', 'niveis', 'modalidades')); return view($caminho, compact('pad', 'index_menu', 'professor', 'avaliacoes_ensino', 'avaliacoes_pesquisa', 'avaliacoes_extensao', 'avaliacoes_gestao', 'niveis', 'modalidades'));
} }
...@@ -466,7 +486,7 @@ class PadController extends Controller ...@@ -466,7 +486,7 @@ class PadController extends Controller
$avaliacoes_ensino_ids = array_merge($avaliacoes_ensino_ids, $avaliacao_ids); $avaliacoes_ensino_ids = array_merge($avaliacoes_ensino_ids, $avaliacao_ids);
} }
$avaliacoes_ensino = Avaliacao::whereIn('id', $avaliacoes_ensino_ids)->orderBy('status')->get(); $avaliacoes_ensino = Avaliacao::whereIn('id', $avaliacoes_ensino_ids)->orderBy('status')->get();
// //
} }
...@@ -499,7 +519,7 @@ class PadController extends Controller ...@@ -499,7 +519,7 @@ class PadController extends Controller
$avaliacoes_pesquisa_ids = array_merge($avaliacoes_pesquisa_ids, $avaliacao_ids); $avaliacoes_pesquisa_ids = array_merge($avaliacoes_pesquisa_ids, $avaliacao_ids);
} }
$avaliacoes_pesquisa = Avaliacao::whereIn('id', $avaliacoes_pesquisa_ids)->orderBy('status')->get(); $avaliacoes_pesquisa = Avaliacao::whereIn('id', $avaliacoes_pesquisa_ids)->orderBy('status')->get();
} }
...@@ -510,7 +530,7 @@ class PadController extends Controller ...@@ -510,7 +530,7 @@ class PadController extends Controller
'ids' => ExtensaoCoordenacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(), 'ids' => ExtensaoCoordenacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(),
'type' => AvaliacaoUtil::EXTENSAO_COORDENACAO 'type' => AvaliacaoUtil::EXTENSAO_COORDENACAO
], ],
[ [
'ids' => ExtensaoOrientacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(), 'ids' => ExtensaoOrientacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(),
'type' => AvaliacaoUtil::EXTENSAO_ORIENTACAO 'type' => AvaliacaoUtil::EXTENSAO_ORIENTACAO
], ],
...@@ -519,7 +539,7 @@ class PadController extends Controller ...@@ -519,7 +539,7 @@ class PadController extends Controller
'type' => AvaliacaoUtil::EXTENSAO_OUTROS 'type' => AvaliacaoUtil::EXTENSAO_OUTROS
] ]
]; ];
$avaliacoes_extensao_ids = []; $avaliacoes_extensao_ids = [];
foreach($extensao_grouped_ids as $extensao_group) foreach($extensao_grouped_ids as $extensao_group)
{ {
...@@ -527,7 +547,7 @@ class PadController extends Controller ...@@ -527,7 +547,7 @@ class PadController extends Controller
$avaliacoes_extensao_ids = array_merge($avaliacoes_extensao_ids, $avaliacao_ids); $avaliacoes_extensao_ids = array_merge($avaliacoes_extensao_ids, $avaliacao_ids);
} }
$avaliacoes_extensao = Avaliacao::whereIn('id', $avaliacoes_extensao_ids)->orderBy('status')->get(); $avaliacoes_extensao = Avaliacao::whereIn('id', $avaliacoes_extensao_ids)->orderBy('status')->get();
} }
...@@ -575,19 +595,19 @@ class PadController extends Controller ...@@ -575,19 +595,19 @@ class PadController extends Controller
$avaliacoes_gestao_ids = array_merge($avaliacoes_gestao_ids, $avaliacao_ids); $avaliacoes_gestao_ids = array_merge($avaliacoes_gestao_ids, $avaliacao_ids);
} }
$avaliacoes_gestao = Avaliacao::whereIn('id', $avaliacoes_gestao_ids)->orderBy('status')->get(); $avaliacoes_gestao = Avaliacao::whereIn('id', $avaliacoes_gestao_ids)->orderBy('status')->get();
} }
return [ return [
'ensino' => $avaliacoes_ensino, 'ensino' => $avaliacoes_ensino,
'pesquisa' => $avaliacoes_pesquisa, 'pesquisa' => $avaliacoes_pesquisa,
'extensao' => $avaliacoes_extensao, 'extensao' => $avaliacoes_extensao,
'gestao' => $avaliacoes_gestao 'gestao' => $avaliacoes_gestao
]; ];
} }
private function get_avaliacoes_with_pagination($user_pad, $avaliador_pad) private function get_avaliacoes_with_pagination($user_pad, $avaliador_pad)
{ {
$avaliacoes_ensino = []; $avaliacoes_ensino = [];
...@@ -655,7 +675,7 @@ class PadController extends Controller ...@@ -655,7 +675,7 @@ class PadController extends Controller
$avaliacoes_ensino_ids = array_merge($avaliacoes_ensino_ids, $avaliacao_ids); $avaliacoes_ensino_ids = array_merge($avaliacoes_ensino_ids, $avaliacao_ids);
} }
$avaliacoes_ensino = Avaliacao::whereIn('id', $avaliacoes_ensino_ids)->orderBy('status'); $avaliacoes_ensino = Avaliacao::whereIn('id', $avaliacoes_ensino_ids)->orderBy('status');
// //
} }
...@@ -688,7 +708,7 @@ class PadController extends Controller ...@@ -688,7 +708,7 @@ class PadController extends Controller
$avaliacoes_pesquisa_ids = array_merge($avaliacoes_pesquisa_ids, $avaliacao_ids); $avaliacoes_pesquisa_ids = array_merge($avaliacoes_pesquisa_ids, $avaliacao_ids);
} }
$avaliacoes_pesquisa = Avaliacao::whereIn('id', $avaliacoes_pesquisa_ids)->orderBy('status'); $avaliacoes_pesquisa = Avaliacao::whereIn('id', $avaliacoes_pesquisa_ids)->orderBy('status');
} }
...@@ -699,7 +719,7 @@ class PadController extends Controller ...@@ -699,7 +719,7 @@ class PadController extends Controller
'ids' => ExtensaoCoordenacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(), 'ids' => ExtensaoCoordenacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(),
'type' => AvaliacaoUtil::EXTENSAO_COORDENACAO 'type' => AvaliacaoUtil::EXTENSAO_COORDENACAO
], ],
[ [
'ids' => ExtensaoOrientacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(), 'ids' => ExtensaoOrientacao::whereUserPadId($user_pad->id)->pluck('id')->toArray(),
'type' => AvaliacaoUtil::EXTENSAO_ORIENTACAO 'type' => AvaliacaoUtil::EXTENSAO_ORIENTACAO
], ],
...@@ -708,7 +728,7 @@ class PadController extends Controller ...@@ -708,7 +728,7 @@ class PadController extends Controller
'type' => AvaliacaoUtil::EXTENSAO_OUTROS 'type' => AvaliacaoUtil::EXTENSAO_OUTROS
] ]
]; ];
$avaliacoes_extensao_ids = []; $avaliacoes_extensao_ids = [];
foreach($extensao_grouped_ids as $extensao_group) foreach($extensao_grouped_ids as $extensao_group)
{ {
...@@ -716,7 +736,7 @@ class PadController extends Controller ...@@ -716,7 +736,7 @@ class PadController extends Controller
$avaliacoes_extensao_ids = array_merge($avaliacoes_extensao_ids, $avaliacao_ids); $avaliacoes_extensao_ids = array_merge($avaliacoes_extensao_ids, $avaliacao_ids);
} }
$avaliacoes_extensao = Avaliacao::whereIn('id', $avaliacoes_extensao_ids)->orderBy('status'); $avaliacoes_extensao = Avaliacao::whereIn('id', $avaliacoes_extensao_ids)->orderBy('status');
} }
...@@ -764,20 +784,20 @@ class PadController extends Controller ...@@ -764,20 +784,20 @@ class PadController extends Controller
$avaliacoes_gestao_ids = array_merge($avaliacoes_gestao_ids, $avaliacao_ids); $avaliacoes_gestao_ids = array_merge($avaliacoes_gestao_ids, $avaliacao_ids);
} }
$avaliacoes_gestao = Avaliacao::whereIn('id', $avaliacoes_gestao_ids)->orderBy('status'); $avaliacoes_gestao = Avaliacao::whereIn('id', $avaliacoes_gestao_ids)->orderBy('status');
} }
return [ return [
'ensino' => $avaliacoes_ensino, 'ensino' => $avaliacoes_ensino,
'pesquisa' => $avaliacoes_pesquisa, 'pesquisa' => $avaliacoes_pesquisa,
'extensao' => $avaliacoes_extensao, 'extensao' => $avaliacoes_extensao,
'gestao' => $avaliacoes_gestao 'gestao' => $avaliacoes_gestao
]; ];
} }
private function get_carga_horaria_total($avaliacoes) private function get_carga_horaria_total($avaliacoes)
{ {
// //
$ch = 0; $ch = 0;
$avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null; $avaliacoes_ensino = !empty($avaliacoes['ensino']) ? $avaliacoes['ensino'] : null;
...@@ -808,7 +828,7 @@ class PadController extends Controller ...@@ -808,7 +828,7 @@ class PadController extends Controller
$ch += $avaliacoes_gestao[$i]->tarefa()->first()->ch_semanal; $ch += $avaliacoes_gestao[$i]->tarefa()->first()->ch_semanal;
} }
} }
return $ch; return $ch;
} }
...@@ -879,22 +899,22 @@ class PadController extends Controller ...@@ -879,22 +899,22 @@ class PadController extends Controller
$professor->status = "Pendente"; $professor->status = "Pendente";
$userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first(); $userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
$avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad); $avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
$professor->ch_ensino = $this->get_carga_horaria($avaliacoes['ensino'])? $this->get_carga_horaria($avaliacoes['ensino']) : 0; $professor->ch_ensino = $this->get_carga_horaria($avaliacoes['ensino'])? $this->get_carga_horaria($avaliacoes['ensino']) : 0;
$professor->ch_pesquisa = $this->get_carga_horaria($avaliacoes['pesquisa'])? $this->get_carga_horaria($avaliacoes['pesquisa']) : 0; $professor->ch_pesquisa = $this->get_carga_horaria($avaliacoes['pesquisa'])? $this->get_carga_horaria($avaliacoes['pesquisa']) : 0;
$professor->ch_extensao = $this->get_carga_horaria($avaliacoes['extensao'])? $this->get_carga_horaria($avaliacoes['extensao']) : 0; $professor->ch_extensao = $this->get_carga_horaria($avaliacoes['extensao'])? $this->get_carga_horaria($avaliacoes['extensao']) : 0;
$professor->ch_gestao = $this->get_carga_horaria($avaliacoes['gestao'])? $this->get_carga_horaria($avaliacoes['gestao']) : 0; $professor->ch_gestao = $this->get_carga_horaria($avaliacoes['gestao'])? $this->get_carga_horaria($avaliacoes['gestao']) : 0;
if($professor->ch_ensino || $professor->ch_pesquisa || $professor->ch_extensao || $professor->ch_gestao ) { if($professor->ch_ensino || $professor->ch_pesquisa || $professor->ch_extensao || $professor->ch_gestao ) {
$professor->status = "Enviado"; $professor->status = "Enviado";
$professor->pad_id = $userPad->{'id'}; $professor->pad_id = $userPad->{'id'};
} }
} }
return view('pad.relatorio.relatorio', [ return view('pad.relatorio.relatorio', [
'pad' => $pad, 'pad' => $pad,
'index_menu' => $index_menu, 'index_menu' => $index_menu,
'professores' => $professores]); 'professores' => $professores]);
} }
...@@ -927,13 +947,13 @@ class PadController extends Controller ...@@ -927,13 +947,13 @@ class PadController extends Controller
foreach ($professores as $professor){ foreach ($professores as $professor){
$userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first(); $userPad = $professor->userPads()->where('pad_id', '=', $pad->id)->first();
$avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad); $avaliacoes = $this->get_avaliacoes($userPad, $avaliador_pad);
$professor->ch_ensino = $this->get_carga_horaria($avaliacoes['ensino'])? $this->get_carga_horaria($avaliacoes['ensino']) : 0; $professor->ch_ensino = $this->get_carga_horaria($avaliacoes['ensino'])? $this->get_carga_horaria($avaliacoes['ensino']) : 0;
$professor->ch_pesquisa = $this->get_carga_horaria($avaliacoes['pesquisa'])? $this->get_carga_horaria($avaliacoes['pesquisa']) : 0; $professor->ch_pesquisa = $this->get_carga_horaria($avaliacoes['pesquisa'])? $this->get_carga_horaria($avaliacoes['pesquisa']) : 0;
$professor->ch_extensao = $this->get_carga_horaria($avaliacoes['extensao'])? $this->get_carga_horaria($avaliacoes['extensao']) : 0; $professor->ch_extensao = $this->get_carga_horaria($avaliacoes['extensao'])? $this->get_carga_horaria($avaliacoes['extensao']) : 0;
$professor->ch_gestao = $this->get_carga_horaria($avaliacoes['gestao'])? $this->get_carga_horaria($avaliacoes['gestao']) : 0; $professor->ch_gestao = $this->get_carga_horaria($avaliacoes['gestao'])? $this->get_carga_horaria($avaliacoes['gestao']) : 0;
if($professor->ch_ensino || $professor->ch_pesquisa || $professor->ch_extensao || $professor->ch_gestao ) { if($professor->ch_ensino || $professor->ch_pesquisa || $professor->ch_extensao || $professor->ch_gestao ) {
$resource = tmpfile(); $resource = tmpfile();
$path = stream_get_meta_data($resource)['uri']; $path = stream_get_meta_data($resource)['uri'];
...@@ -947,12 +967,12 @@ class PadController extends Controller ...@@ -947,12 +967,12 @@ class PadController extends Controller
$zipFile = storage_path(random_int(1000, 9999) . ".zip"); $zipFile = storage_path(random_int(1000, 9999) . ".zip");
$zip = new \ZipArchive(); $zip = new \ZipArchive();
$zip->open($zipFile, \ZipArchive::CREATE); $zip->open($zipFile, \ZipArchive::CREATE);
foreach ($pads as $profName=>$file) foreach ($pads as $profName=>$file)
{ {
$zip->addFile($file, "PAD - Professor ".$profName."_.pdf"); $zip->addFile($file, "PAD - Professor ".$profName."_.pdf");
} }
$zip->close(); $zip->close();
foreach ($pads as $profName=>$file) foreach ($pads as $profName=>$file)
{ {
unlink($file); unlink($file);
} }
...@@ -965,7 +985,7 @@ class PadController extends Controller ...@@ -965,7 +985,7 @@ class PadController extends Controller
private function get_carga_horaria($avaliacoes){ private function get_carga_horaria($avaliacoes){
$ch = 0; $ch = 0;
foreach ($avaliacoes as $avaliacao){ foreach ($avaliacoes as $avaliacao){
$ch += $avaliacao->tarefa->ch_semanal; $ch += $avaliacao->tarefa->ch_semanal;
} }
......
...@@ -12,6 +12,18 @@ class Pad extends Model ...@@ -12,6 +12,18 @@ class Pad extends Model
{ {
use HasFactory; 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 */ /** @var string */
protected $table = 'pad'; protected $table = 'pad';
......
...@@ -29,6 +29,7 @@ class Constants { ...@@ -29,6 +29,7 @@ class Constants {
const STATUS_ATIVO = 1; const STATUS_ATIVO = 1;
const STATUS_INATIVO = 2; const STATUS_INATIVO = 2;
const STATUS_ARQUIVADO = 3; const STATUS_ARQUIVADO = 3;
const STATUS_EM_AVALIACAO = 4;
const DIMENSAO_ENSINO = 1; const DIMENSAO_ENSINO = 1;
const DIMENSAO_PESQUISA = 2; const DIMENSAO_PESQUISA = 2;
...@@ -132,6 +133,7 @@ class Constants { ...@@ -132,6 +133,7 @@ class Constants {
self::STATUS_ATIVO => 'Ativo', self::STATUS_ATIVO => 'Ativo',
self::STATUS_INATIVO => 'Inativo', self::STATUS_INATIVO => 'Inativo',
self::STATUS_ARQUIVADO => 'Arquivado', self::STATUS_ARQUIVADO => 'Arquivado',
self::STATUS_EM_AVALIACAO => 'Periodo de Avaliação'
]; ];
return $value !== null? $values[$value] : $values; return $value !== null? $values[$value] : $values;
......
...@@ -21,7 +21,7 @@ class Status ...@@ -21,7 +21,7 @@ class Status
self::ATIVO => 'Ativo', self::ATIVO => 'Ativo',
self::INATIVO => 'Inativo', self::INATIVO => 'Inativo',
self::PENDENTE => 'Pendente', self::PENDENTE => 'Pendente',
self::ARQUIVADO => 'Arquivado', self::ARQUIVADO => 'Em Avaliação',
self::FINALIZADO => 'Finalizado', self::FINALIZADO => 'Finalizado',
self::REPROVADO => 'Reprovado', self::REPROVADO => 'Reprovado',
self::APROVADO => 'Aprovado', 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 @php
use App\Models\Util\Status; use App\Models\Util\Status;
use App\Models\Pad;
@endphp @endphp
<div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab"> <div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab">
...@@ -31,6 +32,23 @@ ...@@ -31,6 +32,23 @@
</div> </div>
@endif @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 @endforeach
</div> </div>
</div> </div>
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
<thead class="thead-dark"> <thead class="thead-dark">
<tr> <tr>
<th scope="col">Professor</th> <th scope="col">Professor</th>
<th scope="col">E-mail</th>
<th scope="col">Status</th> <th scope="col">Status</th>
<th scope="col">CH</th> <th scope="col">CH</th>
<th scope="col">CH Corrigida</th> <th scope="col">CH Corrigida</th>
...@@ -34,6 +35,7 @@ ...@@ -34,6 +35,7 @@
@foreach ($professores as $professor) @foreach ($professores as $professor)
<tr> <tr>
<td>{{$professor->name}}</td> <td>{{$professor->name}}</td>
<td>{{$professor->email}}</td>
@if($professor->status === 'Pendente') @if($professor->status === 'Pendente')
<td style="color:red;">{{$professor->status}}</td> <td style="color:red;">{{$professor->status}}</td>
@else @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'; ...@@ -38,7 +38,9 @@ require __DIR__ . '/avaliador_pad.php';
require __DIR__ . '/professor_pad.php'; require __DIR__ . '/professor_pad.php';
require __DIR__ . '/unidade.php'; require __DIR__ . '/unidade.php';
require __DIR__ . '/campus.php'; require __DIR__ . '/campus.php';
require __DIR__ . '/curso.php'; require __DIR__ . '/curso.php';
require __DIR__ . '/anexo.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