Commit 19de8764 authored by carlos's avatar carlos
Browse files

crud area

parent 4858284f
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Area; use App\Area;
use App\GrandeArea;
use App\SubArea;
use App\AreaModalidade; use App\AreaModalidade;
use App\Pertence; use App\Pertence;
use App\Revisor; use App\Revisor;
...@@ -26,9 +28,9 @@ class AreaController extends Controller ...@@ -26,9 +28,9 @@ class AreaController extends Controller
* *
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function create() public function create($grandeAreaid)
{ {
// return view('naturezas.area.nova_area')->with(['grandeAreaid' => $grandeAreaid]);
} }
/** /**
...@@ -37,18 +39,18 @@ class AreaController extends Controller ...@@ -37,18 +39,18 @@ class AreaController extends Controller
* @param \Illuminate\Http\Request $request * @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function store(Request $request) public function store(Request $request, $id)
{ {
$validatedData = $request->validate([ $validatedData = $request->validate([
'nome' => ['required', 'string'], 'nome' => 'required',
]); ]);
Area::create([ $area = new Area();
'nome' => $request->nome, $area->nome = $request->nome;
'eventoId' => $request->eventoId, $area->grande_area_id = $id;
]); $area->save();
return redirect()->route('coord.detalhesEvento', ['eventoId' => $request->eventoId]); return redirect( route('grandearea.show', ['id' => $id]) )->with(['mensagem' => 'Nova área cadastrada com sucesso']);
} }
/** /**
...@@ -57,9 +59,12 @@ class AreaController extends Controller ...@@ -57,9 +59,12 @@ class AreaController extends Controller
* @param \App\Area $area * @param \App\Area $area
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function show(Area $area) public function show($id)
{ {
// $area = Area::find($id);
$subAreas = SubArea::where('area_id', '=', $id)->orderBy('nome')->get();
return view('naturezas.area.detalhes')->with(['area' => $area, 'subAreas' => $subAreas]);
} }
/** /**
...@@ -68,9 +73,10 @@ class AreaController extends Controller ...@@ -68,9 +73,10 @@ class AreaController extends Controller
* @param \App\Area $area * @param \App\Area $area
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function edit(Area $area) public function edit($id)
{ {
// $area = Area::find($id);
return view('naturezas.area.editar_area')->with(['area' => $area]);
} }
/** /**
...@@ -80,9 +86,18 @@ class AreaController extends Controller ...@@ -80,9 +86,18 @@ class AreaController extends Controller
* @param \App\Area $area * @param \App\Area $area
* @return \Illuminate\Http\Response * @return \Illuminate\Http\Response
*/ */
public function update(Request $request, Area $area) public function update(Request $request, $id)
{ {
// $validated = $request->validate([
'nome' => 'required',
]);
$area = Area::find($id);
$grandeArea = GrandeArea::find($area->grande_area_id);
$area->nome = $request->nome;
$area->update();
return redirect( route('grandearea.show', ['id' => $area->grande_area_id]) )->with(['grandeArea' => $grandeArea,'mensagem' => 'Área atualizada com sucesso']);
} }
/** /**
...@@ -94,26 +109,11 @@ class AreaController extends Controller ...@@ -94,26 +109,11 @@ class AreaController extends Controller
public function destroy($id) public function destroy($id)
{ {
$area = Area::find($id); $area = Area::find($id);
$area_modalidade = AreaModalidade::where('areaId', $id); $id = $area->grande_area_id;
$pertence = Pertence::where('areaId', $id);
$revisores = Revisor::where('areaId', $id);
$trabalhos = Trabalho::where('areaId', $id);
if(isset($area_modalidade)){
$area_modalidade->delete();
}
if(isset($pertence)){
$pertence->delete();
}
if(isset($revisores)){
$revisores->delete();
}
if(isset($trabalhos)){
$trabalhos->delete();
}
$area->delete(); $area->delete();
//ver a questão de chave estrangeira para a tabela sub-áreas
return redirect()->back(); $grandeArea = GrandeArea::find($id);
return redirect( route('grandearea.show', ['id' => $id]) )->with(['grandeArea' => $grandeArea,'mensagem' => 'Área deletada com sucesso']);
} }
} }
...@@ -4,6 +4,7 @@ namespace App\Http\Controllers; ...@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\GrandeArea; use App\GrandeArea;
use App\Area;
class GrandeAreaController extends Controller class GrandeAreaController extends Controller
{ {
...@@ -55,7 +56,10 @@ class GrandeAreaController extends Controller ...@@ -55,7 +56,10 @@ class GrandeAreaController extends Controller
*/ */
public function show($id) public function show($id)
{ {
// $grandeArea = GrandeArea::find($id);
$areas = Area::where('grande_area_id', '=', $id)->orderBy('nome')->get();
return view('naturezas.grandeArea.detalhes')->with(['grandeArea' => $grandeArea, 'areas' => $areas]);
} }
/** /**
......
@extends('layouts.app')
@section('content')
<div class="container" >
<div class="row" >
@if(session('mensagem'))
<div class="col-md-12" style="margin-top: 100px;">
<div class="alert alert-success">
<p>{{session('mensagem')}}</p>
</div>
</div>
@endif
<div class="col-sm-9">
<h2 style="margin-top: 100px; ">{{ __('Subáreas de ') . $area->nome }}</h2>
</div>
<div class="col-sm-3">
<a href="{{ route('area.criar', ['id' => $area->id]) }}" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Criar subárea') }}</a>
</div>
</div>
<hr>
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome</th>
<th scope="col">Opção</th>
</tr>
</thead>
<tbody>
@foreach ($subAreas as $subArea)
<tr>
<td>
{{ $subArea->nome }}
</td>
<td>
<div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a>
<div class="dropdown-menu">
<a href="{{ route('area.editar', ['id' => $subArea->id]) }}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Editar
</a>
<form method="POST" action="{{ route('area.deletar', ['id' => $subArea->id]) }}">
{{ csrf_field() }}
<button type="submit" class="dropdown-item">
<img src="{{asset('img/icons/trash-alt-regular.svg')}}" class="icon-card" alt="">
Deletar
</button>
</form>
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
\ No newline at end of file
@extends('layouts.app')
@section('content')
<div class="container" >
<div class="row" >
<div class="col-sm-12">
<h2 style="margin-top: 100px; ">{{ __('Editar uma área') }}</h2>
</div>
</div>
<div class="row">
<form method="POST" action="{{ route('area.atualizar', ['id' => $area->id])}}">
@csrf
<div class="col-sm-12">
<label for="nome" class="col-form-label">{{ __('Nome') }}</label>
<input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ $area->nome }}" required autocomplete="nome" autofocus>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<button type="submit" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button>
</div>
</form>
</div>
</div>
@endsection
\ No newline at end of file
@extends('layouts.app')
@section('content')
<div class="container" >
<div class="row" >
<div class="col-sm-12">
<h2 style="margin-top: 100px; ">{{ __('Criar uma nova área') }}</h2>
</div>
</div>
<div class="row">
<form method="POST" action="{{ route('area.salvar', ['id' => $grandeAreaid])}}">
@csrf
<div class="col-sm-12">
<label for="nome" class="col-form-label">{{ __('Nome') }}</label>
<input id="nome" type="text" class="form-control @error('nome') is-invalid @enderror" name="nome" value="{{ old('nome') }}" required autocomplete="nome" autofocus>
@error('nome')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<button type="submit" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button>
</div>
</form>
</div>
</div>
@endsection
\ No newline at end of file
@extends('layouts.app')
@section('content')
<div class="container" >
<div class="row" >
@if(session('mensagem'))
<div class="col-md-12" style="margin-top: 100px;">
<div class="alert alert-success">
<p>{{session('mensagem')}}</p>
</div>
</div>
@endif
<div class="col-sm-9">
<h2 style="margin-top: 100px; ">{{ __('Áreas de ') . $grandeArea->nome }}</h2>
</div>
<div class="col-sm-3">
<a href="{{route('area.criar', ['id' => $grandeArea->id] )}}" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Criar Área') }}</a>
</div>
</div>
<hr>
<table class="table table-bordered">
<thead>
<tr>
<th scope="col">Nome</th>
<th scope="col">Opção</th>
</tr>
</thead>
<tbody>
@foreach ($areas as $area)
<tr>
<td>
<a href="{{ route('area.show', ['id' => $area->id]) }}" class="visualizarEvento">
{{ $area->nome }}
</a>
</td>
<td>
<div class="btn-group dropright dropdown-options">
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a>
<div class="dropdown-menu">
<a href="{{ route('area.show', ['id' => $area->id ]) }}" class="dropdown-item">
<img src="{{asset('img/icons/eye-regular.svg')}}" class="icon-card" alt="">
Detalhes
</a>
<a href="{{ route('area.editar', ['id' => $area->id]) }}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Editar
</a>
<form method="POST" action="{{ route('area.deletar', ['id' => $area->id]) }}">
{{ csrf_field() }}
<button type="submit" class="dropdown-item">
<img src="{{asset('img/icons/trash-alt-regular.svg')}}" class="icon-card" alt="">
Deletar
</button>
</form>
</div>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
\ No newline at end of file
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</span> </span>
@enderror @enderror
<button href="{{route('evento.criar')}}" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button> <button type="submit" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button>
</div> </div>
</form> </form>
</div> </div>
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
@foreach ($grandesAreas as $grandeArea) @foreach ($grandesAreas as $grandeArea)
<tr> <tr>
<td> <td>
<a href="" class="visualizarEvento"> <a href="{{ route('grandearea.show', ['id' => $grandeArea->id ]) }}" class="visualizarEvento">
{{ $grandeArea->nome }} {{ $grandeArea->nome }}
</a> </a>
</td> </td>
...@@ -40,6 +40,10 @@ ...@@ -40,6 +40,10 @@
<a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a id="options" class="dropdown-toggle " data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a> </a>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a href="{{ route('grandearea.show', ['id' => $grandeArea->id ]) }}" class="dropdown-item">
<img src="{{asset('img/icons/eye-regular.svg')}}" class="icon-card" alt="">
Detalhes
</a>
<a href="{{ route('grandearea.editar', ['id' => $grandeArea->id]) }}" class="dropdown-item"> <a href="{{ route('grandearea.editar', ['id' => $grandeArea->id]) }}" class="dropdown-item">
<img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt=""> <img src="{{asset('img/icons/edit-regular.svg')}}" class="icon-card" alt="">
Editar Editar
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="container" > <div class="container" >
<div class="row" > <div class="row" >
<div class="col-sm-12"> <div class="col-sm-12">
<h2 style="margin-top: 100px; ">{{ __('Criar uma nova Grande Área') }}</h2> <h2 style="margin-top: 100px; ">{{ __('Criar uma nova Grande área') }}</h2>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</span> </span>
@enderror @enderror
<button href="{{route('evento.criar')}}" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button> <button type="submit" class="btn btn-primary" style="position:relative;top:100px;">{{ __('Salvar') }}</button>
</div> </div>
</form> </form>
</div> </div>
......
...@@ -45,14 +45,23 @@ Route::post('/perfil','UserController@editarPerfil')->name('perfil')->middleware ...@@ -45,14 +45,23 @@ Route::post('/perfil','UserController@editarPerfil')->name('perfil')->middleware
Route::get('/home-admin', 'AdministradorController@index')->middleware('checkAdministrador')->name('admin.index'); Route::get('/home-admin', 'AdministradorController@index')->middleware('checkAdministrador')->name('admin.index');
Route::get('/usuarios', 'AdministradorController@usuarios')->middleware('checkAdministrador')->name('admin.usuarios'); Route::get('/usuarios', 'AdministradorController@usuarios')->middleware('checkAdministrador')->name('admin.usuarios');
//Rotas das naturezas //Rotas das naturezas
//Rotas das grandes areas
Route::get('/naturezas', 'AdministradorController@naturezas')->middleware('checkAdministrador')->name('admin.naturezas'); Route::get('/naturezas', 'AdministradorController@naturezas')->middleware('checkAdministrador')->name('admin.naturezas');
Route::get('/naturezas/grande-area', 'GrandeAreaController@index')->middleware('checkAdministrador')->name('grandearea.index'); Route::get('/naturezas/grande-area', 'GrandeAreaController@index')->middleware('checkAdministrador')->name('grandearea.index');
Route::get('/naturezas/grande-area/nova', 'GrandeAreaController@create')->middleware('checkAdministrador')->name('grandearea.criar'); Route::get('/naturezas/grande-area/nova', 'GrandeAreaController@create')->middleware('checkAdministrador')->name('grandearea.criar');
Route::post('/naturezas/grande-area/salvar', 'GrandeAreaController@store')->middleware('checkAdministrador')->name('grandearea.salvar'); Route::post('/naturezas/grande-area/salvar', 'GrandeAreaController@store')->middleware('checkAdministrador')->name('grandearea.salvar');
Route::get('/naturezas/grande-area/detalhes/{id}', 'GrandeAreaController@show')->middleware('checkAdministrador')->name('grandearea.show');
Route::get('/naturezas/grande-area/editar/{id}', 'GrandeAreaController@edit')->middleware('checkAdministrador')->name('grandearea.editar'); Route::get('/naturezas/grande-area/editar/{id}', 'GrandeAreaController@edit')->middleware('checkAdministrador')->name('grandearea.editar');
Route::post('/naturezas/grande-area/atualizar/{id}', 'GrandeAreaController@update')->middleware('checkAdministrador')->name('grandearea.atualizar'); Route::post('/naturezas/grande-area/atualizar/{id}', 'GrandeAreaController@update')->middleware('checkAdministrador')->name('grandearea.atualizar');
Route::post('/naturezas/grande-area/excluir/{id}', 'GrandeAreaController@destroy')->middleware('checkAdministrador')->name('grandearea.deletar'); Route::post('/naturezas/grande-area/excluir/{id}', 'GrandeAreaController@destroy')->middleware('checkAdministrador')->name('grandearea.deletar');
//Rotas das areas
Route::get('/naturezas/areas', 'AreaController@index')->middleware('checkAdministrador')->name('area.index');
Route::get('/naturezas/{id}/area/nova', 'AreaController@create')->middleware('checkAdministrador')->name('area.criar');
Route::post('/naturezas/{id}/area/salvar', 'AreaController@store')->middleware('checkAdministrador')->name('area.salvar');
Route::get('/naturezas/area/detalhes/{id}', 'AreaController@show')->middleware('checkAdministrador')->name('area.show');
Route::get('/naturezas/area/editar/{id}', 'AreaController@edit')->middleware('checkAdministrador')->name('area.editar');
Route::post('/naturezas/area/atualizar/{id}', 'AreaController@update')->middleware('checkAdministrador')->name('area.atualizar');
Route::post('/naturezas/area/excluir/{id}', 'AreaController@destroy')->middleware('checkAdministrador')->name('area.deletar');
// Rotas Coordenador // Rotas Coordenador
Route::get('/coordenador/home', 'CoordenadorComissaoController@index')->name('coordenador.index'); Route::get('/coordenador/home', 'CoordenadorComissaoController@index')->name('coordenador.index');
......
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