From 7f6044f34dca34bdd05179f020d8394730aaf00f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Abra=C3=A3o=20Barbosa?= <abraaobarbosati@gmail.com> Date: Mon, 18 Jul 2022 05:24:29 -0300 Subject: [PATCH] =?UTF-8?q?add=20controller,=20seed=20and=20model=20from?= =?UTF-8?q?=20Avalia=C3=A7=C3=A3o=20and=20Avaliador?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/AvaliadorController.php | 226 ++++++++++++++++++ app/Http/Controllers/PadController.php | 2 +- app/Models/Avaliacao.php | 24 ++ app/Models/AvaliadorPad.php | 28 +++ app/Models/UserPad.php | 1 - app/Models/Util/PadTables.php | 5 + app/Queries/AvaliadorPadQuery.php | 43 ++++ ...7_15_003939_create_evaluator_pad_table.php | 35 +++ ...22_07_17_193918_create_avaliacao_table.php | 37 +++ database/seeders/AvaliacaoSeeder.php | 18 ++ database/seeders/CampusSeeder.php | 1 - database/seeders/DatabaseSeeder.php | 2 + database/seeders/EvaluatorSeeder.php | 26 ++ database/seeders/PadSeeder.php | 16 ++ .../navigation_coordinator.blade.php | 2 +- .../views/pad/avaliacao/create.blade.php | 58 +++++ resources/views/pad/avaliacao/index.blade.php | 56 +++++ .../views/pad/avaliacao/update.blade.php | 57 +++++ routes/web.php | 10 + 19 files changed, 643 insertions(+), 4 deletions(-) create mode 100644 app/Http/Controllers/AvaliadorController.php create mode 100644 app/Models/Avaliacao.php create mode 100644 app/Models/AvaliadorPad.php create mode 100644 app/Queries/AvaliadorPadQuery.php create mode 100644 database/migrations/2022_07_15_003939_create_evaluator_pad_table.php create mode 100644 database/migrations/2022_07_17_193918_create_avaliacao_table.php create mode 100644 database/seeders/AvaliacaoSeeder.php create mode 100644 database/seeders/EvaluatorSeeder.php create mode 100644 resources/views/pad/avaliacao/create.blade.php create mode 100644 resources/views/pad/avaliacao/index.blade.php create mode 100644 resources/views/pad/avaliacao/update.blade.php diff --git a/app/Http/Controllers/AvaliadorController.php b/app/Http/Controllers/AvaliadorController.php new file mode 100644 index 0000000..863acd4 --- /dev/null +++ b/app/Http/Controllers/AvaliadorController.php @@ -0,0 +1,226 @@ +<?php + +namespace App\Http\Controllers; + +use App\Http\Controllers\Controller; +use Illuminate\Http\Request; +use App\Models\PAD; +use App\Models\Tabelas\Constants; +use App\Models\User; +use App\Models\UserPad; +use App\Models\Util\MenuItemsAdmin; +use App\Models\AvaliadorPad; +use Exception; +use Illuminate\Support\Facades\Auth; + +use Illuminate\Support\Facades\Validator; +use Illuminate\Validation\Rule; + +class AvaliadorController extends Controller +{ + /** + * Show last PAD. + * + * @return \Illuminate\View\View + */ + public function index() + { + + AvaliadorPad + + return view('pad.avaliacao.index', ['index_menu' => 2]); + if(Auth::user()->isTypeAdmin()) { + $pads = Pad::all(); + $index_menu = MenuItemsAdmin::PADS; + return view('pad.admin.index', ['index_menu' => $index_menu, 'pads' => $pads]); + } + + if(Auth::user()->isTypeTeacher()) { + + $index_menu = 1; + $userPads = UserPad::find()->whereUser(Auth::user()->id)->get(); + + return view('pad.avaliacao.index', ['index_menu' => $index_menu, 'userPads' => $userPads]); + } + } + + /** + * @param integer $id + * @return \Illuminate\Http\Response + */ + public function view($id) { + $index_menu = 1; + return view('pad.teacher.view', ['id' => $id, 'index_menu' => $index_menu]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + $status = [ + Constants::STATUS_ATIVO => Constants::listStatus(Constants::STATUS_ATIVO) + ]; + return view('pad.admin.create', ['status' => $status]); + } + + /** + * Store a newly created resource in storage. + * @param \Illuminate\Http\Request $request + */ + public function store(Request $request) + { + $validated = $request->validate([ + 'nome' => ['required', 'string', 'min:6', 'max:255'], + 'status' => ['required', 'integer'], + 'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'], + 'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'], + ], + [ + 'required' => 'O campo de :attribute é obrigatório', + 'nome.min' => 'O campo de :attribute deve ter no mÃnimo 6 letras', + 'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras', + 'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim', + 'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de inÃcio', + ]); + + if($validated) { + $model = new Pad($request->all()); + + if($model->save()) { + + $users = User::find()->whereType(User::TYPE_TEACHER)->get(); + + foreach($users as $user) { + $modelUserPad = new UserPad(); + $modelUserPad->user_id = $user->id; + $modelUserPad->pad_id = $model->id; + $modelUserPad->save(); + } + + return redirect()->route('pad_index')->with('success', 'PAD cadastrado com sucesso!'); + } else { + return redirect()->route('pad_index')->with('success', 'Erro ao cadastrar o PAD!'); + } + } + } + + public function anexo() + { + return view('pad.anexo', ['index_menu' => 1 ]); + } + + // /** + // * Store a newly created resource in storage. + // * + // * @param \Illuminate\Http\Request $request + // * @return \Illuminate\Http\Response + // */ + // public function store(Request $request) + // { + // $rules = [ + // 'first_name' => 'required|string|min:3|max:255', + // 'city_name' => 'required|string|min:3|max:255', + // 'email' => 'required|string|email|max:255' + // ]; + // $validator = Validator::make($request->all(),$rules); + // if ($validator->fails()) { + // return redirect('insert') + // ->withInput() + // ->withErrors($validator); + // } + // else{ + // $data = $request->input(); + // try{ + // $student = new StudInsert; + // $student->first_name = $data['first_name']; + // $student->last_name = $data['last_name']; + // $student->city_name = $data['city_name']; + // $student->email = $data['email']; + // $student->save(); + // return redirect('insert')->with('status',"Insert successfully"); + // } + // catch(Exception $e){ + // return redirect('insert')->with('failed',"operation failed"); + // } + // } + + // return redirect('/dashboard'); + // } + + /** + * Show the form for editing the specified resource. + * + * @param integer $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + $pad = PAD::find($id); + $status = Constants::listStatus(); + + return view('pad.admin.edit', ['pad' => $pad, 'status' => $status]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param integer $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $validated = $request->validate([ + 'nome' => ['required', 'string', 'min:6', 'max:255'], + 'status' => ['required', 'integer'], + 'data_inicio' => ['required', 'date', 'before_or_equal:data_fim'], + 'data_fim' => ['required', 'date', 'after_or_equal:data_inicio'], + ], + [ + 'required' => 'O campo de :attribute é obrigatório', + 'nome.min' => 'O campo de :attribute deve ter no mÃnimo 6 letras', + 'nome.max' => 'O campo de :attribute deve ter no máximo 255 letras', + 'data_inicio.before_or_equal' => 'A :attribute deve ser uma data anterior ou igual a data de fim', + 'data_fim.after_or_equal' => 'A :attribute deve ser uma data posterior ou igual a data de inÃcio', + ]); + + if($validated) { + $model = Pad::find($id); + $model->fill($request->all()); + + if($model->save()) { + return redirect()->route('pad_index')->with('success', 'PAD atualizado com sucesso!'); + } else { + return redirect()->route('pad_index')->with('success', 'Erro ao atualizar o PAD!'); + } + } + } + + + public function delete($id) { + $model = Pad::find($id); + + if($model->delete()) { + return redirect()->route('pad_index')->with('success', 'PAD removido com sucesso!'); + } else { + return redirect()->route('pad_index')->with('fail', 'Não foi possÃvel remover o PAD!'); + } + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + $model = PAD::find($id); + $model->delete(); + + return redirect('/pad/index'); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/PadController.php b/app/Http/Controllers/PadController.php index b4427fc..019d2ea 100644 --- a/app/Http/Controllers/PadController.php +++ b/app/Http/Controllers/PadController.php @@ -84,7 +84,7 @@ class PadController extends Controller if($validated) { $model = new Pad($request->all()); - + if($model->save()) { $users = User::find()->whereType(User::TYPE_TEACHER)->get(); diff --git a/app/Models/Avaliacao.php b/app/Models/Avaliacao.php new file mode 100644 index 0000000..4626219 --- /dev/null +++ b/app/Models/Avaliacao.php @@ -0,0 +1,24 @@ +<?php + +namespace App\Models; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Avaliacao extends Model +{ + use HasFactory; + + protected $table = 'avaliador_pad'; + + protected $fillable = ['id', 'ch_semanal', 'status', 'descricao', 'tarefa_id', 'avaliador_id']; + + + public function tarefa() { + //return $this->belongsTo(PAD::class); + } + + public function avaliadorPad() { + return $this->belongsTo(AvaliadorPad::class); + } +} diff --git a/app/Models/AvaliadorPad.php b/app/Models/AvaliadorPad.php new file mode 100644 index 0000000..68c4a3b --- /dev/null +++ b/app/Models/AvaliadorPad.php @@ -0,0 +1,28 @@ +<?php + +namespace App\Models; + +use App\Queries\UserPadQuery; +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class AvaliadorPad extends Model +{ + use HasFactory; + + protected $table = 'avaliador_pad'; + + protected $fillable = ['id', 'dimensao', 'user_id', 'pad_id']; + + public function Avaliador() { + return $this->belongsTo(User::class); + } + + public function pad() { + return $this->belongsTo(PAD::class); + } + + public static function find() { + return new UserPadQuery(get_called_class()); + } +} diff --git a/app/Models/UserPad.php b/app/Models/UserPad.php index 032f2b1..f5165e1 100644 --- a/app/Models/UserPad.php +++ b/app/Models/UserPad.php @@ -25,5 +25,4 @@ class UserPad extends Model public static function find() { return new UserPadQuery(get_called_class()); } - } diff --git a/app/Models/Util/PadTables.php b/app/Models/Util/PadTables.php index 0b92edd..e58ffad 100644 --- a/app/Models/Util/PadTables.php +++ b/app/Models/Util/PadTables.php @@ -4,6 +4,11 @@ namespace App\Models\Util; class PadTables { + const TYPE_ENSINO = 0; + const TYPE_EXTENSAO = 1; + const TYPE_PESQUISA = 2; + const TYPE_GESTAO = 3; + public static function tablesEnsino() { return [ ['id' => 'ensino_aulas', 'name' => 'ENSINO (AULAS EM COMPONENTES CURRICULARES)'], diff --git a/app/Queries/AvaliadorPadQuery.php b/app/Queries/AvaliadorPadQuery.php new file mode 100644 index 0000000..9b50a17 --- /dev/null +++ b/app/Queries/AvaliadorPadQuery.php @@ -0,0 +1,43 @@ +<?php + +namespace App\Queries; + +use App\Models\AvaliadorPad; + +class AvaliadorPadQuery { + + private $query; + + public function __construct() + { + $this->query = AvaliadorPad::where([]); + } + + /** + * @param integer $id + * @return AvaliadorPadQuery|Builder + */ + public function whereId($id, $expression = '=') + { + $this->query = $this->query->where('id', $expression, $id); + return $this->query; + } + + /** + * @param integer $user_id + * @return AvaliadorPadQuery|Builder + */ + public function whereUser($user_id, $expression = '=') + { + $this->query = $this->query->where('user_id', $expression, $user_id); + return $this->query; + } + + /** + * @return Builder + */ + public function getQuery() + { + return $this->query; + } +} \ No newline at end of file diff --git a/database/migrations/2022_07_15_003939_create_evaluator_pad_table.php b/database/migrations/2022_07_15_003939_create_evaluator_pad_table.php new file mode 100644 index 0000000..8161157 --- /dev/null +++ b/database/migrations/2022_07_15_003939_create_evaluator_pad_table.php @@ -0,0 +1,35 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class CreateEvaluatorPadTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('avaliador_pad', function (Blueprint $table) { + $table->id(); + $table->tinyInteger('dimensao')->notNull(); + $table->foreignId('user_id')->notNull(); + $table->foreignId('pad_id')->notNull(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('avaliador_pad'); + } +} diff --git a/database/migrations/2022_07_17_193918_create_avaliacao_table.php b/database/migrations/2022_07_17_193918_create_avaliacao_table.php new file mode 100644 index 0000000..f9162b1 --- /dev/null +++ b/database/migrations/2022_07_17_193918_create_avaliacao_table.php @@ -0,0 +1,37 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class CreateAvaliacaoTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('avaliacao', function (Blueprint $table) { + $table->id(); + $table->integer('ch_semanal')->notNull(); + $table->integer('status')->notNull(); + $table->string('descricao')->notNull(); + $table->integer('tarefa_id')->notNull(); + $table->foreignId('avaliador_id')->notNull(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('avaliacao'); + } +} diff --git a/database/seeders/AvaliacaoSeeder.php b/database/seeders/AvaliacaoSeeder.php new file mode 100644 index 0000000..524aede --- /dev/null +++ b/database/seeders/AvaliacaoSeeder.php @@ -0,0 +1,18 @@ +<?php + +namespace Database\Seeders; + +use Illuminate\Database\Seeder; + +class AvaliacaoSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + // + } +} diff --git a/database/seeders/CampusSeeder.php b/database/seeders/CampusSeeder.php index 45001e5..b219009 100644 --- a/database/seeders/CampusSeeder.php +++ b/database/seeders/CampusSeeder.php @@ -29,6 +29,5 @@ class CampusSeeder extends Seeder ]); } } - } } diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 112289c..e49f009 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -23,6 +23,8 @@ class DatabaseSeeder extends Seeder PlanejamentoSeeder::class, PadSeeder::class, DisciplinaSeeder::class, + EvaluatorSeeder::class, + ]); } } diff --git a/database/seeders/EvaluatorSeeder.php b/database/seeders/EvaluatorSeeder.php new file mode 100644 index 0000000..a465963 --- /dev/null +++ b/database/seeders/EvaluatorSeeder.php @@ -0,0 +1,26 @@ +<?php + +namespace Database\Seeders; + +use Illuminate\Database\Seeder; +use App\Models\AvaliadorPad; +use App\Models\Util\PadTables; + +class EvaluatorSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + AvaliadorPad::create([ + 'id' => 1, + 'dimensao' => PadTables::TYPE_ENSINO, + 'user_id' => 8, + 'pad_id' => 1 + ] + ); + } +} diff --git a/database/seeders/PadSeeder.php b/database/seeders/PadSeeder.php index df0ff2d..bfc2640 100644 --- a/database/seeders/PadSeeder.php +++ b/database/seeders/PadSeeder.php @@ -4,6 +4,7 @@ namespace Database\Seeders; use App\Models\PAD; use App\Models\User; + use Illuminate\Database\Seeder; class PadSeeder extends Seeder @@ -15,5 +16,20 @@ class PadSeeder extends Seeder */ public function run() { + PAD::create([ + 'id' => 1, + 'nome' => "2022.1", + 'data_inicio' => "2022-02-01", + 'data_fim' => "2022-06-01", + 'status' => 0 + ]); + + PAD::create([ + 'id' => 2, + 'nome' => "2022.2", + 'data_inicio' => "2022-07-01", + 'data_fim' => "2022-12-01", + 'status' => 1 + ]); } } diff --git a/resources/views/layouts/user-navigation/navigation_coordinator.blade.php b/resources/views/layouts/user-navigation/navigation_coordinator.blade.php index 7e8edbb..9bf6b03 100644 --- a/resources/views/layouts/user-navigation/navigation_coordinator.blade.php +++ b/resources/views/layouts/user-navigation/navigation_coordinator.blade.php @@ -15,7 +15,7 @@ </li> <li class="nav-item"> - <a class="custom-nav-link {{ ((!empty($index_menu) ? $index_menu : 0) == 1? "active": "") }}" id="pad-tab" href="{{ route('pad_index') }}" + <a class="custom-nav-link {{ ((!empty($index_menu) ? $index_menu : 0) == 1? "active": "") }}" id="pad-tab" href="{{ route('avaliador_index') }}" aria-controls="pad" aria-selected="false"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-book-half" viewBox="0 0 16 16"> diff --git a/resources/views/pad/avaliacao/create.blade.php b/resources/views/pad/avaliacao/create.blade.php new file mode 100644 index 0000000..cd933d9 --- /dev/null +++ b/resources/views/pad/avaliacao/create.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.main') + +@section('title', 'Campus') +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection +@section('body') + <div class="content mx-auto"> + <h1 class="titulo pt-4 pb-4 mb-3 border-bottom">CADASTRO CAMPUS</h1> + <p class="pb-4 mb-3 text-center text-muted align-items-center"> + Insira os dados correspondentes nos campos exibidos abaixo + </p> + + <!-- Formulario --> + <form action="{{ route('campus_store') }}" method="post"> + @csrf + @method('POST') + <div class="form-group"> + <label for="inputNameCampus">Nome do Campus</label> + <input type="text" name="name" class="form-control" id="inputNameCampus" + placeholder="Insira o nome do Campus" value="{{ old('name') }}"> + @error('name') + <span class="text-danger"> {{ $message }} </span> + @enderror + </div> + <div class="form-group"> + <label for="selectCampus">Campus</label> + <select class="custom-select" name="unidade_id" id="unidade_id"> + <option value="" disabled selected hidden> selecione... </option> + @foreach ($unidades as $unidade) + <option value="{{ $unidade->id }}" {{ old('unidade_id') == $unidade->id ? 'selected' : '' }}> + {{ $unidade->name }} </option> + @endforeach + </select> + @error('unidade_id') + <span class="text-danger"> {{ $message }} </span> + @enderror + </div> + <div class="d-flex justify-content-between"> + @include('components.buttons.btn-cancel', [ + 'route' => route('campus_index'), + ]) + @include('components.buttons.btn-save', [ + 'content' => 'Cadastrar', + 'btn_class' => 'btn btn-outline-success', + 'i_class' => '', + ]) + </div> + </form> + </div> +@endsection \ No newline at end of file diff --git a/resources/views/pad/avaliacao/index.blade.php b/resources/views/pad/avaliacao/index.blade.php new file mode 100644 index 0000000..3469a7e --- /dev/null +++ b/resources/views/pad/avaliacao/index.blade.php @@ -0,0 +1,56 @@ +@extends('layouts.main') + +@section('title', 'Campus') +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection +@section('body') + @include('components.alerts') + <div class="d-flex justify-content-between align-items-center border-bottom"> + <h2 class="">PADs</h2> + @include('components.buttons.btn-create', [ + 'route' => route('campus_create'), + 'class' => '', + 'content' => 'Novo Campus', + 'id' => '', + ]) + </div> + + <!-- Tabela --> + <div class="table-responsive mt-5"> + <table class="table table-hover table-striped"> + <thead class="thead-dark"> + <tr> + <th scope="col">Nome</th> + <th scope="col">Unidade</th> + <th scope="col">Ações</th> + </tr> + </thead> + + <tbody> + {{-- @foreach ($campus as $camp) + <tr> + <td>{{ $camp->name }}</td> + <td>{{ $camp->unidade }}</td> + <td> + @include('components.buttons.btn-edit', [ + 'btn_class' => 'btn btn-warning', + 'route' => route('campus_edit', ['id' => $camp->id]), + ]) + @include('components.buttons.btn-soft-delete', [ + 'modal_id' => $camp->id, 'route' => route('campus_delete', ['id' => $camp->id]) + ]) + </td> + </tr> + @endforeach --}} + </tbody> + </table> + </div> +@endsection diff --git a/resources/views/pad/avaliacao/update.blade.php b/resources/views/pad/avaliacao/update.blade.php new file mode 100644 index 0000000..bcf97f1 --- /dev/null +++ b/resources/views/pad/avaliacao/update.blade.php @@ -0,0 +1,57 @@ +@extends('layouts.main') + +@section('title', 'Campus') +@section('header') + @include('layouts.header', [ + 'user' => Auth::user(), + ]) +@endsection +@section('nav') + @include('layouts.navigation', [ + 'index_menu' => $index_menu, + ]) +@endsection +@section('body') + <div class="content mx-auto"> + <h1 class="titulo pt-4 pb-4 mb-3 border-bottom">Atualizar CAMPUS</h1> + <p class="pb-4 mb-3 text-center text-muted align-items-center"> + Insira os dados correspondentes nos campos exibidos abaixo + </p> + <!-- Formulario --> + <form action="{{ route('campus_update', $campus->id) }}" method="post"> + @csrf + @method('POST') + <div class="form-group"> + <label for="inputNameCampus">Nome do Campus</label> + <input type="text" name="name" class="form-control" id="inputNameCampus" + placeholder="Insira o nome do Campus" value="{{ $campus->name }}{{ old('name') }}"> + @error('name') + <span class="text-danger"> {{ $message }} </span> + @enderror + </div> + <div class="form-group"> + <label for="selectCampus">Campus</label> + <select class="custom-select" name="unidade_id" id="unidade_id"> + <option value="" disabled selected hidden> selecione... </option> + @foreach ($unidades as $unidade) + <option value="{{ $unidade->id }}" {{ $campus->unidade->id == $unidade->id ? 'selected' : '' }}> + {{ $unidade->name }} </option> + @endforeach + </select> + @error('unidade_id') + <span class="text-danger"> {{ $message }} </span> + @enderror + </div> + <div class="d-flex justify-content-between"> + @include('components.buttons.btn-cancel', [ + 'route' => route('campus_index'), + ]) + @include('components.buttons.btn-save', [ + 'content' => 'Atualizar', + 'btn_class' => 'btn btn-outline-success', + 'i_class' => '', + ]) + </div> + </form> + </div> +@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index bd4f5ef..70b011a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,6 +15,7 @@ use App\Http\Controllers\UserController; use App\Http\Controllers\CoordenadorController; use App\Http\Controllers\ProfessorController; use App\Http\Controllers\DiretorController; +use App\Http\Controllers\AvaliadorController; use App\Models\Disciplina; use Illuminate\Support\Facades\Route; @@ -122,6 +123,15 @@ Route::prefix('/professor')->group(function () { Route::delete('/delete/{id}', [ProfessorController::class, 'destroy'])->name('professor_delete'); }); +Route::prefix('/avaliador')->group(function () { + Route::get('/index', [AvaliadorController::class, 'index'])->name('avaliador_index'); + Route::get('/create', [AvaliadorController::class, 'create'])->name('avaliador_create'); + Route::post('/store', [AvaliadorController::class, 'store'])->name('avaliador_store'); + Route::get('/edit/{id}', [AvaliadorController::class, 'edit'])->name('avaliador_edit'); + Route::post('/update/{id}', [AvaliadorController::class, 'update'])->name('avaliador_update'); + Route::delete('/delete/{id}', [AvaliadorController::class, 'destroy'])->name('avaliador_delete'); +}); + // return json Route::get('/listar/unidade', [UnidadeController::class, 'getAll'])->name('listar_unidades'); Route::get('/list/campus/{unidade_id}', [CampusController::class, 'findByUnidade'])->name('list_campus_by_unidade'); -- GitLab