<?php
namespace App\Controllers;
use App\Controllers\BaseController;
use App\Models\RecipeCatModel;
class CatController extends BaseController
{
public function index(){
$subjects = new RecipeCatModel();
## Fetch all records
$data['subjects'] = $subjects->findAll();
return view('admin/cat/index',$data);
}
public function create(){
return view('admin/cat/create');
}
public function store(){
$request = service('request');
$postData = $request->getPost();
if(isset($postData['submit'])){
## Validation
$input = $this->validate([
'kategori' => 'required|min_length[3]|is_unique[kategori.kategori]',
],
[ // ERRORS
'kategori' => [ 'min_length' => 'Kategori må inneholde minst 3 bokstaver',
'is_unique' => 'Denne kategorien finnes allerede']
]);
if (!$input) {
return redirect()->route('admin/cat/create')->withInput()->with('validation',$this->validator); //THIS WORKS JUST FINE
} else {
$subjects = new RecipeCatModel();
$data = [
'kategori' => $postData['kategori'],
];
## Insert Record
if($subjects->insert($data)){
session()->setFlashdata('message', 'Added Successfully!');
session()->setFlashdata('alert-class', 'alert-success');
return redirect()->route('admin/cat/create');
}else{
session()->setFlashdata('message', 'Data not saved!');
session()->setFlashdata('alert-class', 'alert-danger');
return redirect()->route('admin/cat/create')->withInput();
}
}
}
}
public function edit($id = 0){
## Select record by id
$subjects = new RecipeCatModel();
$subject = $subjects->find($id);
$data['subject'] = $subject;
return view('admin/cat/edit',$data);
}
public function update($id = 0){
$request = service('request');
$postData = $request->getPost();
if(isset($postData['submit'])){
## Validation
$input = $this->validate([
'kategori' => 'required|min_length[3]',
],
[ // ERRORS
'kategori' => [ 'min_length' => 'Kategori må inneholde minst 3 bokstaver']
]);
if (!$input) {
return redirect()->route('admin/cat/edit/'.$id)->withInput()->with('validation',$this->validator); //THIS ONE FAILES
} else {
$subjects = new RecipeCatModel();
$data = [
'kategori' => $postData['kategori'],
];
## Update record
if($subjects->update($id,$data)){
session()->setFlashdata('message', 'Updated Successfully!');
session()->setFlashdata('alert-class', 'alert-success');
return redirect()->route('admin/cat/list');
}else{
session()->setFlashdata('message', 'Data not saved!');
session()->setFlashdata('alert-class', 'alert-danger');
return redirect()->route('cat/edit/'.$id)->withInput();
}
}
}
}
public function delete($id=0){
$subjects = new RecipeCatModel();
## Check record
if($subjects->find($id)){
## Delete record
$subjects->delete($id);
session()->setFlashdata('message', 'Deleted Successfully!');
session()->setFlashdata('alert-class', 'alert-success');
}else{
session()->setFlashdata('message', 'Record not found!');
session()->setFlashdata('alert-class', 'alert-danger');
}
return redirect()->route('admin/cat/list');
}
}