Commit db05d14c authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

mergin

parents 0e5ea578 07d2782b
......@@ -4,11 +4,12 @@ namespace App\Http\Controllers;
use App\Models\Campus;
use App\Models\Unidade;
use App\Models\Util\Menu;
use App\Queries\CampusQuery;
use Illuminate\Http\Request;
use App\Models\Util\MenuItemsAdmin;
use Illuminate\Log\Logger;
use Illuminate\Support\Facades\Response;
class CampusController extends Controller
{
......@@ -22,7 +23,7 @@ class CampusController extends Controller
$campus = Campus::all();
return view('campus.index', [
'index_menu' => MenuItemsAdmin::CAMPUS,
'menu' => Menu::CAMPUS,
'campus' => $campus
]);
}
......@@ -36,7 +37,7 @@ class CampusController extends Controller
{
return view('campus.create', [
'unidades' => Unidade::all(),
'index_menu' => MenuItemsAdmin::CAMPUS,
'menu' => Menu::CAMPUS,
]);
}
......@@ -82,7 +83,7 @@ class CampusController extends Controller
$campus = Campus::findOrFail($id);
return view('campus.update', [
'unidades' => Unidade::all(),
'index_menu' => MenuItemsAdmin::CAMPUS,
'menu' => Menu::CAMPUS,
'campus' => $campus,
]);
}
......@@ -125,4 +126,40 @@ class CampusController extends Controller
{
return Campus::initQuery()->whereUnidadeId($unidade_id)->orderBy('name')->get();
}
/**
*
* @params Illuminate\Http\Request\Request
*/
public function actionSearch(Request $request)
{
// QueryParams
$q = $request->query('q');
$id = $request->query('id');
$campus = Campus::where([]);
if($id) {
$campus = $campus->whereId($id);
}
if($q) {
$campus = $campus->where('name', 'like', '%'.$q.'%');
}
$campus = $campus->get();
$array =
$campus->map(function($campus, $key)
{
return [
'id' => $campus->id,
'text' => $campus->name,
];
});
$array = ['results' => $array];
return Response::json($array);
}
}
......@@ -4,9 +4,9 @@ namespace App\Http\Controllers;
use App\Models\Campus;
use App\Models\Curso;
use App\Models\Unidade;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\Menu;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
class CursoController extends Controller
{
......@@ -26,7 +26,7 @@ class CursoController extends Controller
return view('curso.index', [
'campusWithCursos' => $campusWithCursos,
'index_menu' => MenuItemsAdmin::CURSOS
'menu' => Menu::CURSOS
]);
}
......@@ -41,7 +41,7 @@ class CursoController extends Controller
return view('curso.create', [
'allCampus' => $allCampus,
'index_menu' => MenuItemsAdmin::CURSOS
'menu' => Menu::CURSOS
]);
}
......@@ -87,7 +87,7 @@ class CursoController extends Controller
$curso = Curso::findOrFail($id);
return view('curso.update', [
'allCampus' => Campus::all(),
'index_menu' => MenuItemsAdmin::CURSOS,
'menu' => Menu::CURSOS,
'curso' => $curso,
]);
}
......@@ -115,8 +115,9 @@ class CursoController extends Controller
/**
* Remove the specified resource from storage.
*
* @param int $id
*
* @param string $q
* @param string $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
......@@ -125,4 +126,45 @@ class CursoController extends Controller
$model->delete();
return redirect()->route('curso_index')->with('success', 'Excluído com sucesso!');
}
/**
*
* @params Illuminate\Http\Request\Request
*/
public function actionSearch(Request $request)
{
// QueryParams
$q = $request->query('q');
$id = $request->query('id');
$campus_id = $request->query('campus_id');
$cursos = Curso::where([]);
if($campus_id) {
$cursos = $cursos->whereId($campus_id);
}
if($id) {
$cursos = $cursos->whereId($id);
}
if($q) {
$cursos = $cursos->where('name', 'like', '%'.$q.'%');
}
$cursos = $cursos->get();
$array =
$cursos->map(function($curso, $key)
{
return [
'id' => $curso->id,
'text' => $curso->name,
];
});
$array = ['results' => $array];
return Response::json($array);
}
}
......@@ -2,9 +2,11 @@
namespace App\Http\Controllers;
use App\Models\PAD;
use App\Models\Pad;
use App\Models\Tabelas\Constants;
use App\Models\UserPad;
use App\Models\UserType;
use App\Models\Util\Menu;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\Status;
......@@ -21,28 +23,24 @@ class DashboardController extends Controller
if($user->isTypeAdmin())
{
return view('dashboard',['menu_index' => MenuItemsAdmin::HOME]);
return view('dashboard',['menu' => Menu::HOME]);
}
if($user->isTypeTeacher())
{
$userPads =
UserPad::initQuery()
->whereUser($user->id)
->wherePadStatus(Status::ATIVO)
->get();
{
$userPads = UserPad::whereUserId($user->id)->whereStatus(Status::ATIVO)->get();
return view('dashboard', ['userPads' => $userPads, 'menu_index'=> MenuItemsTeacher::HOME]);
return view('dashboard', ['userPads' => $userPads, 'menu'=> Menu::HOME]);
}
if($user->isTypeDirector())
{
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
return view('dashboard', ['PADs' => Pad::all(), 'menu'=> Menu::HOME]);
}
if($user->isTypeCoordinator())
{
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
return view('dashboard', ['PADs' => Pad::all(), 'menu'=> Menu::HOME]);
}
if($user->isTypeEvaluator())
......@@ -53,7 +51,7 @@ class DashboardController extends Controller
->wherePadStatus(Status::ATIVO)
->get();
return view('dashboard', ['userPads' => $userPads, 'menu_index'=> MenuItemsTeacher::HOME]);
return view('dashboard', ['userPads' => $userPads, 'menu'=> Menu::HOME]);
}
//return redirect()->route('login');
......
......@@ -30,7 +30,6 @@ class EnsinoAtendimentoDiscenteController extends Controller
->orderBy('cod_atividade')
->get();
$niveis = Nivel::listNivel();
$modalidades = Modalidade::listModalidade();
$divs = PadTables::tablesEnsino($user_pad_id);
......
......@@ -77,7 +77,7 @@ class EnsinoAulaController extends Controller
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
{
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
......
......@@ -29,6 +29,8 @@ class ExtensaoCoordenacaoController extends Controller
$funcoes = Constants::listFuncaoProjeto();
$planejamentos = ExtensaoCoordenacao::listPlanejamentos();
$divs = PadTables::tablesExtensao($user_pad_id);
return view('pad.components.templates.dimensao.extensao.coordenacao.form_create', [
......@@ -36,6 +38,7 @@ class ExtensaoCoordenacaoController extends Controller
'divs' => $divs,
'funcoes' => $funcoes,
'planejamentos' => $planejamentos,
'user_pad_id' => $user_pad_id,
'index_menu' => MenuItemsTeacher::PAD,
......@@ -46,10 +49,12 @@ class ExtensaoCoordenacaoController extends Controller
$model = ExtensaoCoordenacao::find($id);
$funcoes = Constants::listFuncaoProjeto();
$planejamentos = ExtensaoCoordenacao::listPlanejamentos();
return view('pad.components.templates.dimensao.extensao.coordenacao.form_update', [
'model' => $model,
'funcoes' => $funcoes
'funcoes' => $funcoes,
'planejamentos' => $planejamentos
]);
}
......@@ -64,20 +69,29 @@ class ExtensaoCoordenacaoController extends Controller
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request) {
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-1')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
public function create(Request $request)
{
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoCoordenacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
if($validator->fails())
{
......@@ -118,20 +132,29 @@ class ExtensaoCoordenacaoController extends Controller
}
public function update($id, Request $request) {
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-1')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
public function update($id, Request $request)
{
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoCoordenacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
$model = ExtensaoCoordenacao::find($id);
$model->fill($request->all());
......@@ -185,19 +208,28 @@ class ExtensaoCoordenacaoController extends Controller
}
public function ajaxValidation(Request $request)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-1')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
{
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoCoordenacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoCoordenacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoCoordenacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
......
......@@ -29,6 +29,8 @@ class ExtensaoOrientacaoController extends Controller
$funcoes = Constants::listFuncaoOrientador();
$planejamentos = ExtensaoOrientacao::listPlanejamentos();
$divs = PadTables::tablesExtensao($user_pad_id);
return view('pad.components.templates.dimensao.extensao.orientacao.form_create', [
......@@ -36,6 +38,7 @@ class ExtensaoOrientacaoController extends Controller
'divs' => $divs,
'funcoes' => $funcoes,
'planejamentos' => $planejamentos,
'user_pad_id' => $user_pad_id,
'index_menu' => MenuItemsTeacher::PAD,
......@@ -46,10 +49,13 @@ class ExtensaoOrientacaoController extends Controller
$model = ExtensaoOrientacao::find($id);
$funcoes = Constants::listFuncaoOrientador();
$planejamentos = ExtensaoOrientacao::listPlanejamentos();
return view('pad.components.templates.dimensao.extensao.orientacao.form_update', [
'model' => $model,
'funcoes' => $funcoes
'funcoes' => $funcoes,
'planejamentos' => $planejamentos
]);
}
......@@ -66,18 +72,27 @@ class ExtensaoOrientacaoController extends Controller
*/
public function create(Request $request)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-2')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max, [], true);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoOrientacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
if($validator->fails())
{
......@@ -120,18 +135,27 @@ class ExtensaoOrientacaoController extends Controller
public function update($id, Request $request)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-2')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max, [], true);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoOrientacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
$model = ExtensaoOrientacao::find($id);
$model->fill($request->all());
......@@ -186,18 +210,27 @@ class ExtensaoOrientacaoController extends Controller
public function ajaxValidation(Request $request)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao('X-2')->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
if($request->cod_dimensao)
{
$planejamento = Planejamento::initQuery()->whereCodDimensao($request->cod_dimensao)->first();
$ch_min = $planejamento->ch_semanal;
$ch_max = $planejamento->ch_maxima;
$cargaHoraria = new CargaHorariaValidation($ch_min, $ch_max, [], true);
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), $cargaHoraria->rules()),
array_merge(ExtensaoOrientacao::messages(), $cargaHoraria->messages())
);
} else {
$validator = Validator::make(
$request->all(),
array_merge(ExtensaoOrientacao::rules(), CargaHorariaValidation::defaultRules()),
array_merge(ExtensaoOrientacao::messages(), CargaHorariaValidation::defaultMessages())
);
}
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
......
......@@ -26,7 +26,7 @@ class ExtensaoOutrosController extends Controller
->orderBy('cod_atividade')
->get();
$divs = PadTables::tablesEnsino($user_pad_id);
$divs = PadTables::tablesExtensao($user_pad_id);
return view('pad.components.templates.dimensao.extensao.outros.form_create', [
'atividades' => $atividades,
......
......@@ -26,7 +26,7 @@ class PesquisaOutrosController extends Controller
->orderBy('cod_atividade')
->get();
$divs = PadTables::tablesEnsino($user_pad_id);
$divs = PadTables::tablesPesquisa($user_pad_id);
return view('pad.components.templates.dimensao.pesquisa.outros.form_create', [
'atividades' => $atividades,
......
......@@ -4,11 +4,37 @@ namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\PAD;
use App\Models\Pad;
use App\Models\Tabelas\Constants;
use App\Models\Tabelas\Ensino\EnsinoAtendimentoDiscente;
use App\Models\Tabelas\Ensino\EnsinoAula;
use App\Models\Tabelas\Ensino\EnsinoCoordenacaoRegencia;
use App\Models\Tabelas\Ensino\EnsinoMembroDocente;
use App\Models\Tabelas\Ensino\EnsinoOrientacao;
use App\Models\Tabelas\Ensino\EnsinoOutros;
use App\Models\Tabelas\Ensino\EnsinoParticipacao;
use App\Models\Tabelas\Ensino\EnsinoProjeto;
use App\Models\Tabelas\Ensino\EnsinoSupervisao;
use App\Models\Tabelas\Extensao\ExtensaoCoordenacao;
use App\Models\Tabelas\Extensao\ExtensaoOrientacao;
use App\Models\Tabelas\Extensao\ExtensaoOutros;
use App\Models\Tabelas\Gestao\GestaoCoordenacaoLaboratoriosDidaticos;
use App\Models\Tabelas\Gestao\GestaoCoordenacaoProgramaInstitucional;
use App\Models\Tabelas\Gestao\GestaoMembroCamaras;
use App\Models\Tabelas\Gestao\GestaoMembroComissao;
use App\Models\Tabelas\Gestao\GestaoMembroConselho;
use App\Models\Tabelas\Gestao\GestaoMembroTitularConselho;
use App\Models\Tabelas\Gestao\GestaoOutros;
use App\Models\Tabelas\Gestao\GestaoRepresentanteUnidadeEducacao;
use App\Models\Tabelas\Pesquisa\PesquisaCoordenacao;
use App\Models\Tabelas\Pesquisa\PesquisaLideranca;
use App\Models\Tabelas\Pesquisa\PesquisaOrientacao;
use App\Models\Tabelas\Pesquisa\PesquisaOutros;
use App\Models\User;
use App\Models\UserPad;
use App\Models\UserType;
use App\Models\UserTypePad;
use App\Models\Util\Menu;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\Status;
......@@ -27,19 +53,21 @@ class PadController extends Controller
* @return \Illuminate\View\View
*/
public function index()
{
if(Auth::user()->isTypeAdmin()) {
{
if(Auth::user()->isTypeAdmin())
{
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
$pads = Pad::all();
$index_menu = MenuItemsAdmin::PADS;
return view('pad.admin.index', ['index_menu' => $index_menu, 'pads' => $pads]);
$menu = Menu::PADS;
return view('pad.admin.index', ['menu' => $menu, 'pads' => $pads]);
}
if(Auth::user()->isTypeTeacher()) {
$index_menu = MenuItemsTeacher::PAD;
$userPads = UserPad::initQuery()->whereUser(Auth::user()->id)->get();
if(Auth::user()->isTypeTeacher())
{
$menu = Menu::PADS;
$userPads = UserPad::whereUserId(Auth::user()->id)->get();
return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]);
return view('pad.teacher.index', ['menu' => $menu, 'userPads' => $userPads]);
}
}
......@@ -47,9 +75,49 @@ class PadController extends Controller
* @param integer $id
* @return \Illuminate\Http\Response
*/
public function view($id) {
$index_menu = 1;
return view('pad.teacher.view', ['user_pad_id' => $id, 'index_menu' => $index_menu]);
public function view($id)
{
$ensinoTotalHoras =
EnsinoAtendimentoDiscente::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoAula::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoCoordenacaoRegencia::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoMembroDocente::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoOrientacao::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoOutros::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoParticipacao::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoProjeto::whereUserPadId($id)->sum('ch_semanal')
+ EnsinoSupervisao::whereUserPadId($id)->sum('ch_semanal');
$gestaoTotalHoras =
GestaoCoordenacaoLaboratoriosDidaticos::whereUserPadId($id)->sum('ch_semanal')
+ GestaoCoordenacaoProgramaInstitucional::whereUserPadId($id)->sum('ch_semanal')
+ GestaoMembroCamaras::whereUserPadId($id)->sum('ch_semanal')
+ GestaoMembroComissao::whereUserPadId($id)->sum('ch_semanal')
+ GestaoMembroConselho::whereUserPadId($id)->sum('ch_semanal')
+ GestaoMembroTitularConselho::whereUserPadId($id)->sum('ch_semanal')
+ GestaoOutros::whereUserPadId($id)->sum('ch_semanal')
+ GestaoRepresentanteUnidadeEducacao::whereUserPadId($id)->sum('ch_semanal');
$pesquisaTotalHoras =
PesquisaCoordenacao::whereUserPadId($id)->sum('ch_semanal')
+ PesquisaLideranca::whereUserPadId($id)->sum('ch_semanal')
+ PesquisaOrientacao::whereUserPadId($id)->sum('ch_semanal')
+ PesquisaOutros::whereUserPadId($id)->sum('ch_semanal');
$extensaoTotalHoras =
ExtensaoCoordenacao::whereUserPadId($id)->sum('ch_semanal')
+ ExtensaoOrientacao::whereUserPadId($id)->sum('ch_semanal')
+ ExtensaoOutros::whereUserPadId($id)->sum('ch_semanal');
$menu = Menu::PADS;
return view('pad.teacher.view', [
'menu' => $menu,
'user_pad_id' => $id,
'gestaoTotalHoras' => $gestaoTotalHoras,
'ensinoTotalHoras' => $ensinoTotalHoras,
'pesquisaTotalHoras' => $pesquisaTotalHoras,
'extensaoTotalHoras' => $extensaoTotalHoras,
]);
}
/**
......@@ -59,10 +127,16 @@ class PadController extends Controller
*/
public function create()
{
$menu = Menu::PADS;
$status = [
Status::ATIVO => Status::listStatus(Status::ATIVO)
];
return view('pad.admin.create', ['status' => $status]);
return view('pad.admin.create', [
'menu' => $menu,
'status' => $status
]);
}
/**
......@@ -85,18 +159,29 @@ class PadController extends Controller
'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());
if($model->save()) {
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
if($model->save())
{
$users = User::initQuery()->whereType(UserType::TEACHER)->get();
foreach($users as $user) {
$modelUserPad = new UserPad();
$modelUserPad->user_id = $user->id;
$modelUserPad->pad_id = $model->id;
$modelUserPad->save();
foreach($users as $user)
{
$profile = $user->profile(UserType::TEACHER);
if($profile)
{
$userPad = new UserPad();
$userPad->pad_id = $model->id;
$userPad->user_id = $user->id;
$userPad->status = Status::ATIVO;
$userPad->save();
}
}
return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!');
......@@ -112,44 +197,6 @@ class PadController extends Controller
return view('pad.anexo', ['index_menu' => 1 ]);
}
// /**
// * Store a newly created resource in storage.
// *
// * @param \Illuminate\Http\Request $request
// * @return \Illuminate\Http\Response
// */
// public function store(Request $request)
// {
// $rules = [
// 'first_name' => 'required|string|min:3|max:255',
// 'city_name' => 'required|string|min:3|max:255',
// 'email' => 'required|string|email|max:255'
// ];
// $validator = Validator::make($request->all(),$rules);
// if ($validator->fails()) {
// return redirect('insert')
// ->withInput()
// ->withErrors($validator);
// }
// else{
// $data = $request->input();
// try{
// $student = new StudInsert;
// $student->first_name = $data['first_name'];
// $student->last_name = $data['last_name'];
// $student->city_name = $data['city_name'];
// $student->email = $data['email'];
// $student->save();
// return redirect('insert')->with('status',"Insert successfully");
// }
// catch(Exception $e){
// return redirect('insert')->with('failed',"operation failed");
// }
// }
// return redirect('/dashboard');
// }
/**
* Show the form for editing the specified resource.
*
......@@ -158,10 +205,17 @@ class PadController extends Controller
*/
public function edit($id)
{
$menu = Menu::PADS;
$pad = PAD::find($id);
$userPads = $pad->userPads;
$status = Constants::listStatus();
return view('pad.admin.edit', ['pad' => $pad, 'status' => $status]);
return view('pad.admin.edit', [
'pad' => $pad,
'menu' => $menu,
'status' => $status,
'userPads' => $userPads,
]);
}
/**
......
......@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\User;
use App\Models\Curso;
use App\Models\Util\Menu;
use App\Models\Util\MenuItemsAdmin;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
......@@ -15,7 +16,7 @@ class ProfessorController extends Controller
{
$professores = User::where('type', '=', User::TYPE_TEACHER)->get();
return view('professor.index', [
'index_menu' => MenuItemsAdmin::PROFESSORES,
'menu' => Menu::PADS,
'professores' => $professores
]);
}
......
......@@ -3,8 +3,8 @@
namespace App\Http\Controllers;
use App\Models\Unidade;
use App\Models\Util\Menu;
use App\Models\Util\MenuItemsAdmin;
use App\Queries\UnidadeQuery;
use Illuminate\Http\Request;
class UnidadeController extends Controller
......@@ -18,7 +18,7 @@ class UnidadeController extends Controller
{
return view('unidade.index', [
'unidades' => Unidade::all(),
'index_menu' => MenuItemsAdmin::UNIDADES
'menu' => Menu::UNIDADES,
]);
}
......@@ -31,7 +31,7 @@ class UnidadeController extends Controller
{
return view('unidade.create', [
'unidades' => Unidade::all(),
'index_menu' => MenuItemsAdmin::UNIDADES
'menu' => Menu::UNIDADES,
]);
}
......@@ -77,7 +77,7 @@ class UnidadeController extends Controller
$model = Unidade::find($id);
return view('unidade.update', [
'unidade' => $model,
'index_menu' => MenuItemsAdmin::UNIDADES
'menu' => Menu::UNIDADES,
]);
}
......@@ -120,6 +120,6 @@ class UnidadeController extends Controller
*/
public function getAll()
{
return UnidadeQuery::all();
return Unidade::all();
}
}
......@@ -2,24 +2,33 @@
namespace App\Http\Controllers;
use App\Imports\UsersImport;
use App\Models\User;
use App\Models\UserType;
use App\Models\Util\Menu;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Storage;
use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\HeadingRowImport;
use NunoMaduro\Collision\Adapters\Phpunit\State;
class UserController extends Controller
{
const MENU_UPDATE_PERFIL = 0;
public function editPerfil()
{
return view('user.update_perfil', ['index_menu' => self::MENU_UPDATE_PERFIL]);
public function editPerfil($tab = null)
{
return view('user.update_perfil', [
'tab' => $tab,
'menu' => Menu::USER,
]);
}
public function updatePerfil(Request $request)
{
{
$validator = User::validator($request->all());
if ($validator->fails()) {
......@@ -31,28 +40,179 @@ class UserController extends Controller
$user->save();
return redirect()->route('edit_perfil')->with('success', 'Salvo com sucesso!');
}
public function updatePassword(Request $request)
{
$validator = User::validatorPassword($request->all());
$validator = User::validator($request->all(), true);
if($validator->fails()) {
return redirect()->route('edit_perfil', ['tab' => 'password'])->withErrors($validator->errors());
}
if ($validator->fails()) {
return redirect()->back()->withErrors($validator->errors());
$model = User::find(Auth::user()->id);
$model->password = Hash::make($request->password);
$model->save();
return redirect()->route('edit_perfil', ['tab' => 'user'])->with('success', 'Senha salva com sucesso!');
}
public function actionIndex(Request $request)
{
$users =
User::initQuery();
$users = $users->get();
return view('users.index', [
'users' => $users,
'menu' => Menu::USERS,
]);
}
// Admin
public function actionCreate()
{
$model = new User();
return view('users.create', [
'menu' => Menu::USERS,
'model' => $model,
]);
}
public function actionStore(Request $request)
{
$validator = User::validator($request->all());
if($validator->fails()) {
return redirect()->route('user_create')->withErrors($validator)->withInput();
}
$user = User::find(Auth::user()->id);
$newData = $request->all();
$model = new User();
$model->fill($request->all());
$model->status = Status::ATIVO;
$email_splited = explode('@', $model->email);
$password = array_shift($email_splited);
$model->password = Hash::make($password);
if($model->save()) {
return redirect()->route('user_edit', ['id' => $model->id])->with('success', 'Usuário cadastrado com sucesso!');
}
if($request->all()['password'] == $request->all()['password_confirmation']){
$newData['password'] = Hash::make($request->password);
return redirect()->with('fail', 'Falha ao cadastrar Usuário!');
}
public function actionEdit(Request $request, $id)
{
$model = User::find($id);
$profiles = $model->profiles;
$status = [
Status::ATIVO => Status::listStatus(Status::ATIVO),
Status::INATIVO => Status::listStatus(Status::INATIVO)
];
if(count($profiles) <= 0) {
Session::flash('warning', 'Não existem papeis cadastrados para esse usuário!');
}
$tab_active = $request->query('tab_active') ?? 'user';
return view('users.update', [
'menu' => Menu::USERS,
'model' => $model,
'status' => $status,
'profiles' => $profiles,
'tab_active' => $tab_active
]);
}
public function actionUpdate(Request $request, $id)
{
$model = User::find($id);
$validator = User::validator($request->all(), $model->id);
if($validator->fails()) {
return redirect()->route('user_edit', ['id' => $model->id])->withErrors($validator)->withInput();
}
$model->fill($request->all());
if($model->save()) {
return redirect()->route('user_index')->with('success', 'Usuário atualizado com sucesso!');
}
return redirect()->with('fail', 'Falha ao cadastrar Usuário!');
}
public function actionDelete($id)
{
dd($id);
}
public function actionImport(Request $request)
{
$request->validate(['file' => 'required|mimes:csv,txt,xlx,xls,xlsx,pdf|max:2048']);
$user->fill($newData);
$user->save();
$file = $request->file;
$excel = Excel::toArray(new UsersImport, $file)[0];
unset($excel[0]);
$excel = array_filter($excel,
function($row) {
$email = trim($row[7]);
return strstr($email, '@');
}
);
$importCount = 0;
$duplicados = 0;
foreach($excel as $row)
{
$email = trim(strtolower($row[7]));
$userQuery = User::initQuery()->whereEmail($email)->first();
if($userQuery === null) {
$password = explode("@", $email);
$password = array_shift($password);
$user = new User();
$user->name = trim($row[1]);
$user->email = $email;
$user->password = Hash::make($password);
$user->status = Status::ATIVO;
if($user->save())
{
$userType = new UserType();
$userType->user_id = $user->id;
$userType->type = UserTYPE::TEACHER;
$userType->status = Status::ATIVO;
$userType->selected = true;
if($userType->save())
{
$importCount++;
}
}
} else {
$duplicados++;
}
}
return redirect()->route('edit_perfil')->with('success', 'Salvo com sucesso!');
return redirect()->route('user_import_view')->with('success', sprintf('Importado com Sucesso! Importados: %d | Duplicados: %d', $importCount, $duplicados));
}
public function actionImportView()
{
return view('users.importView');
}
}
\ No newline at end of file
<?php
namespace App\Http\Controllers;
use App\Models\Pad;
use App\Models\User;
use App\Models\UserPad;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
class UserPadController extends Controller
{
public function actionStore(Request $request)
{
$validator = Validator::make(
$request->all(), UserPad::rules(), UserPad::messages()
);
if($validator->fails())
{
}
$model = new UserPad();
$model->fill($request->all());
$model->save();
$pad = Pad::find($request->pad_id);
return redirect()
->route('pad_edit', ['id' => $request->pad_id])
->with('success', sprintf('Professor cadastrado no PAD(%s) com Sucesso!', $pad->nome));
}
public function actionUpdate(Request $request, $id)
{
}
public function actionDelete($id)
{
}
public function actionCreate($pad_id)
{
$pad = Pad::find($pad_id);
$model = new UserPad();
$status = Status::listStatus();
$users = User::all();
return view('user-pad.create', [
'pad' => $pad,
'model' => $model,
'users' => $users,
'status' => $status,
]);
}
public function actionEdit($id)
{
}
public function ajaxValidation(Request $request)
{
$validator = Validator::make(
$request->all(), UserPad::rules(), UserPad::messages()
);
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
}
return Response::json(['errors' => $validator->errors(), 'status' => 400]);
}
}
<?php
namespace App\Http\Controllers;
use App\Models\User;
use App\Models\UserType;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
class UserTypeController extends Controller
{
public function actionStore(Request $request)
{
$validator = Validator::make($request->all(), UserType::rules(), UserType::messages());
if($validator->fails())
{
}
$model = new UserType();
$model->fill($request->all());
$model->selected = true;
$model->save();
return redirect()
->route('user_edit', ['id' => $request->user_id, 'tab_active' => 'paper'])
->with('success', 'Papel cadastrado com Sucesso!');
}
public function actionUpdate(Request $request, $id)
{
}
public function actionDelete($id)
{
$model = UserType::find($id);
$model->delete();
return redirect()
->route('user_edit', ['id' => $model->user_id, 'tab_active' => 'paper'])
->with('success', 'Papel removido com Sucesso!');
}
public function actionCreate($user_id)
{
$model = new UserType();
$user = User::find($user_id);
$types = UserType::listType();
$status = Status::listUserTypeStatus();
return view('user-type.create', [
'user' => $user,
'model' => $model,
'types' => $types,
'status' => $status,
]);
}
public function actionEdit($id)
{
$model = UserType::find($id);
$user = $model->user;
$types = UserType::listType();
$status = Status::listUserTypeStatus();
return view('user-type.update', [
'user' => $user,
'model' => $model,
'types' => $types,
'status' => $status,
]);
}
public function ajaxValidation(Request $request)
{
$id = $request->id;
$user_id = $request->user_id;
$type = $request->type;
$validator = Validator::make(
$request->all(), UserType::rules($id, $user_id, $type), UserType::messages()
);
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
}
return Response::json(['errors' => $validator->errors(), 'status' => 400]);
}
}
......@@ -15,7 +15,7 @@ class Avaliacao extends Model
public function tarefa() {
//return $this->belongsTo(PAD::class);
//return $this->belongsTo(Pad::class);
}
public function avaliadorPad() {
......
......@@ -12,21 +12,42 @@ class Pad extends Model
{
use HasFactory;
/** @var string */
protected $table = 'pad';
/** @var array */
protected $fillable = ['id', 'nome', 'data_inicio', 'data_fim', 'status'];
/** @var array */
protected $dates = ['deleted_at'];
/**
* @return string
* */
public function statusAsString() {
return Status::listStatus($this->status);
}
/**
* @return string
*/
public function getDateInicio() {
return Carbon::parse($this->data_inicio)->format('d/m/Y');
}
/**
* @return string
*/
public function getDateFim() {
return Carbon::parse($this->data_fim)->format('d/m/Y');
}
/**
* @return Illuminate\Database\Eloquent\Collection
* @return Collection<UserPad>
*/
public function userPads() {
return $this->hasMany(UserPad::class);
}
}
......@@ -23,7 +23,7 @@ class EnsinoAula extends Model
*
* @var array
*/
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal', 'ch_total'];
protected $fillable = ['orientacao_id', 'user_pad_id', 'cod_dimensao', 'dimensao', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal', 'ch_total'];
public static function rules()
{
......
......@@ -21,7 +21,7 @@ class ExtensaoCoordenacao extends Model
*
* @var array
*/
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'programa_extensao', 'funcao', 'ch_semanal', 'atividade'];
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'programa_extensao', 'funcao', 'ch_semanal', 'atividade', 'cod_dimensao'];
// public function orientacao()
// {
......@@ -36,6 +36,7 @@ class ExtensaoCoordenacao extends Model
'programa_extensao' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listModalidade()))],
'atividade' => ['string', 'nullable'],
'cod_dimensao' => ['required', 'string', Rule::in(array_keys(self::listPlanejamentos()))],
];
}
......@@ -55,17 +56,37 @@ class ExtensaoCoordenacao extends Model
'funcao.required' => 'O campo "Função" é obrigatório!',
'funcao.in' => 'Selecione uma opção da lista de "Função"!',
'funcao.integer' => 'O campo "Função" deve ser um inteiro!',
//'cod_dimensao'
'cod_dimensao.required' => 'O campo "Resolução" é obrigatório',
'cod_dimensao.in' => 'Selecione uma opção da lista de "Resolução"',
];
}
/**
* @return array
*/
public static function getPlanejamentos() {
$codes = ['X-1'];
public static function getPlanejamentos()
{
$codes = ['X-4', 'X-5', 'X-6', 'X-7', 'X-8', 'X-9'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
/**
* @return array
*/
public static function listPlanejamentos($cod_dimensao = null)
{
$planejamentos = self::getPlanejamentos();
$values = [];
foreach($planejamentos as $planejamento) {
$values[$planejamento->cod_dimensao] = $planejamento->descricao;
}
return $cod_dimensao !== null? $values[$cod_dimensao] : $values;
}
/**
* @return string
*/
......
......@@ -21,29 +21,13 @@ class ExtensaoOrientacao extends Model
*
* @var array
*/
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'discente', 'funcao', 'ch_semanal'];
protected $fillable = ['orientacao_id', 'user_pad_id', 'dimensao', 'cod_atividade', 'titulo_projeto', 'discente', 'funcao', 'ch_semanal', 'cod_dimensao'];
// public function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
/**
* @return array
*/
public function orientacaoPreenchimento() {
return [
'descricao' => ['item' => '1.', 'descricao' => 'Ensino (Aulas em componentes curriculares)'],
'componente_curricular' => ['item' => 'Nome do Componente:', 'descricao' => 'Nome do componente curricular como descrito no PPC do curso'],
'curso' => ['item' => 'Curso:', 'descricao' => 'Nome do curso ao qual o componente curricular pertence'],
'nivel' => ['item' => 'Nível:', 'descricao' => 'Preencher o nível do curso ao qual o componente curricular pertence, sendo as opções: Graduação, Pós-graduação Stricto Sensu, Pós-Graduação Lato Sensu'],
'modalidade' => ['item' => 'Modalidade:', 'descricao' => 'Preencher a modalidade que o componente curricular é ofertado, sendo as opções: Presencial e EAD'],
'ch_semanal' => ['item' => 'Carga Horária Semanal:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do componente curricular dividida pelo número de semanas que o mesmo ocorre'],
'ch_total' => ['item' => 'Carga Horária Total:', 'descricao' => 'Carga horária total efetiva exercida pelo docente dentro do(s) componente(s) curricular (es)'],
];
}
public static function rules()
{
return [
......@@ -51,6 +35,7 @@ class ExtensaoOrientacao extends Model
'titulo_projeto' => ['required', 'string', 'max:255'],
'discente' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoOrientador()))],
'cod_dimensao' => ['required', 'string', Rule::in(array_keys(self::listPlanejamentos()))],
];
}
......@@ -70,17 +55,37 @@ class ExtensaoOrientacao extends Model
'funcao.required' => 'O campo "Função" é obrigatório!',
'funcao.in' => 'Selecione uma opção da lista de "Função"!',
'funcao.integer' => 'O campo "Função" deve ser um inteiro!',
//'cod_dimensao'
'cod_dimensao.required' => 'O campo "Resolução" é obrigatório',
'cod_dimensao.in' => 'Selecione uma opção da lista de "Resolução"',
];
}
/**
* @return array
*/
public static function getPlanejamentos() {
$codes = ['X-2'];
public static function getPlanejamentos()
{
$codes = ['X-10', 'X-11', 'X-12', 'X-13', 'X-14', 'X-15'];
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
/**
* @return array
*/
public static function listPlanejamentos($cod_dimensao = null)
{
$planejamentos = self::getPlanejamentos();
$values = [];
foreach($planejamentos as $planejamento) {
$values[$planejamento->cod_dimensao] = $planejamento->descricao;
}
return $cod_dimensao !== null? $values[$cod_dimensao] : $values;
}
/**
* @return string
......
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