Commit b4dac3c0 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

add cruds de extensao

parent 502fc4f5
......@@ -3,7 +3,14 @@
namespace App\Http\Controllers\Dimensao\Tabelas\Extensao;
use App\Http\Controllers\Controller;
use App\Models\Avaliacao;
use App\Models\Tabelas\Constants;
use App\Models\Tabelas\Extensao\ExtensaoCoordenacao;
use App\Models\Util\Avaliacao as UtilAvaliacao;
use App\Models\Util\Dimensao;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\PadTables;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
......@@ -11,32 +18,156 @@ use Illuminate\Support\Facades\Validator;
class ExtensaoCoordenacaoController extends Controller
{
public function index($user_pad_id)
{
return $user_pad_id;
{
$atividades =
ExtensaoCoordenacao::initQuery()
->whereUserPad($user_pad_id)
->orderBy('cod_atividade')
->get();
$funcoes = Constants::listFuncaoProjeto();
$divs = PadTables::tablesExtensao($user_pad_id);
return view('pad.components.templates.dimensao.extensao.coordenacao.form_create', [
'atividades' => $atividades,
'divs' => $divs,
'funcoes' => $funcoes,
'user_pad_id' => $user_pad_id,
'index_menu' => MenuItemsTeacher::PAD,
]);
}
public function create(Request $request)
{
public function edit($id) {
$model = ExtensaoCoordenacao::find($id);
$funcoes = Constants::listFuncaoProjeto();
return view('pad.components.templates.dimensao.extensao.coordenacao.form_update', [
'model' => $model,
'funcoes' => $funcoes
]);
}
public function update($id, Request $request)
{
public function viewResolucao()
{
$resolucoes = ExtensaoCoordenacao::getPlanejamentos();
return view('pad.components.templates.resolucao', ['resolucoes' => $resolucoes]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request) {
$validator = Validator::make($request->all(), ExtensaoCoordenacao::rules(), ExtensaoCoordenacao::messages());
if($validator->fails())
{
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $request->user_pad_id,])
->withErrors($validator)
->withInput();
}
$user_pad_id = $request->user_pad_id;
$model = new ExtensaoCoordenacao($request->all());
$model->dimensao = Dimensao::EXTENSAO;
if($model->save())
{
$avaliacao = new Avaliacao([
'tarefa_id' => $model->id,
'type' => UtilAvaliacao::EXTENSAO_COORDENACAO,
'status' => Status::PENDENTE,
]);
if(!$avaliacao->save())
{
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao cadastrar Atividade!');
}
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Cadastro realizado com sucesso!');
} else {
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao cadastrar Atividade!');
}
}
public function update($id, Request $request) {
public function ajaxValidation(Request $request)
{
$validator = Validator::make($request->all(), ExtensaoCoordenacao::rules(), ExtensaoCoordenacao::messages());
$model = ExtensaoCoordenacao::find($id);
$model->fill($request->all());
$user_pad_id = $model->user_pad_id;
if($validator->fails())
{
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao atualizar Atividade!');
}
if($model->save()) {
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Atualizado com sucesso!');
} else {
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao atualizar a Atividade!');
}
}
public function delete($id)
{
$model = ExtensaoCoordenacao::find($id);
$user_pad_id = $model->user_pad_id;
if($model->delete()) {
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Atividade removida com Sucesso!');
} else {
return redirect()
->route('extensao_coordenacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao remover atividade!');
}
}
public function search($user_pad_id = null)
{
public function search($user_pad_id = null) {
$query = ExtensaoCoordenacao::initQuery();
if($user_pad_id) {
$query->whereUserPad($user_pad_id)->orderBy('cod_atividade');
}
return Response::json($query->get());
}
public function edit($id)
{
public function ajaxValidation(Request $request)
{
$validator = Validator::make($request->all(), ExtensaoCoordenacao::rules(), ExtensaoCoordenacao::messages());
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
}
return Response::json(['errors' => $validator->errors(), 'status' => 400]);
}
}
\ No newline at end of file
......@@ -3,7 +3,14 @@
namespace App\Http\Controllers\Dimensao\Tabelas\Extensao;
use App\Http\Controllers\Controller;
use App\Models\Avaliacao;
use App\Models\Tabelas\Constants;
use App\Models\Tabelas\Extensao\ExtensaoOrientacao;
use App\Models\Util\Avaliacao as UtilAvaliacao;
use App\Models\Util\Dimensao;
use App\Models\Util\MenuItemsTeacher;
use App\Models\Util\PadTables;
use App\Models\Util\Status;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Validator;
......@@ -11,32 +18,156 @@ use Illuminate\Support\Facades\Validator;
class ExtensaoOrientacaoController extends Controller
{
public function index($user_pad_id)
{
return $user_pad_id;
{
$atividades =
ExtensaoOrientacao::initQuery()
->whereUserPad($user_pad_id)
->orderBy('cod_atividade')
->get();
$funcoes = Constants::listFuncaoOrientador();
$divs = PadTables::tablesExtensao($user_pad_id);
return view('pad.components.templates.dimensao.extensao.orientacao.form_create', [
'atividades' => $atividades,
'divs' => $divs,
'funcoes' => $funcoes,
'user_pad_id' => $user_pad_id,
'index_menu' => MenuItemsTeacher::PAD,
]);
}
public function create(Request $request)
{
public function edit($id) {
$model = ExtensaoOrientacao::find($id);
$funcoes = Constants::listFuncaoOrientador();
return view('pad.components.templates.dimensao.extensao.orientacao.form_update', [
'model' => $model,
'funcoes' => $funcoes
]);
}
public function update($id, Request $request)
{
public function viewResolucao()
{
$resolucoes = ExtensaoOrientacao::getPlanejamentos();
return view('pad.components.templates.resolucao', ['resolucoes' => $resolucoes]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request) {
$validator = Validator::make($request->all(), ExtensaoOrientacao::rules(), ExtensaoOrientacao::messages());
if($validator->fails())
{
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $request->user_pad_id,])
->withErrors($validator)
->withInput();
}
$user_pad_id = $request->user_pad_id;
$model = new ExtensaoOrientacao($request->all());
$model->dimensao = Dimensao::EXTENSAO;
if($model->save())
{
$avaliacao = new Avaliacao([
'tarefa_id' => $model->id,
'type' => UtilAvaliacao::EXTENSAO_ORIENTACAO,
'status' => Status::PENDENTE,
]);
if(!$avaliacao->save())
{
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao cadastrar Atividade!');
}
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Cadastro realizado com sucesso!');
} else {
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao cadastrar Atividade!');
}
}
public function update($id, Request $request) {
public function ajaxValidation(Request $request)
{
$validator = Validator::make($request->all(), ExtensaoOrientacao::rules(), ExtensaoOrientacao::messages());
$model = ExtensaoOrientacao::find($id);
$model->fill($request->all());
$user_pad_id = $model->user_pad_id;
if($validator->fails())
{
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao atualizar Atividade!');
}
if($model->save()) {
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Atualizado com sucesso!');
} else {
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao atualizar a Atividade!');
}
}
public function delete($id)
{
$model = ExtensaoOrientacao::find($id);
$user_pad_id = $model->user_pad_id;
if($model->delete()) {
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('success', 'Atividade removida com Sucesso!');
} else {
return redirect()
->route('extensao_orientacao_index', ['user_pad_id' => $user_pad_id])
->with('fail', 'Erro ao remover atividade!');
}
}
public function search($user_pad_id = null)
{
public function search($user_pad_id = null) {
$query = ExtensaoOrientacao::initQuery();
if($user_pad_id) {
$query->whereUserPad($user_pad_id)->orderBy('cod_atividade');
}
return Response::json($query->get());
}
public function edit($id)
{
public function ajaxValidation(Request $request)
{
$validator = Validator::make($request->all(), ExtensaoOrientacao::rules(), ExtensaoOrientacao::messages());
if($validator->passes()) {
return Response::json(['message' => true, 'status' => 200]);
}
return Response::json(['errors' => $validator->errors(), 'status' => 400]);
}
}
\ No newline at end of file
......@@ -3,8 +3,11 @@
namespace App\Models\Tabelas\Extensao;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Queries\Tabelas\Extensao\ExtensaoCoordenacaoQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Validation\Rule;
use PHPUnit\TextUI\XmlConfiguration\Constant;
class ExtensaoCoordenacao extends Model
{
......@@ -19,35 +22,32 @@ class ExtensaoCoordenacao extends Model
*
* @var array
*/
protected $fillable = ['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'];
/**
* @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 function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'titulo_projeto' => ['required', 'string', 'max:255'],
'programa_extensao' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listModalidade()))],
'ch_semanal' => ['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!',
];
}
......@@ -59,6 +59,14 @@ class ExtensaoCoordenacao extends Model
return Planejamento::initQuery()->whereInCodDimensao($codes)->get();
}
/**
* @return string
*/
public function funcaoAsString()
{
return Constants::listFuncaoProjeto($this->funcao);
}
public static function initQuery()
{
......
......@@ -3,8 +3,10 @@
namespace App\Models\Tabelas\Extensao;
use App\Models\Planejamento;
use App\Models\Tabelas\Constants;
use App\Queries\Tabelas\Extensao\ExtensaoOrientacaoQuery;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Validation\Rule;
class ExtensaoOrientacao extends Model
{
......@@ -19,7 +21,12 @@ class ExtensaoOrientacao extends Model
*
* @var array
*/
protected $fillable = ['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'];
// public function orientacao()
// {
// return $this->hasOne(Orientacao::class);
// }
/**
* @return array
......@@ -40,14 +47,21 @@ class ExtensaoOrientacao extends Model
public static function rules()
{
return [
'cod_atividade' => ['required', 'string', 'max:255'],
'titulo_projeto' => ['required', 'string', 'max:255'],
'discente' => ['required', 'string', 'max:255'],
'funcao' => ['required', 'integer', Rule::in(array_keys(Constants::listFuncaoOrientador()))],
'ch_semanal' => ['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!',
];
}
......@@ -60,6 +74,15 @@ class ExtensaoOrientacao extends Model
}
/**
* @return string
*/
public function funcaoAsString()
{
return Constants::listFuncaoOrientador($this->funcao);
}
public static function initQuery()
{
return new ExtensaoOrientacaoQuery(get_called_class());
......
......@@ -13,5 +13,12 @@ class Avaliacao
const ENSINO_PROJETO = 6;
const ENSINO_PARTICIPACAO = 7;
const ENSINO_MEMBRO_DOCENTE = 8;
const PESQUISA_COORDENACAO = 9;
const PESQUISA_ORIENTACAO = 10;
const PESQUISA_LIDERANCA = 11;
const EXTENSAO_COORDENACAO = 12;
const EXTENSAO_ORIENTACAO = 13;
}
\ No newline at end of file
......@@ -22,7 +22,7 @@ class CreateExtensaoCoordenacaoTable extends Migration
$table->string('programa_extensao')->notNull();
$table->tinyInteger('funcao')->notNull();
$table->integer('ch_semanal')->notNull();
$table->text('atividade')->notNull();
$table->text('atividade')->nullable();
$table->timestamps();
$table->softDeletes();
});
......
@extends('layouts.main')
@section('title', 'Extensão')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
<div class="container">
@include('pad.components.templates.dropdown-eixo', ['divs' => $divs])
@include('components.alerts')
<div id="coordenacao_extensao">
<div>
<div class="mb-3">
<h3 class="h3"> Extensão - Coordenação </h3 class="h3">
@include('components.buttons.btn-show-resolucao', [
'content' => 'Resolução',
'btn_class' => 'show_resolucao',
])
</div>
<form action="{{route('extensao_coordenacao_create')}}" method="post" id="extensao_coordenacao-form" class="">
@csrf
<div class="row">
<input type="hidden" id="user_pad_id" 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 @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" readonly>
</div>
<div class="mb-3 col-sm-6">
<label class="form-label" for="programa_extensao">Programa de Extensão</label>
<input class="form-control @error('programa_extensao') is-invalid @enderror ajax-errors" type="text" name="programa_extensao" id="programa_extensao" value="{{ old('programa_extensao') }}">
@include('components.divs.errors', [
'field' => 'programa_extensao_create'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="funcao">Função</label>
<select class="form-select @error('funcao') is-invalid @enderror ajax-errors" name="funcao" id="funcao" value="{{ old('funcao') }}">
<option value="0">Selecione uma Função</option>
@foreach($funcoes as $value => $funcao)
@if( $value == old('funcao') )
<option selected value="{{$value}}">{{$funcao}}</option>
@else
<option value="{{$value}}">{{$funcao}}</option>
@endif
@endforeach
</select>
@include('components.divs.errors', [
'field' => 'funcao_create'
])
</div>
<div class="mb-3 col-sm-9">
<label class="form-label" for="titulo_projeto">Título do Projeto</label>
<input class="form-control @error('titulo_projeto') is-invalid @enderror ajax-errors" type="text" name="titulo_projeto" id="titulo_projeto" value="{{ old('titulo_projeto') }}">
@include('components.divs.errors', [
'field' => 'titulo_projeto_create',
])
</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 ajax-errors" type="number" name="ch_semanal" id="ch_semanal" value="{{ old('ch_semanal') }}">
@include('components.divs.errors', [
'field' => 'ch_semanal_create'
])
</div>
<div class="mb-3 col-">
<div class="form-group">
<textarea class="form-control @error('atividade') is-invalid @enderror ajax-errors" name="atividade" id="atividade" cols="30" rows="5" placeholder="Atividade: Informar/descrever a(s) atividade(s) desenvolvida(s)"></textarea>
</div>
@include('components.divs.errors', [
'field' => 'atividade_create'
])
</div>
</div>
<div class="mt-1 text-end">
@include('components.buttons.btn-save', [
'content' => 'Cadastrar',
'id' => 'btn-submit_extensao_coordenacao'
])
</div>
</form>
</div>
<div class="border rounded px-4 mt-4">
<table class="table table-hover" id="coordenacao_extensao-table">
<thead>
<tr>
<!-- <th scole="col">#</th> -->
<th scope="col"> Cód </th>
<th scope="col"> Programa de Extensão </th>
<th scope="col"> Título do Projeto </th>
<th scope="col"> Função </th>
<th scope="col"> CH Semanal </th>
<th scope="col"> Opções </th>
</tr>
</thead>
<tbody>
@foreach($atividades as $atividade)
<tr>
<td>{{ $atividade->cod_atividade }}</td>
<td>{{ $atividade->programa_extensao }}</td>
<td>{{ $atividade->titulo_projeto }}</td>
<td>{{ $atividade->funcaoAsString() }}</td>
<td>{{ $atividade->ch_semanal }}</td>
<td>
@include('components.buttons.btn-edit-task', [
'btn_class' => 'btn-edit_extensao_coordenacao',
'btn_id' => $atividade->id,
])
@include('components.buttons.btn-delete', [
'id' => $atividade->id,
'route' => route('extensao_coordenacao_delete', ['id' => $atividade->id])
])
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@include('components.modal', [
'size' => 'modal-lg',
'header' => 'Extensão - Coordenação',
])
</div>
@endsection
@section('scripts')
@include('pad.components.scripts.dropdown-eixo', ['divs' => $divs])
@include('pad.components.scripts.cod_atividade', [
'cod_atividade' => '1-',
'form_id' => 'extensao_coordenacao-form',
'div_selected' => 'extensao_coordenacao',
'route' => route('extensao_coordenacao_search'),
])
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_extensao_coordenacao',
'form_id' => 'extensao_coordenacao-form',
'form_type' => 'create',
'route' => route('extensao_coordenacao_validate'),
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_extensao_coordenacao_update'),
'btn_class' => 'btn-edit_extensao_coordenacao',
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_extensao_coordenacao_resolucao'),
'btn_class' => 'show_resolucao',
])
@endsection
<div id="extensao_coordenacao">
<div>
<div class="mb-3">
<h3 class="h3"> Extenão - Coordenação </h3 class="h3">
</div>
<form action="{{route('extensao_coordenacao_update', ['id' => $model->id])}}" method="post" id="extensao_coordenacao_update-form" class="">
@csrf
<div class="row">
<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 ajax-errors" type="text" name="cod_atividade" id="cod_atividade" value="{{$model->cod_atividade}}" readonly>
</div>
<div class="mb-3 col-sm-6">
<label class="form-label" for="programa_extensao">Programa de Extensão</label>
<input class="form-control @error('programa_extensao') is-invalid @enderror ajax-errors" type="text" name="programa_extensao" id="programa_extensao" value="{{ $model->programa_extensao }}">
@include('components.divs.errors', [
'field' => 'programa_extensao_update'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="funcao">Função</label>
<select class="form-select @error('funcao') is-invalid @enderror ajax-errors" name="funcao" id="funcao">
<option value="0">Selecione uma Função</option>
@foreach($funcoes as $value => $funcao)
@if( $value == $model->funcao )
<option selected value="{{$value}}">{{$funcao}}</option>
@else
<option value="{{$value}}">{{$funcao}}</option>
@endif
@endforeach
</select>
@include('components.divs.errors', [
'field' => 'funcao_update'
])
</div>
<div class="mb-3 col-sm-9">
<label class="form-label" for="titulo_projeto">Título do Projeto</label>
<input class="form-control @error('titulo_projeto') is-invalid @enderror ajax-errors" type="text" name="titulo_projeto" id="titulo_projeto" value="{{ $model->titulo_projeto }}">
@include('components.divs.errors', [
'field' => 'titulo_projeto_update'
])
</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 ajax-errors" type="number" name="ch_semanal" id="ch_semanal" value="{{ $model->ch_semanal }}">
@include('components.divs.errors', [
'field' => 'ch_semanal_update'
])
</div>
<div class="mb-3 col-">
<div class="form-group">
<textarea class="form-control @error('atividade') is-invalid @enderror ajax-errors" name="atividade" id="atividade" cols="30" rows="5" value="{{ $model->atividade }}" placeholder="Atividade: Informar/descrever a(s) atividade(s) desenvolvida(s)"></textarea>
</div>
@include('components.divs.errors', [
'field' => 'atividade_update'
])
</div>
</div>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-close_modal')
@include('components.buttons.btn-save', [
'id' => 'btn-submit_extensao_coordenacao-update',
'content' => 'Atualizar',
])
</div>
</div>
</form>
</div>
</div>
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_extensao_coordenacao-update',
'form_id' => 'extensao_coordenacao_update-form',
'form_type' => 'update',
'route' => route('extensao_coordenacao_validate'),
])
\ No newline at end of file
@extends('layouts.main')
@section('title', 'Extensão')
@section('header')
@include('layouts.header', [
'user' => Auth::user(),
])
@endsection
@section('nav')
@include('layouts.navigation', [
'index_menu' => $index_menu,
])
@endsection
@section('body')
<div class="container">
@include('pad.components.templates.dropdown-eixo', ['divs' => $divs])
@include('components.alerts')
<div id="coordenacao_extensao">
<div>
<div class="mb-3">
<h3 class="h3"> Extensão - Orientação </h3 class="h3">
@include('components.buttons.btn-show-resolucao', [
'content' => 'Resolução',
'btn_class' => 'show_resolucao',
])
</div>
<form action="{{route('extensao_orientacao_create')}}" method="post" id="extensao_orientacao-form" class="">
@csrf
<div class="row">
<input type="hidden" id="user_pad_id" 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 @error('cod_atividade') is-invalid @enderror ajax-errors" type="text" name="cod_atividade" id="cod_atividade" readonly>
</div>
<div class="mb-3 col-sm-6">
<label class="form-label" for="titulo_projeto">Título do Projeto</label>
<input class="form-control @error('titulo_projeto') is-invalid @enderror ajax-errors" type="text" name="titulo_projeto" id="titulo_projeto" value="{{ old('titulo_projeto') }}">
@include('components.divs.errors', [
'field' => 'titulo_projeto_create'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="funcao">Função</label>
<select class="form-select @error('funcao') is-invalid @enderror ajax-errors" name="funcao" id="funcao" value="{{ old('funcao') }}">
<option value="0">Selecione uma Função</option>
@foreach($funcoes as $value => $funcao)
@if( $value == old('funcao') )
<option selected value="{{$value}}">{{$funcao}}</option>
@else
<option value="{{$value}}">{{$funcao}}</option>
@endif
@endforeach
</select>
@include('components.divs.errors', [
'field' => 'funcao_create'
])
</div>
<div class="mb-3 col-sm-8">
<label class="form-label" for="discente">Nome do Orientando</label>
<input class="form-control @error('discente') is-invalid @enderror ajax-errors" type="text" name="discente" id="discente" value="{{ old('discente') }}">
@include('components.divs.errors', [
'field' => 'discente_create'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="ch_semanal">CH. Semanal</label>
<input class="form-control @error('ch_semanal') is-invalid @enderror ajax-errors" type="number" name="ch_semanal" id="ch_semanal" value="{{ old('ch_semanal') }}">
@include('components.divs.errors', [
'field' => 'ch_semanal_create'
])
</div>
</div>
<div class="mt-1 text-end">
@include('components.buttons.btn-save', [
'content' => 'Cadastrar',
'id' => 'btn-submit_extensao_orientacao'
])
</div>
</form>
</div>
<div class="border rounded px-4 mt-4">
<table class="table table-hover" id="extensao_orientacao-table">
<thead>
<tr>
<!-- <th scole="col">#</th> -->
<th scope="col"> Cód </th>
<th scope="col"> Título do Projeto </th>
<th scope="col"> Nome do Orientando </th>
<th scope="col"> Função </th>
<th scope="col"> CH Semanal </th>
<th scope="col"> Opções </th>
</tr>
</thead>
<tbody>
@foreach($atividades as $atividade)
<tr>
<td>{{ $atividade->cod_atividade }}</td>
<td>{{ $atividade->titulo_projeto }}</td>
<td>{{ $atividade->discente }}</td>
<td>{{ $atividade->funcaoAsString() }}</td>
<td>{{ $atividade->ch_semanal }}</td>
<td>
@include('components.buttons.btn-edit-task', [
'btn_class' => 'btn-edit_extensao_orientacao',
'btn_id' => $atividade->id,
])
@include('components.buttons.btn-delete', [
'id' => $atividade->id,
'route' => route('extensao_orientacao_delete', ['id' => $atividade->id])
])
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@include('components.modal', [
'size' => 'modal-lg',
'header' => 'Extensão - Orientação',
])
</div>
@endsection
@section('scripts')
@include('pad.components.scripts.dropdown-eixo', ['divs' => $divs])
@include('pad.components.scripts.cod_atividade', [
'cod_atividade' => '1-',
'form_id' => 'extensao_orientacao-form',
'div_selected' => 'extensao_coordenacao',
'route' => route('extensao_orientacao_search'),
])
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_extensao_orientacao',
'form_id' => 'extensao_orientacao-form',
'form_type' => 'create',
'route' => route('extensao_orientacao_validate'),
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_extensao_orientacao_update'),
'btn_class' => 'btn-edit_extensao_orientacao',
])
@include('pad.components.scripts.dimensao.ensino.show_modal', [
'modal_id' => 'modal',
'route' => route('view_extensao_orientacao_resolucao'),
'btn_class' => 'show_resolucao',
])
@endsection
<div id="extensao_orientacao">
<div>
<div class="mb-3">
<h3 class="h3"> Extenão - Orientação </h3 class="h3">
</div>
<form action="{{route('extensao_orientacao_update', ['id' => $model->id])}}" method="post" id="extensao_orientacao_update-form" class="">
@csrf
<div class="row">
<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 ajax-errors" type="text" name="cod_atividade" id="cod_atividade" value="{{ $model->cod_atividade }}" readonly>
</div>
<div class="mb-3 col-sm-6">
<label class="form-label" for="titulo_projeto">Título do Projeto</label>
<input class="form-control @error('titulo_projeto') is-invalid @enderror ajax-errors" type="text" name="titulo_projeto" id="titulo_projeto" value="{{ $model->titulo_projeto }}">
@include('components.divs.errors', [
'field' => 'titulo_projeto_update'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="funcao">Função</label>
<select class="form-select @error('funcao') is-invalid @enderror ajax-errors" name="funcao" id="funcao">
<option value="0">Selecione uma Função</option>
@foreach($funcoes as $value => $funcao)
@if( $value == $model->funcao )
<option selected value="{{$value}}">{{$funcao}}</option>
@else
<option value="{{$value}}">{{$funcao}}</option>
@endif
@endforeach
</select>
@include('components.divs.errors', [
'field' => 'funcao_update'
])
</div>
<div class="mb-3 col-sm-8">
<label class="form-label" for="discente">Nome do Orientando</label>
<input class="form-control @error('discente') is-invalid @enderror ajax-errors" type="text" name="discente" id="discente" value="{{ $model->discente }}">
@include('components.divs.errors', [
'field' => 'discente_update'
])
</div>
<div class="mb-3 col-sm-4">
<label class="form-label" for="ch_semanal">CH. Semanal</label>
<input class="form-control @error('ch_semanal') is-invalid @enderror ajax-errors" type="number" name="ch_semanal" id="ch_semanal" value="{{ $model->ch_semanal }}">
@include('components.divs.errors', [
'field' => 'ch_semanal_update'
])
</div>
</div>
<div class="mt-1 text-end">
<div class="modal-footer">
@include('components.buttons.btn-close_modal')
@include('components.buttons.btn-save', [
'id' => 'btn-submit_extensao_orientacao-update',
'content' => 'Atualizar',
])
</div>
</div>
</form>
</div>
</div>
@include('pad.components.scripts.ajaxValidation', [
'btn_submit_id' => 'btn-submit_extensao_orientacao-update',
'form_id' => 'extensao_orientacao_update-form',
'form_type' => 'update',
'route' => route('extensao_orientacao_validate'),
])
\ No newline at end of file
......@@ -306,7 +306,6 @@ Route::prefix('/pad/dimensao/pesquisa/orientacao')->group(function () {
Route::get('/search/{user_pad_id?}', [PesquisaOrientacaoController::class, 'search'])->name('pesquisa_orientacao_search');
});
/** ExtensaoCoordenacaoController */
Route::prefix('/pad/dimensao/extensao/coordenacao')->group(function () {
Route::post('/create', [ExtensaoCoordenacaoController::class, 'create'])->name('extensao_coordenacao_create');
......@@ -317,6 +316,7 @@ Route::prefix('/pad/dimensao/extensao/coordenacao')->group(function () {
Route::get('/index/{user_pad_id}', [ExtensaoCoordenacaoController::class, 'index'])->name('extensao_coordenacao_index');
Route::get('/edit/{id?}', [ExtensaoCoordenacaoController::class, 'edit'])->name('view_extensao_coordenacao_update');
Route::get('/search/{user_pad_id?}', [ExtensaoCoordenacaoController::class, 'search'])->name('extensao_coordenacao_search');
Route::get('/resolucao', [ExtensaoCoordenacaoController::class, 'viewResolucao'])->name('view_extensao_coordenacao_resolucao');
});
......@@ -330,6 +330,7 @@ Route::prefix('/pad/dimensao/extensao/orientacao')->group(function () {
Route::get('/index/{user_pad_id}', [ExtensaoOrientacaoController::class, 'index'])->name('extensao_orientacao_index');
Route::get('/edit/{id?}', [ExtensaoOrientacaoController::class, 'edit'])->name('view_extensao_orientacao_update');
Route::get('/search/{user_pad_id?}', [ExtensaoOrientacaoController::class, 'search'])->name('extensao_orientacao_search');
Route::get('/resolucao', [ExtensaoOrientacaoController::class, 'viewResolucao'])->name('view_extensao_orientacao_resolucao');
});
......
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