Commit bbc48f36 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

Add correções parciais

parent c91c35f5
......@@ -3,6 +3,10 @@
namespace App\Http\Controllers;
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 Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
......@@ -14,13 +18,29 @@ class DashboardController extends Controller
$user = Auth::user();
if($user->isTypeAdmin()){
return view('dashboard', ['unidades' => UnidadeQuery::all(), 'unidade_index' => 1]);
}elseif ($user->isTypeTeacher()) {
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
}elseif ($user->isTypeDirector()) {
if($user->isTypeAdmin())
{
return view('dashboard',['menu_index' => MenuItemsAdmin::HOME]);
}
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]);
}elseif ($user->isTypeCoordinator()) {
}
if($user->isTypeCoordinator())
{
return view('dashboard', ['PADs' => PAD::all(), 'menu_index'=> 0]);
}
......
......@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Dimensao;
use App\Http\Controllers\Controller;
use App\Models\Tabelas\Constants;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\PadTables;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
......@@ -19,7 +20,7 @@ class EnsinoController extends Controller
*
* @return \Illuminate\Http\Response
*/
public function index() {
public function index($user_pad_id, $form_selected = null, $model_id = null) {
$user = Auth::user();
$niveis = Constants::listNivel();
......@@ -29,11 +30,12 @@ class EnsinoController extends Controller
$funcoes_ensino = Constants::listFuncao();
$naturezas = Constants::listNatureza();
$divs = PadTables::tablesEnsino();
return view('pad.dimensao.ensino', [
'pad_id' => 1,
'user_pad_id' => $user_pad_id,
'form_selected' => $form_selected,
'model_id' => $model_id,
'niveis' => $niveis,
'modalidades' => $modalidades,
'categorias' => $orientacoes,
......@@ -41,7 +43,7 @@ class EnsinoController extends Controller
'funcoes_projeto' => array_diff($funcoes_projeto, [Constants::listFuncao(Constants::FUNCAO_MEMBRO)]),
'naturezas' => $naturezas,
'divs' => $divs,
'index_menu' => self::MENU_PAD,
'index_menu' => MenuItemsTeacher::PAD,
]);
}
}
......@@ -4,8 +4,10 @@ namespace App\Http\Controllers\Dimensao\Tabelas\Ensino;
use App\Http\Controllers\Controller;
use App\Models\Tabelas\Ensino\EnsinoAula;
use App\Models\UserPad;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
class EnsinoAulaController extends Controller
{
......@@ -16,29 +18,54 @@ class EnsinoAulaController extends Controller
*/
public function create(Request $request) {
dd($request->all());
$validator = Validator::make($request->all(), EnsinoAula::rules(), EnsinoAula::messages());
$model = new EnsinoAula();
$model->fill($request->all());
$model->save();
if($validator->fails())
{
return redirect()
->route('dimensao_ensino', [
'user_pad_id' => $request->user_pad_id,
'form_selected' => 'ensino_aulas'
])
->withErrors($validator)
->withInput();
}
$user_pad_id = $request->user_pad_id;
$div_selected = 'ensino_aulas';
return redirect()->route('dimensao_ensino');
$model = new EnsinoAula($request->all());
if($model->save()) {
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 update(integer $id, Request $request) {
dd('UPDATE');
}
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);
$user_pad_id = $model->user_pad_id;
$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 search($user_pad_id = null) {
$query = EnsinoAula::initQuery();
if($user_pad_id) {
$query->whereUserPad($user_pad_id)->orderBy('cod_atividade');
}
public function getAll($pad_id = null) {
return Response::json(['message' => 'teste']);
return Response::json($query->get());
}
}
......@@ -9,6 +9,7 @@ use App\Models\Tabelas\Constants;
use App\Models\User;
use App\Models\UserPad;
use App\Models\Util\MenuItemsAdmin;
use App\Models\Util\MenuItemsTeacher;
use Database\Seeders\PadSeeder;
use Exception;
use Illuminate\Support\Facades\Auth;
......@@ -33,7 +34,7 @@ class PadController extends Controller
if(Auth::user()->isTypeTeacher()) {
$index_menu = 1;
$index_menu = MenuItemsTeacher::PAD;
$userPads = UserPad::find()->whereUser(Auth::user()->id)->get();
return view('pad.teacher.index', ['index_menu' => $index_menu, 'userPads' => $userPads]);
......@@ -46,7 +47,7 @@ class PadController extends Controller
*/
public function view($id) {
$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 @@
namespace App\Models;
use App\Queries\PlanejamentoQuery;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
......@@ -49,4 +50,8 @@ class Planejamento extends Model
return $this->listDimensao($this->dimensao);
}
public static function find() {
return new PlanejamentoQuery(get_called_class());
}
}
......@@ -4,9 +4,13 @@ namespace App\Models\Tabelas\Ensino;
use App\Models\Curso;
use App\Models\Disciplina;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Queries\PlanejamentoQuery;
use App\Queries\Tabelas\Ensino\EnsinoAulaQuery;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Validation\Rule;
class EnsinoAula extends Model
{
......@@ -24,7 +28,7 @@ class EnsinoAula extends Model
*
* @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
];
}
/*
'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
*
......@@ -58,26 +97,6 @@ class EnsinoAula extends Model
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
*
......@@ -92,8 +111,12 @@ class EnsinoAula extends Model
* @return array
*/
public function getPlanejamentos() {
$query = new PlanejamentoQuery();
return $query->whereInCodDimensao($this->codesDimensao)->get();
return Planejamento::find()->whereInCodDimensao($this->codesDimensao)->get();
}
public static function initQuery() {
return new EnsinoAulaQuery(get_called_class());
}
}
......@@ -6,14 +6,14 @@ class PadTables {
public static function tablesEnsino() {
return [
['id' => 'ensino_aulas', 'name' => 'ENSINO (AULAS EM COMPONENTES CURRICULARES)'],
['id' => 'ensino_coordenacao_disciplina', 'name' => '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_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_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_projeto', 'name' => '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_coordenacao_docente', 'name' => 'ENSINO (COORDENAÇÃO OU MEMBRO DE NÚCLEO DOCENTE ESTRUTURANTE OU NÚCLEO DOCENTE ESTRUTURANTE ASSISTENCIAL)'],
['id' => 'ensino_aulas', 'name' => '1. ENSINO (AULAS EM COMPONENTES CURRICULARES)'],
['id' => 'ensino_coordenacao_disciplina', 'name' => '2. ENSINO (COORDENAÇÃO/ REGÊNCIA COMPONENTES CURRICULARES)'],
['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' => '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' => '.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' => '6. ENSINO (PROJETOS OU AÇÕES DE ENSINO)'],
['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' => '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;
class PlanejamentoQuery extends Query {
public function __construct($init = []) {
$this->query = Planejamento::where($init);
public function __construct() {
$this->query = Planejamento::where([]);
}
/**
......
......@@ -3,21 +3,23 @@
namespace App\Queries\Tabelas\Ensino;
use App\Models\EnsinoAula;
use App\Models\Tabelas\Ensino\EnsinoAula as EnsinoEnsinoAula;
use App\Queries\CustomQuery;
use App\Queries\Query;
class EnsinoAulaQuery extends Query {
class EnsinoAulaQuery extends CustomQuery {
public function __construct($init = []) {
$this->query = EnsinoAula::where($init);
public function __construct()
{
$this->query = EnsinoEnsinoAula::where([]);
self::$instance = $this;
}
/**
* @param integer $pad_id
* @param string $expression
* @return Builder
*/
public function wherePadId(int $pad_id, string $expression = '=') {
$this->query->where('pad_id', $expression, $pad_id);
public function whereUserPad($user_pad_id, $operator = '=')
{
$this->query = $this->query->where('user_pad_id', $operator, $user_pad_id);
return self::$instance;
}
}
\ No newline at end of file
......@@ -4,13 +4,12 @@ namespace App\Queries;
use App\Models\UserPad;
class UserPadQuery {
private $query;
class UserPadQuery extends CustomQuery {
public function __construct()
{
$this->query = UserPad::where([]);
self::$instance = $this;
}
/**
......@@ -20,7 +19,7 @@ class UserPadQuery {
public function whereId($id, $expression = '=')
{
$this->query = $this->query->where('id', $expression, $id);
return $this->query;
return self::$instance;
}
/**
......@@ -30,14 +29,30 @@ class UserPadQuery {
public function whereUser($user_id, $expression = '=')
{
$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
{
Schema::create('ensino_aulas', function (Blueprint $table) {
$table->id();
$table->foreignId('pad_id')->notNull();
$table->foreignId('user_pad_id')->notNull();
$table->string('cod_atividade')->notNull();
$table->string('componente_curricular')->notNull();
$table->string('curso')->notNull();
......
......@@ -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>
<!-- 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 -->
<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 -->
<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 -->
......
......@@ -3,20 +3,24 @@
<h1 class="h2">Bem Vindo ao PAD</h1>
</div>
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3">
<h2 class="h3">
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor"
class="bi bi-exclamation-octagon-fill" viewBox="0 0 16 16">
<path
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 class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-top">
<ul class="inf-list">
<li><a href="" rel="noopener" target="_blank">Cronograma de atividades PAD 2022</a></li>
<li><a href="" rel="noopener" target="_blank">Informações sobre o processo PAD 2022</a></li>
</ul>
<h3>
<i class="bi bi-exclamation-octagon-fill"></i>
Atividades pendentes
</h3>
</div>
<div class="d-flex">
@foreach($userPads as $userPad)
<div class="card mx-2" style="width: 12rem;">
<div class="card-body">
<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>
......
<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 @@
<script type="text/javascript">
$('#get-divs').change(function(e) {
e.preventDefault();
e.preventDefault()
const self = $(this);
const self = $(this)
const divs = {!! $_divs !!}
divs.forEach((div) => {
$('#'+div.id).hide();
$('#'+div.id).hide()
})
if(self.val() !== '0') {
div = $('#'+self.val());
div.show();
div = $('#'+self.val())
div.show()
form_selected = self.val()
}
......
......@@ -50,7 +50,7 @@
</div>
<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>
\ No newline at end of file
<div id="ensino_aulas" class="">
<div id="ensino_aulas">
<div>
<div class="mb-3">
<h3 class="h3"> Ensino - Aulas </h3 class="h3">
......@@ -9,51 +9,89 @@
<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">
<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 class="mb-3 col-sm-5">
<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 class="mb-3 col-sm-5">
<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 class="mb-3 col-sm-3">
<label class="form-label" for="nivel">Nível</label>
<select class="form-select" name="nivel" id="nivel">
<option selected value="0">Selecione um Nível</option>
<select class="form-select @error('nivel') is-invalid @enderror" name="nivel" id="nivel" value="{{ old('nivel') }}">
<option value="0">Selecione um Nível</option>
@foreach($niveis as $value => $nivel)
@if( $value == old('nivel') )
<option selected value="{{$value}}">{{$nivel}}</option>
@else
<option value="{{$value}}">{{$nivel}}</option>
@endif
@endforeach
</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" name="modalidade" id="modalidade">
<option selected value="0">Selecione uma Modalidade</option>
<select class="form-select @error('modalidade') is-invalid @enderror" name="modalidade" id="modalidade" value="{{ old('modalidade') }}">
<option value="0">Selecione uma Modalidade</option>
@foreach($modalidades as $value => $modalidade)
@if( $value == old('modalidade') )
<option selected value="{{$value}}">{{$modalidade}}</option>
@else
<option value="{{$value}}">{{$modalidade}}</option>
@endif
@endforeach
</select>
@error('modalidade')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
<div class="mb-3 col-sm-2">
<label class="form-label" for="ch_total">CH. Total</label>
<input class="form-control" type="number" name="ch_total" id="ch_total">
@enderror
</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>
<input class="form-control" type="number" name="ch_semanal" id="ch_semanal">
<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 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="{{ old('ch_total') }}">
@error('ch_total')
<div class="alert alert-danger">
<span>{{$message}}</span>
</div>
@enderror
</div>
</div>
......@@ -64,8 +102,8 @@
</form>
</div>
<div class="" id="">
@include('pad.components.templates.table', ['table_id' => 'ensino_aulas-table'])
<div class="mt-4">
@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>
\ No newline at end of file
......@@ -60,7 +60,7 @@
</div>
<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>
\ 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