diff --git a/app/Http/Controllers/ColetaController.php b/app/Http/Controllers/ColetaController.php index 7961138..722e2ce 100644 --- a/app/Http/Controllers/ColetaController.php +++ b/app/Http/Controllers/ColetaController.php @@ -3,9 +3,11 @@ namespace App\Http\Controllers; use App\Models\Granja; use App\Models\Coleta; - +use App\Models\QualidadeColeta; use Illuminate\Http\Request; +use function PHPUnit\Framework\isEmpty; + class ColetaController extends Controller { public function index($granja_id) @@ -24,8 +26,14 @@ public function show($granja_id) public function view($coleta_id) { + $qualidade = QualidadeColeta::where('id_coleta',$coleta_id)->get(); $coleta = Coleta::find($coleta_id); - return view('Coletas.view', ['coleta' => $coleta]); + if(sizeof($qualidade)){ + $qualidade = $qualidade[0]['id']; + }else{ + $qualidade = 0; + } + return view('Coletas.view', ['coleta' => $coleta, 'qualidade' => $qualidade]); } public function edit($coleta_id) diff --git a/app/Http/Controllers/QualidadeColetaController.php b/app/Http/Controllers/QualidadeColetaController.php index f120a5d..e3a4842 100644 --- a/app/Http/Controllers/QualidadeColetaController.php +++ b/app/Http/Controllers/QualidadeColetaController.php @@ -1,10 +1,57 @@ $qualidade]); + } + + public function pCreate($coleta_id){ + return view('avaliacaoColeta.create', ['coleta_id' => $coleta_id]); + } + + public function create(Request $request) + { + $validated = $request->validate([ + 'descricao' => 'required', + 'avaliacaoQualidade' => 'required', + ]); + $dados = $request->all(); + $dados['id_coleta'] = $request['coleta_id'] ; + $qualidade = QualidadeColeta::create($dados); + + return redirect()->route('coleta.view',$request['coleta_id']); + } + + public function edit($qualidade_id) + { + $qualidade = QualidadeColeta::find($qualidade_id); + return view('avaliacaoColeta.edit', ['qualidade' => $qualidade]); + } + + public function store(Request $request, $qualidade_id) + { + $validated = $request->validate([ + 'descricao' => 'required', + 'avaliacaoQualidade' => 'required', + ]); + + $dados = $request->all(); + //dd($dados['data']); + $qualidade = QualidadeColeta::find($qualidade_id); + + $qualidade->descricao = $dados['descricao']; + $qualidade->avaliacaoQualidade = $dados['avaliacaoQualidade']; + $qualidade->save(); + + return redirect()->route('coleta.view',$qualidade['id_coleta']); + } + } diff --git a/app/Http/Livewire/DeletarQualidadeColeta.php b/app/Http/Livewire/DeletarQualidadeColeta.php new file mode 100644 index 0000000..a1d528a --- /dev/null +++ b/app/Http/Livewire/DeletarQualidadeColeta.php @@ -0,0 +1,32 @@ +show = !$this->show; + } + + public function deletar() + { + $coleta = $this->qualidade->id_coleta; + $this->qualidade->delete(); + return redirect()->route('coleta.view',$coleta)->with('status', 'Coleta deletada com sucesso!'); + } +} diff --git a/app/Http/Requests/StoreProdutorRequest.php b/app/Http/Requests/StoreProdutorRequest.php index f3fbd83..d44b260 100644 --- a/app/Http/Requests/StoreProdutorRequest.php +++ b/app/Http/Requests/StoreProdutorRequest.php @@ -25,8 +25,8 @@ public function rules() { return [ 'nome' => ['required', 'string', 'min:5', 'max:255'], - 'cnpj' => ['required', 'string', 'cnpj', 'unique:produtores'], - 'telefone' => ['required', 'string', 'celular_com_ddd'], + 'cnpj' => ['required', 'string', 'unique:produtores'], + 'telefone' => ['required', 'string'], 'email' => ['required', 'string', 'email'], 'cep' => ['required', 'string','min:9','max:9'], 'bairro' => ['required', 'string', 'max:255'], diff --git a/resources/views/avaliacaoColeta/create.blade.php b/resources/views/avaliacaoColeta/create.blade.php new file mode 100644 index 0000000..efddb02 --- /dev/null +++ b/resources/views/avaliacaoColeta/create.blade.php @@ -0,0 +1,36 @@ + + + + Registrar qualidade de coleta + + +
+ @csrf + +
+
+ + @if (session('status')) +
+ {{ session('status') }} +
+ @endif +
+ + + + + + + + +
+
+
+ + Salvar + +
+
+ +
diff --git a/resources/views/avaliacaoColeta/edit.blade.php b/resources/views/avaliacaoColeta/edit.blade.php new file mode 100644 index 0000000..b74435f --- /dev/null +++ b/resources/views/avaliacaoColeta/edit.blade.php @@ -0,0 +1,35 @@ + + + + Editar Avaliação + + +
+ @csrf + +
+ + @if (session('status')) +
+ {{ session('status') }} +
+ @endif +
+ + + + + + + + +
+
+
+ + Atualizar + +
+
+ +
diff --git a/resources/views/avaliacaoColeta/view.blade.php b/resources/views/avaliacaoColeta/view.blade.php new file mode 100644 index 0000000..cd0471f --- /dev/null +++ b/resources/views/avaliacaoColeta/view.blade.php @@ -0,0 +1,36 @@ + + + + Detalhes da Avaliação da Coleta + + +
+ @csrf + +
+ + @if (session('status')) +
+ {{ session('status') }} +
+ @endif +
+ + + + + + + + +
+
+
+ + Editar + +
+ +
+ +
diff --git a/resources/views/coletas/view.blade.php b/resources/views/coletas/view.blade.php index feca6b9..574be83 100644 --- a/resources/views/coletas/view.blade.php +++ b/resources/views/coletas/view.blade.php @@ -30,6 +30,15 @@ Editar + @if($qualidade > 0) + + Ver avalicação + + @else + + Avalicação de qualidade + + @endif diff --git a/resources/views/livewire/deletar-qualidade-coleta.blade.php b/resources/views/livewire/deletar-qualidade-coleta.blade.php new file mode 100644 index 0000000..8cd13cc --- /dev/null +++ b/resources/views/livewire/deletar-qualidade-coleta.blade.php @@ -0,0 +1,45 @@ +
+ @switch($tipo) + @case('icon') + + @switch($cor) + @case('white') + botao deletar + @break + @case('primary') + @default + botao deletar + @break + @endswitch + + @break + @default + + @switch($cor) + @case('white') + botao deletar + @break + @case('primary') + @default + botao deletar + @break + @endswitch + + @break +@endswitch + + + + + Confirmar ação + Tem certeja que deseja deletar a avaliação de qualidade: {{$qualidade->avaliacaoQualidade}}? + + + Cancelar + + + Deletar avaliação + + + +
diff --git a/routes/web.php b/routes/web.php index 48f74e2..b911d4a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,6 +3,7 @@ use App\Http\Controllers\GranjaController; use App\Http\Controllers\ProdutorController; use App\Http\Controllers\ColetaController; +use App\Http\Controllers\QualidadeColetaController; use Illuminate\Support\Facades\Route; /* @@ -47,5 +48,10 @@ Route::get('/coleta/{coleta_id}/create', [ColetaController::class, 'pCreate'])->name('coleta.p.create'); Route::post('/coleta/create', [ColetaController::class, 'create'])->name('coleta.create'); + Route::get('/qualidade/{coleta_id}/view', [QualidadeColetaController::class, 'view'])->name('qualidade.view'); + Route::get('/qualidade/{coleta_id}/edit', [QualidadeColetaController::class, 'edit'])->name('qualidade.edit'); + Route::post('/qualidade/{coleta_id}/store', [QualidadeColetaController::class, 'store'])->name('qualidade.store'); + Route::get('/qualidade/{coleta_id}/create', [QualidadeColetaController::class, 'pCreate'])->name('qualidade.p.create'); + Route::post('/qualidade/create', [QualidadeColetaController::class, 'create'])->name('qualidade.create'); });