add basic device create process

This commit is contained in:
TimmensOne
2023-03-26 12:17:43 +02:00
parent ab5181068d
commit 2524bcc41e
6 changed files with 117 additions and 3 deletions

View File

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\Device;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
class DeviceController extends Controller
{
@ -16,9 +17,24 @@ class DeviceController extends Controller
}
public function create(){
return view('devices.create', [
return view('devices.create');
}
public function store(Request $request){
$formFields = $request->validate([
'device_id' => ['required', Rule::unique('devices', 'device_id')],
'title' => 'required',
'device_type' => 'required',
'description' => 'required',
'accessories' => 'required',
'rz_username_buyer' => ['required', Rule::unique('devices', 'device_id')],
'serial_number' => 'required',
'image_url' => 'required',
]);
Device::create($formFields);
return redirect('/devices');
}
public function show(Device $device)

View File

@ -17,5 +17,8 @@ class Device extends Model
* @var string
*/
protected $primaryKey = 'device_id';
protected $fillable = ['device_id', 'title', 'device_type', 'description', 'accessories', 'rz_username_buyer', 'serial_number', 'image_url'];
use HasFactory;
}

View File

@ -1,5 +1,56 @@
@extends('layout')
@section('content')
create
<form method="POST" action="/devices">
@csrf
<label for="device_id">device_id:</label>
<input type="text" id="device_id" name="device_id" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="title">Title:</label>
<input type="text" id="title" name="title" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="device_type">device_type:</label>
<input type="text" id="device_type" name="device_type" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="accessories">accessories:</label>
<input type="text" id="accessories" name="accessories">
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="rz_username_buyer">rz_username_buyer:</label>
<input type="text" id="rz_username_buyer" name="rz_username_buyer" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="serial_number">serial_number:</label>
<input type="text" id="serial_number" name="serial_number" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="image_url">image_url:</label>
<input id="image_url" name="image_url" required>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<label for="description">description:</label>
<textarea type="text" id="description" name="description"></textarea>
@error('device_id')
<p>{{$message}}</p>
@enderror
<br />
<input type="submit" value="Submit">
</form>
@endsection

View File

@ -24,7 +24,10 @@ Route::get('/devices', [DeviceController::class, 'index']);
// create - show create form
Route::get('/devices/create', [DeviceController::class, 'create']);
// store - store new device
Route::post('/devices', [DeviceController::class, 'store']);
// edit - show edit form
// update - update device
// destroy - delete device