Commit bbc48f36 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

Add correções parciais

parent c91c35f5
...@@ -3,6 +3,10 @@ ...@@ -3,6 +3,10 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\PAD; use App\Models\PAD;
use App\Models\Tabelas\Constants;
use App\Models\UserPad;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use App\Queries\UnidadeQuery; use App\Queries\UnidadeQuery;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -14,13 +18,29 @@ class DashboardController extends Controller ...@@ -14,13 +18,29 @@ class DashboardController extends Controller
$user = Auth::user(); $user = Auth::user();
if($user->isTypeAdmin()){ if($user->isTypeAdmin())
return view('dashboard', ['unidades' => UnidadeQuery::all(), 'unidade_index' => 1]); {
}elseif ($user->isTypeTeacher()) { return view('dashboard',['menu_index' => MenuItemsAdmin::HOME]);
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]); }
}elseif ($user->isTypeDirector()) {
if($user->isTypeTeacher())
{
$userPads =
UserPad::find()
->whereUser($user->id)
->wherePadStatus(Constants::STATUS_ATIVO)
->get();
return view('dashboard', ['userPads' => $userPads, 'menu_index'=> MenuItemsTeacher::HOME]);
}
if($user->isTypeDirector())
{
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]); return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
}elseif ($user->isTypeCoordinator()) { }
if($user->isTypeCoordinator())
{
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]); return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
} }
......
...@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Dimensao; ...@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Dimensao;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Tabelas\Constants; use App\Models\Tabelas\Constants;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\PadTables; use App\Models\Util\PadTables;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -19,7 +20,7 @@ class EnsinoController extends Controller ...@@ -19,7 +20,7 @@ class EnsinoController extends Controller
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function index() { public function index($user_pad_id, $form_selected = null, $model_id = null) {
$user = Auth::user(); $user = Auth::user();
$niveis = Constants::listNivel(); $niveis = Constants::listNivel();
...@@ -28,12 +29,13 @@ class EnsinoController extends Controller ...@@ -28,12 +29,13 @@ class EnsinoController extends Controller
$funcoes_projeto = Constants::listFuncao(); $funcoes_projeto = Constants::listFuncao();
$funcoes_ensino = Constants::listFuncao(); $funcoes_ensino = Constants::listFuncao();
$naturezas = Constants::listNatureza(); $naturezas = Constants::listNatureza();
$divs = PadTables::tablesEnsino(); $divs = PadTables::tablesEnsino();
return view('pad.dimensao.ensino', [ return view('pad.dimensao.ensino', [
'pad_id' => 1, 'user_pad_id' => $user_pad_id,
'form_selected' => $form_selected,
'model_id' => $model_id,
'niveis' => $niveis, 'niveis' => $niveis,
'modalidades' => $modalidades, 'modalidades' => $modalidades,
'categorias' => $orientacoes, 'categorias' => $orientacoes,
...@@ -41,7 +43,7 @@ class EnsinoController extends Controller ...@@ -41,7 +43,7 @@ class EnsinoController extends Controller
'funcoes_projeto' => array_diff($funcoes_projeto, [Constants::listFuncao(Constants::FUNCAO_MEMBRO)]), 'funcoes_projeto' => array_diff($funcoes_projeto, [Constants::listFuncao(Constants::FUNCAO_MEMBRO)]),
'naturezas' => $naturezas, 'naturezas' => $naturezas,
'divs' => $divs, 'divs' => $divs,
'index_menu' => self::MENU_PAD, 'index_menu' => MenuItemsTeacher::PAD,
]); ]);
} }
} }
...@@ -4,8 +4,10 @@ namespace App\Http\Controllers\Dimensao\Tabelas\Ensino; ...@@ -4,8 +4,10 @@ namespace App\Http\Controllers\Dimensao\Tabelas\Ensino;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Tabelas\Ensino\EnsinoAula; use App\Models\Tabelas\Ensino\EnsinoAula;
use App\Models\UserPad;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
class EnsinoAulaController extends Controller class EnsinoAulaController extends Controller
{ {
...@@ -15,30 +17,55 @@ class EnsinoAulaController extends Controller ...@@ -15,30 +17,55 @@ class EnsinoAulaController extends Controller
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function create(Request $request) { public function create(Request $request) {
$validator = Validator::make($request->all(), EnsinoAula::rules(), EnsinoAula::messages());
dd($request->all()); if($validator->fails())
{
return redirect()
->route('dimensao_ensino', [
'user_pad_id' => $request->user_pad_id,
'form_selected' => 'ensino_aulas'
])
->withErrors($validator)
->withInput();
}
$model = new EnsinoAula(); $user_pad_id = $request->user_pad_id;
$model->fill($request->all()); $div_selected = 'ensino_aulas';
$model->save();
return redirect()->route('dimensao_ensino'); $model = new EnsinoAula($request->all());
}
public function update(integer $id, Request $request) { if($model->save()) {
dd('UPDATE'); return redirect()->route('dimensao_ensino', ['user_pad_id' => $user_pad_id, 'form_selected' => $div_selected])->with('success', 'Cadastro realizado com sucesso!');
} else {
return redirect()->route('dimensao_ensino', ['user_pad_id' => $user_pad_id, 'form_selected' => $div_selected])->with('fail', 'Erro ao cadastrar Atividade!');
}
} }
public function delete($id){ public function update($id, Request $request) {
dd('DELETE'); dd($request->id);
}
public function delete($id = null, $user_pad_id = null)
{
$model = EnsinoAula::find($id); $model = EnsinoAula::find($id);
$user_pad_id = $model->user_pad_id;
$model->delete(); $model->delete();
return redirect()->route('dimensao_ensino'); $div_selected = 'ensino_aulas';
return redirect()->route('dimensao_ensino', ['user_pad_id' => $user_pad_id, 'form_selected' => $div_selected])->with('success', 'Cadastro realizado com sucesso!');
} }
public function getAll($pad_id = null) { public function search($user_pad_id = null) {
return Response::json(['message' => 'teste']);
$query = EnsinoAula::initQuery();
if($user_pad_id) {
$query->whereUserPad($user_pad_id)->orderBy('cod_atividade');
}
return Response::json($query->get());
} }
} }
...@@ -9,6 +9,7 @@ use App\Models\Tabelas\Constants; ...@@ -9,6 +9,7 @@ use App\Models\Tabelas\Constants;
use App\Models\User; use App\Models\User;
use App\Models\UserPad; use App\Models\UserPad;
use App\Models\Util\MenuItemsAdmin; use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use Database\Seeders\PadSeeder; use Database\Seeders\PadSeeder;
use Exception; use Exception;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
...@@ -33,7 +34,7 @@ class PadController extends Controller ...@@ -33,7 +34,7 @@ class PadController extends Controller
if(Auth::user()->isTypeTeacher()) { if(Auth::user()->isTypeTeacher()) {
$index_menu = 1; $index_menu = MenuItemsTeacher::PAD;
$userPads = UserPad::find()->whereUser(Auth::user()->id)->get(); $userPads = UserPad::find()->whereUser(Auth::user()->id)->get();
return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]); return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]);
...@@ -46,7 +47,7 @@ class PadController extends Controller ...@@ -46,7 +47,7 @@ class PadController extends Controller
*/ */
public function view($id) { public function view($id) {
$index_menu = 1; $index_menu = 1;
return view('pad.teacher.view', ['id' => $id, 'index_menu' => $index_menu]); return view('pad.teacher.view', ['user_pad_id' => $id, 'index_menu' => $index_menu]);
} }
/** /**
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use App\Queries\PlanejamentoQuery;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
...@@ -49,4 +50,8 @@ class Planejamento extends Model ...@@ -49,4 +50,8 @@ class Planejamento extends Model
return $this->listDimensao($this->dimensao); return $this->listDimensao($this->dimensao);
} }
public static function find() {
return new PlanejamentoQuery(get_called_class());
}
} }
...@@ -4,9 +4,13 @@ namespace App\Models\Tabelas\Ensino; ...@@ -4,9 +4,13 @@ namespace App\Models\Tabelas\Ensino;
use App\Models\Curso; use App\Models\Curso;
use App\Models\Disciplina; use App\Models\Disciplina;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Queries\PlanejamentoQuery; use App\Queries\PlanejamentoQuery;
use App\Queries\Tabelas\Ensino\EnsinoAulaQuery;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Validation\Rule;
class EnsinoAula extends Model class EnsinoAula extends Model
{ {
...@@ -24,7 +28,7 @@ class EnsinoAula extends Model ...@@ -24,7 +28,7 @@ class EnsinoAula extends Model
* *
* @var array * @var array
*/ */
protected $fillable = ['pad_id', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal', 'ch_total']; protected $fillable = ['user_pad_id', 'cod_atividade', 'componente_curricular', 'curso', 'nivel', 'modalidade', 'ch_semanal', 'ch_total'];
/** /**
...@@ -49,6 +53,41 @@ class EnsinoAula extends Model ...@@ -49,6 +53,41 @@ class EnsinoAula extends Model
]; ];
} }
/*
'user_pad_id',
'cod_atividade',
'componente_curricular',
'curso',
'nivel',
'modalidade',
'ch_semanal',
'ch_total'
*/
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'componente_curricular' => ['required', 'string', 'max:255'],
'curso' => ['required', 'string', 'max:255'],
'nivel' => ['required', 'integer', Rule::in(array_keys(Constants::listNivel()))],
'modalidade' => ['required', 'integer', Rule::in(array_keys(Constants::listModalidade()))],
'ch_semanal' => ['required', 'integer', 'min:1'],
'ch_total' => ['required', 'integer', 'min:1'],
];
}
public static function messages()
{
return [
'required' => 'O campo ":attribute" é obrigatório!',
'integer' => 'O campo ":attribute" deve cónter um inteiro!',
'in' => 'Selecione uma opção da lista de ":attribute"!',
'ch_semanal.min' => 'Carga horária semanal miníma é de 1 Hora!',
'ch_total.min' => 'Carga horária total miníma é de 1 Hora!',
];
}
/** /**
* Get PAD with pad.id = ensino_aulas.pad_id * Get PAD with pad.id = ensino_aulas.pad_id
* *
...@@ -57,26 +96,6 @@ class EnsinoAula extends Model ...@@ -57,26 +96,6 @@ class EnsinoAula extends Model
public function pad() { public function pad() {
return $this->belongsTo(PAD::class); return $this->belongsTo(PAD::class);
} }
// /**
// * Get Curso with curso.id = ensino_aulas.curso_id
// *
// * @return Curso
// */
// public function curso()
// {
// return $this->belongsTo(Curso::class);
// }
// /**
// * Get Disciplina with diciplina.id = ensino_aulas.displina_id
// *
// * @return Disciplina
// */
// public function disciplina()
// {
// return $this->belongsTo(Disciplina::class);
// }
/** /**
* Get Disciplina with diciplina.id = ensino_aulas.displina_id * Get Disciplina with diciplina.id = ensino_aulas.displina_id
...@@ -92,8 +111,12 @@ class EnsinoAula extends Model ...@@ -92,8 +111,12 @@ class EnsinoAula extends Model
* @return array * @return array
*/ */
public function getPlanejamentos() { public function getPlanejamentos() {
$query = new PlanejamentoQuery(); return Planejamento::find()->whereInCodDimensao($this->codesDimensao)->get();
return $query->whereInCodDimensao($this->codesDimensao)->get(); }
public static function initQuery() {
return new EnsinoAulaQuery(get_called_class());
} }
} }
...@@ -6,14 +6,14 @@ class PadTables { ...@@ -6,14 +6,14 @@ class PadTables {
public static function tablesEnsino() { public static function tablesEnsino() {
return [ return [
['id' => 'ensino_aulas', 'name' => 'ENSINO (AULAS EM COMPONENTES CURRICULARES)'], ['id' => 'ensino_aulas', 'name' => '1. ENSINO (AULAS EM COMPONENTES CURRICULARES)'],
['id' => 'ensino_coordenacao_disciplina', 'name' => 'ENSINO (COORDENAÇÃO/ REGÊNCIA COMPONENTES CURRICULARES)'], ['id' => 'ensino_coordenacao_disciplina', 'name' => '2. ENSINO (COORDENAÇÃO/ REGÊNCIA COMPONENTES CURRICULARES)'],
['id' => 'ensino_orientacao', 'name' => 'ENSINO (ORIENTAÇÕES: ORIENTAÇÃO DE ESTÁGIO, ORIENTAÇÃO DE TCC, ORIENTAÇÃO DE RESIDÊNCIA, ORIENTAÇÃO DE MESTRADO E/OU ORIENTAÇÃO DE DOUTORADO. COORIENTAÇÕES: TCC, MESTRADO E/OU DOUTORADO)'], ['id' => 'ensino_orientacao', 'name' => '3. ENSINO (ORIENTAÇÕES: ORIENTAÇÃO DE ESTÁGIO, ORIENTAÇÃO DE TCC, ORIENTAÇÃO DE RESIDÊNCIA, ORIENTAÇÃO DE MESTRADO E/OU ORIENTAÇÃO DE DOUTORADO. COORIENTAÇÕES: TCC, MESTRADO E/OU DOUTORADO)'],
['id' => 'ensino_supervisao', 'name' => 'ENSINO (SUPERVISÕES: SUPERVISÃO/PRECEPTORIA DE ESTÁGIO, SUPERVISÃO DE ESTÁGIO DOCENCIA, SUPERVISÃO/TUTORIA DE RESIDÊNCIA)'], ['id' => 'ensino_supervisao', 'name' => '4. ENSINO (SUPERVISÕES: SUPERVISÃO/PRECEPTORIA DE ESTÁGIO, SUPERVISÃO DE ESTÁGIO DOCENCIA, SUPERVISÃO/TUTORIA DE RESIDÊNCIA)'],
['id' => 'ensino_atendimento_discente', 'name' => 'ENSINO – ATENDIMENTO AO DISCENTE (O DOCENTE DEVERÁ PUBLICAR NA UNIDADE OS DIAS, HORÁRIOS E LOCAIS QUE PRESTARÁ O ATENDIMENTO)'], ['id' => 'ensino_atendimento_discente', 'name' => '.5 ENSINO – ATENDIMENTO AO DISCENTE (O DOCENTE DEVERÁ PUBLICAR NA UNIDADE OS DIAS, HORÁRIOS E LOCAIS QUE PRESTARÁ O ATENDIMENTO)'],
['id' => 'ensino_projeto', 'name' => 'ENSINO (PROJETOS OU AÇÕES DE ENSINO)'], ['id' => 'ensino_projeto', 'name' => '6. ENSINO (PROJETOS OU AÇÕES DE ENSINO)'],
['id' => 'ensino_participacao', 'name' => 'ENSINO (PARTICIPAÇÃO NAS REUNIÕES DOS COLEGIADOS DE PLENO DE CURSO DE GRADUAÇÃO E PÓS-GRADUAÇÃO)'], ['id' => 'ensino_participacao', 'name' => '7. ENSINO (PARTICIPAÇÃO NAS REUNIÕES DOS COLEGIADOS DE PLENO DE CURSO DE GRADUAÇÃO E PÓS-GRADUAÇÃO)'],
['id' => 'ensino_coordenacao_docente', 'name' => 'ENSINO (COORDENAÇÃO OU MEMBRO DE NÚCLEO DOCENTE ESTRUTURANTE OU NÚCLEO DOCENTE ESTRUTURANTE ASSISTENCIAL)'], ['id' => 'ensino_coordenacao_docente', 'name' => '8. ENSINO (COORDENAÇÃO OU MEMBRO DE NÚCLEO DOCENTE ESTRUTURANTE OU NÚCLEO DOCENTE ESTRUTURANTE ASSISTENCIAL)'],
]; ];
} }
......
<?php
namespace App\Queries;
class CustomQuery
{
/** @var CustomQuery */
protected static $instance;
/** @var Builder */
public $query;
/**
* return sql from Builder
* @return string
*/
public function rawSql()
{
return $this->query->toSql();
}
public function select($statement)
{
return $this->query->select($statement);
}
public function orderBy(string $column, string $direction = 'asc')
{
return $this->query->orderBy($column, $direction);
}
public function get()
{
return $this->query->get();
}
public function first()
{
return $this->query->first();
}
}
...@@ -6,8 +6,8 @@ use App\Models\Planejamento; ...@@ -6,8 +6,8 @@ use App\Models\Planejamento;
class PlanejamentoQuery extends Query { class PlanejamentoQuery extends Query {
public function __construct($init = []) { public function __construct() {
$this->query = Planejamento::where($init); $this->query = Planejamento::where([]);
} }
/** /**
......
...@@ -3,21 +3,23 @@ ...@@ -3,21 +3,23 @@
namespace App\Queries\Tabelas\Ensino; namespace App\Queries\Tabelas\Ensino;
use App\Models\EnsinoAula; use App\Models\EnsinoAula;
use App\Models\Tabelas\Ensino\EnsinoAula as EnsinoEnsinoAula;
use App\Queries\CustomQuery;
use App\Queries\Query; use App\Queries\Query;
class EnsinoAulaQuery extends Query { class EnsinoAulaQuery extends CustomQuery {
public function __construct($init = []) { public function __construct()
$this->query = EnsinoAula::where($init); {
$this->query = EnsinoEnsinoAula::where([]);
self::$instance = $this;
} }
/** public function whereUserPad($user_pad_id, $operator = '=')
* @param integer $pad_id {
* @param string $expression $this->query = $this->query->where('user_pad_id', $operator, $user_pad_id);
* @return Builder return self::$instance;
*/
public function wherePadId(int $pad_id, string $expression = '=') {
$this->query->where('pad_id', $expression, $pad_id);
} }
} }
\ No newline at end of file
...@@ -4,13 +4,12 @@ namespace App\Queries; ...@@ -4,13 +4,12 @@ namespace App\Queries;
use App\Models\UserPad; use App\Models\UserPad;
class UserPadQuery { class UserPadQuery extends CustomQuery {
private $query;
public function __construct() public function __construct()
{ {
$this->query = UserPad::where([]); $this->query = UserPad::where([]);
self::$instance = $this;
} }
/** /**
...@@ -18,9 +17,9 @@ class UserPadQuery { ...@@ -18,9 +17,9 @@ class UserPadQuery {
* @return UserPadQuery|Builder * @return UserPadQuery|Builder
*/ */
public function whereId($id, $expression = '=') public function whereId($id, $expression = '=')
{ {
$this->query = $this->query->where('id', $expression, $id); $this->query = $this->query->where('id', $expression, $id);
return $this->query; return self::$instance;
} }
/** /**
...@@ -28,16 +27,32 @@ class UserPadQuery { ...@@ -28,16 +27,32 @@ class UserPadQuery {
* @return UserPadQuery|Builder * @return UserPadQuery|Builder
*/ */
public function whereUser($user_id, $expression = '=') public function whereUser($user_id, $expression = '=')
{ {
$this->query = $this->query->where('user_id', $expression, $user_id); $this->query = $this->query->where('user_id', $expression, $user_id);
return $this->query; return self::$instance;
} }
/** /**
* @return Builder * @param integer $pad_id
* @return UserPadQuery|Builder
*/ */
public function getQuery() public function wherePad($pad_id, $expression = '=')
{ {
return $this->query; $this->query = $this->query->where('pad_id', $expression, $pad_id);
return self::$instance;
}
/**
* @param integer $status
* @return UserPadQuery|Builder
*/
public function wherePadStatus($status, $expression = '=') {
$this->query =
$this->query
->leftJoin('pad', 'user_pad.pad_id', '=', 'pad.id')
->where('pad.status', $expression, $status);
return self::$instance;
} }
} }
\ No newline at end of file
...@@ -15,7 +15,7 @@ class CreateEnsinoAulasTable extends Migration ...@@ -15,7 +15,7 @@ class CreateEnsinoAulasTable extends Migration
{ {
Schema::create('ensino_aulas', function (Blueprint $table) { Schema::create('ensino_aulas', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('pad_id')->notNull(); $table->foreignId('user_pad_id')->notNull();
$table->string('cod_atividade')->notNull(); $table->string('cod_atividade')->notNull();
$table->string('componente_curricular')->notNull(); $table->string('componente_curricular')->notNull();
$table->string('curso')->notNull(); $table->string('curso')->notNull();
......
...@@ -5,14 +5,14 @@ ...@@ -5,14 +5,14 @@
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
<!-- Jquery --> <!-- Jquery -->
<script src="https://code.jquery.com/jquery-3.6.0.slim.js" integrity="sha256-HwWONEZrpuoh951cQD1ov2HUK5zA5DwJ1DNUXaM6FsY=" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Pooper.js --> <!-- Pooper.js -->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<!-- Font Awesome --> <!-- Font Awesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css" integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" crossorigin="anonymous"/> <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css" integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" crossorigin="anonymous"/> -->
<!-- Bootstrap Icons --> <!-- Bootstrap Icons -->
......
...@@ -3,20 +3,24 @@ ...@@ -3,20 +3,24 @@
<h1 class="h2">Bem Vindo ao PAD</h1> <h1 class="h2">Bem Vindo ao PAD</h1>
</div> </div>
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3"> <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3">
<h2 class="h3"> <h3>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor" <i class="bi bi-exclamation-octagon-fill"></i>
class="bi bi-exclamation-octagon-fill" viewBox="0 0 16 16"> Atividades pendentes
<path </h3>
d="M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z" />
</svg>
Atividades a serem realizdas
</h2>
</div> </div>
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-top"> <div class="d-flex">
<ul class="inf-list"> @foreach($userPads as $userPad)
<li><a href="" rel="noopener" target="_blank">Cronograma de atividades PAD 2022</a></li> <div class="card mx-2" style="width: 12rem;">
<li><a href="" rel="noopener" target="_blank">Informações sobre o processo PAD 2022</a></li> <div class="card-body">
</ul>
<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->getStatusAsText() }} </h4>
<a class="stretched-link" href="{{ route('pad_view', ['id' => $userPad->id]) }}"></a>
</div>
</div>
@endforeach
</div> </div>
</div> </div>
......
<script type="text/javascript">
const alpha = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
const niveis = new Map()
niveis.set(1, 'Graduação')
niveis.set(2, 'Pós-graduação Stricto Sensu')
niveis.set(3, 'Pós-Graduação Lato Sensu')
const modalidades = new Map()
modalidades.set(1, 'EAD')
modalidades.set(2, 'Presencial')
function nivel_select_options(nivel) {
let options = '';
niveis.forEach((value, index) => {
if(nivel == index) {
options = options + `<option selected value="${index}"> ${value} </option>`
} else {
options = options + `<option value="${index}"> ${value} </option>`
}
})
return options;
}
function modalidade_select_options(modalidade) {
let options = '';
modalidades.forEach((value, index) => {
if(modalidade == index) {
options = options + `<option selected value="${index}"> ${value} </option>`
} else {
options = options + `<option value="${index}"> ${value} </option>`
}
})
return options;
}
</script>
\ No newline at end of file
<script type="text/javascript">
$('#get-divs').change(function(e) {
e.preventDefault()
const self = $(this)
const cod_atividade = "1-"
const user_pad_id = "{{ $user_pad_id }}"
const field_cod_atividade = $('#ensino_aulas-form input[name=cod_atividade]')
const route_ensino_aula_search = "{{ route('ensino_aula_search') }}"
const route_ensino_aula_delete = "{{ route('ensino_aula_delete') }}"
const route_ensino_aula_update = "{{ route('ensino_aula_update') }}"
$('#ensino_aulas-table > tbody').empty()
if(self.val() === 'ensino_aulas') {
$.ajax({
type: 'GET',
url: route_ensino_aula_search + '/' + user_pad_id
}).done(function(data, status) {
if(!$('#ensino_aulas-form input[name=model_id]').val())
{
let alpha_aulas = data.map((item) => {
return item.cod_atividade.split('-').pop();
})
let new_alpha_aulas = alpha.filter((item) => !alpha_aulas.includes(item))
field_cod_atividade.val(cod_atividade+new_alpha_aulas.shift())
data.forEach((item) => {
$('#ensino_aulas-table > tbody').append(
`<tr>
<td> ${item.cod_atividade} </td>
<td> ${item.componente_curricular} </td>
<td> ${item.curso} </td>
<td> ${niveis.get(item.nivel)} </td>
<td> ${modalidades.get(item.modalidade)} </td>
<td> ${item.ch_semanal} </td>
<td> ${item.ch_total} </td>
<td>
<div class="edit_ensino_aula">
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#modal_ensino_aula_edit-${item.id}">
<i class="bi bi-pencil-square"></i>
</button>
<!-- Modal -->
<div class="modal fade" id="modal_ensino_aula_edit-${item.id}" tabindex="-1" aria-labelledby="modal_ensino_aula_edit_label-${item.id}" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modal_ensino_aula_edit_label_title-${item.id}">Atualizar</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="${route_ensino_aula_update}" method="post" id="ensino_aulas_update_${item.id}-form" class="">
@csrf
<div class="row">
<input type="hidden" id="id" name="id" value="${item.id}">
<input type="hidden" name="user_pad_id" value="${item.user_pad_id}">
<div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control @error('cod_atividade') is-invalid @enderror" type="text" name="cod_atividade" id="cod_atividade" value=${item.cod_atividade} readonly>
</div>
<div class="mb-3 col-sm-5">
<label class="form-label" for="componente_curricular">Componente Curricular</label>
<input class="form-control @error('componente_curricular') is-invalid @enderror" type="text" name="componente_curricular" id="componente_curricular" value="${item.componente_curricular}">
@error('componente_curricular')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
<div class="mb-3 col-sm-5">
<label class="form-label" for="curso">Curso</label>
<input class="form-control @error('curso') is-invalid @enderror" type="text" name="curso" id="curso" value="${item.curso}">
@error('curso')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
<div class="mb-3 col-sm-3">
<label class="form-label" for="nivel">Nível</label>
<select class="form-select @error('nivel') is-invalid @enderror" name="nivel" id="nivel">
${nivel_select_options(item.nivel)}
</select>
@error('nivel')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
<div class="mb-3 col-sm-3">
<label class="form-label" for="modalidade">Modalidade</label>
<select class="form-select @error('modalidade') is-invalid @enderror" name="modalidade" id="modalidade">
${modalidade_select_options(item.modalidade)}
</select>
@error('modalidade')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
<div class="mb-3 col-sm-3">
<label class="form-label" for="ch_semanal">CH. Semanal</label>
<input class="form-control @error('ch_semanal') is-invalid @enderror" type="number" name="ch_semanal" id="ch_semanal" value="${item.ch_semanal}">
@error('ch_semanal')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
<div class="mb-3 col-sm-3">
<label class="form-label" for="ch_total">CH. Total</label>
<input class="form-control @error('ch_total') is-invalid @enderror" type="number" name="ch_total" id="ch_total" value="${item.ch_total}">
@error('ch_total')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-success rounded">Atualizar</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="delete_ensino_aula">
<!-- Button trigger modal -->
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#modal_ensino_aula_delete-${item.id}">
<i class="bi bi-trash"></i>
</button>
<!-- Modal -->
<div class="modal fade" id="modal_ensino_aula_delete-${item.id}" tabindex="-1" aria-labelledby="modal_ensino_aula_delete_label-${item.id}" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modal_ensino_aula_delete_label_title-${item.id}">Excluir Item</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
Você tem certeza que deseja excluir o item "${item.cod_atividade+' : '+item.componente_curricular}"?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
<form action="${route_ensino_aula_delete+'/'+item.id}" method="post">
@method('DELETE')
@csrf
<button id="btn-ok" type="submit" class="btn btn-primary">OK</button>
</form>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>`
)
})
} else {
}
}).fail(function(message, status) {
})
}
}).change();
</script>
\ No newline at end of file
...@@ -14,18 +14,19 @@ ...@@ -14,18 +14,19 @@
<script type="text/javascript"> <script type="text/javascript">
$('#get-divs').change(function(e) { $('#get-divs').change(function(e) {
e.preventDefault(); e.preventDefault()
const self = $(this); const self = $(this)
const divs = {!! $_divs !!} const divs = {!! $_divs !!}
divs.forEach((div) => { divs.forEach((div) => {
$('#'+div.id).hide(); $('#'+div.id).hide()
}) })
if(self.val() !== '0') { if(self.val() !== '0') {
div = $('#'+self.val()); div = $('#'+self.val())
div.show(); div.show()
form_selected = self.val()
} }
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
</div> </div>
<div class="" id=""> <div class="" id="">
@include('pad.components.templates.table', ['table_id' => 'ensino_atendimento_discente-table']) @include('pad.components.templates.table', ['table_id' => 'ensino_atendimento_discente-table', 'colunas' => ['Cód', ]])
</div> </div>
</div> </div>
\ No newline at end of file
<div id="ensino_aulas" class=""> <div id="ensino_aulas">
<div> <div>
<div class="mb-3"> <div class="mb-3">
<h3 class="h3"> Ensino - Aulas </h3 class="h3"> <h3 class="h3"> Ensino - Aulas </h3 class="h3">
</div> </div>
<form action="{{route('ensino_aula_create')}}" method="post" id="ensino_aulas-form" class=""> <form action="{{route('ensino_aula_create')}}" method="post" id="ensino_aulas-form" class="">
@csrf @csrf
<div class="row"> <div class="row">
<input type="hidden" name="pad_id" value={{1}}> <input type="hidden" name="user_pad_id" value="{{$user_pad_id}}">
<div class="mb-3 col-sm-2"> <div class="mb-3 col-sm-2">
<label class="form-label" for="cod_atividade">Cód. Atividade</label> <label class="form-label" for="cod_atividade">Cód. Atividade</label>
<input class="form-control" type="text" name="cod_atividade" id="cod_atividade" disabled readonly> <input class="form-control @error('cod_atividade') is-invalid @enderror" type="text" name="cod_atividade" id="cod_atividade" readonly>
</div> </div>
<div class="mb-3 col-sm-5"> <div class="mb-3 col-sm-5">
<label class="form-label" for="componente_curricular">Componente Curricular</label> <label class="form-label" for="componente_curricular">Componente Curricular</label>
<input class="form-control" type="text" name="componente_curricular" id="componente_curricular"> <input class="form-control @error('componente_curricular') is-invalid @enderror" type="text" name="componente_curricular" id="componente_curricular" value="{{ old('componente_curricular') }}">
@error('componente_curricular')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
<div class="mb-3 col-sm-5"> <div class="mb-3 col-sm-5">
<label class="form-label" for="curso">Curso</label> <label class="form-label" for="curso">Curso</label>
<input class="form-control" type="text" name="curso" id="curso"> <input class="form-control @error('curso') is-invalid @enderror" type="text" name="curso" id="curso" value="{{ old('curso') }}">
@error('curso')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
<div class="mb-3 col-sm-3"> <div class="mb-3 col-sm-3">
<label class="form-label" for="nivel">Nível</label> <label class="form-label" for="nivel">Nível</label>
<select class="form-select" name="nivel" id="nivel"> <select class="form-select @error('nivel') is-invalid @enderror" name="nivel" id="nivel" value="{{ old('nivel') }}">
<option selected value="0">Selecione um Nível</option> <option value="0">Selecione um Nível</option>
@foreach($niveis as $value => $nivel) @foreach($niveis as $value => $nivel)
<option value="{{$value}}">{{$nivel}}</option> @if( $value == old('nivel') )
<option selected value="{{$value}}">{{$nivel}}</option>
@else
<option value="{{$value}}">{{$nivel}}</option>
@endif
@endforeach @endforeach
</select> </select>
@error('nivel')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
<div class="mb-3 col-sm-3"> <div class="mb-3 col-sm-3">
<label class="form-label" for="modalidade">Modalidade</label> <label class="form-label" for="modalidade">Modalidade</label>
<select class="form-select" name="modalidade" id="modalidade"> <select class="form-select @error('modalidade') is-invalid @enderror" name="modalidade" id="modalidade" value="{{ old('modalidade') }}">
<option selected value="0">Selecione uma Modalidade</option> <option value="0">Selecione uma Modalidade</option>
@foreach($modalidades as $value => $modalidade) @foreach($modalidades as $value => $modalidade)
<option value="{{$value}}">{{$modalidade}}</option> @if( $value == old('modalidade') )
<option selected value="{{$value}}">{{$modalidade}}</option>
@else
<option value="{{$value}}">{{$modalidade}}</option>
@endif
@endforeach @endforeach
</select> </select>
@error('modalidade')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
<div class="mb-3 col-sm-2"> <div class="mb-3 col-sm-3">
<label class="form-label" for="ch_total">CH. Total</label> <label class="form-label" for="ch_semanal">CH. Semanal</label>
<input class="form-control" type="number" name="ch_total" id="ch_total"> <input class="form-control @error('ch_semanal') is-invalid @enderror" type="number" name="ch_semanal" id="ch_semanal" value="{{ old('ch_semanal') }}">
@error('ch_semanal')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
<div class="mb-3 col-sm-2"> <div class="mb-3 col-sm-3">
<label class="form-label" for="ch_semanal">CH. Semanal</label> <label class="form-label" for="ch_total">CH. Total</label>
<input class="form-control" type="number" name="ch_semanal" id="ch_semanal"> <input class="form-control @error('ch_total') is-invalid @enderror" type="number" name="ch_total" id="ch_total" value="{{ old('ch_total') }}">
@error('ch_total')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div> </div>
</div> </div>
...@@ -64,8 +102,8 @@ ...@@ -64,8 +102,8 @@
</form> </form>
</div> </div>
<div class="" id=""> <div class="mt-4">
@include('pad.components.templates.table', ['table_id' => 'ensino_aulas-table']) @include('pad.components.templates.table', ['table_id' => 'ensino_aulas-table', 'colunas' => ['Cód', 'Componente Curricular', 'Curso', 'Nível', 'Modalidade', 'CH Semanal', 'CH Total', 'Opções']])
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
</div> </div>
<div class="" id=""> <div class="" id="">
@include('pad.components.templates.table', ['table_id' => 'ensino_coordenacao_disciplina-table']) @include('pad.components.templates.table', ['table_id' => 'ensino_coordenacao_disciplina-table', 'colunas' => ['Cód', ]])
</div> </div>
</div> </div>
\ No newline at end of file
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