1 Commits

Author SHA1 Message Date
fe47b79a25 Fix controller cleanup issues
All checks were successful
Tests / Laravel tests (pull_request) Successful in 3m24s
2026-06-03 21:57:10 +02:00
9 changed files with 18 additions and 35 deletions

View File

@@ -29,11 +29,6 @@ class EducationController extends Controller
return redirect()->route('educations.index')->with('success', 'Opleiding toegevoegd.'); return redirect()->route('educations.index')->with('success', 'Opleiding toegevoegd.');
} }
public function show(Education $education)
{
return view('educations.show', compact('education'));
}
public function edit(Education $education) public function edit(Education $education)
{ {
return view('educations.edit', compact('education')); return view('educations.edit', compact('education'));

View File

@@ -3,7 +3,6 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Personalia; use App\Models\Personalia;
use Illuminate\Http\Request;
use App\Http\Requests\PersonaliaRequest; use App\Http\Requests\PersonaliaRequest;
class PersonaliaController extends Controller class PersonaliaController extends Controller
@@ -38,7 +37,7 @@ class PersonaliaController extends Controller
return view('personalia.edit', ['personalia' => $personalium]); return view('personalia.edit', ['personalia' => $personalium]);
} }
public function update(Request $request, Personalia $personalium) public function update(PersonaliaRequest $request, Personalia $personalium)
{ {
$validated = $request->validated(); $validated = $request->validated();
@@ -49,9 +48,9 @@ class PersonaliaController extends Controller
return redirect()->route('personalia.index')->with('success', 'Persoonlijk item bijgewerkt.'); return redirect()->route('personalia.index')->with('success', 'Persoonlijk item bijgewerkt.');
} }
public function destroy(Personalia $personalia) public function destroy(Personalia $personalium)
{ {
$personalia->delete(); $personalium->delete();
return redirect()->route('personalia.index')->with('success', 'Persoonlijk item verwijderd.'); return redirect()->route('personalia.index')->with('success', 'Persoonlijk item verwijderd.');
} }

View File

@@ -3,10 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Skill; use App\Models\Skill;
use Illuminate\Http\Request;
use App\Http\Requests\SkillRequest; use App\Http\Requests\SkillRequest;
class SkillController extends Controller class SkillController extends Controller
{ {
public function index() public function index()
@@ -31,11 +29,6 @@ class SkillController extends Controller
return redirect()->route('skills.index')->with('success', 'Vaardigheid toegevoegd.'); return redirect()->route('skills.index')->with('success', 'Vaardigheid toegevoegd.');
} }
public function show(Skill $skill)
{
return view('skills.show', compact('skill'));
}
public function edit(Skill $skill) public function edit(Skill $skill)
{ {
return view('skills.edit', compact('skill')); return view('skills.edit', compact('skill'));

View File

@@ -3,10 +3,8 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\WorkExperience; use App\Models\WorkExperience;
use Illuminate\Http\Request;
use App\Http\Requests\WorkExperienceRequest; use App\Http\Requests\WorkExperienceRequest;
class WorkExperienceController extends Controller class WorkExperienceController extends Controller
{ {
public function index() public function index()
@@ -32,11 +30,6 @@ class WorkExperienceController extends Controller
return redirect()->route('work-experiences.index')->with('success', 'Ervaring toegevoegd.'); return redirect()->route('work-experiences.index')->with('success', 'Ervaring toegevoegd.');
} }
public function show(WorkExperience $workExperience)
{
return view('work_experiences.show', compact('workExperience'));
}
public function edit(WorkExperience $workExperience) public function edit(WorkExperience $workExperience)
{ {
return view('work_experiences.edit', compact('workExperience')); return view('work_experiences.edit', compact('workExperience'));

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" id="svg2" xml:space="preserve" viewBox="0 0 406.66666 473.33334" sodipodi:docname="Beeldmerk.ai"><metadata id="metadata8"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><defs id="defs6"/><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="640" inkscape:window-height="480" id="namedview4"/><g id="g10" inkscape:groupmode="layer" inkscape:label="Beeldmerk" transform="matrix(1.3333333,0,0,-1.3333333,0,473.33333)"><g id="g12" transform="translate(192.9405,297.8561)"><path d="M 0,0 3.661,-204.853 95.917,-260.941 95.291,47.32 Z" style="fill:#009000;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path14"/></g><g id="g16" transform="translate(287.7484,238.091)"><path d="M 0,0 -183.898,-87.583 -275.154,-31.495 1.239,108.114 Z" style="fill:#00ab00;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path18"/></g><g id="g20" transform="translate(172.7637,52.3648)"><path d="M 0,0 -93.429,-43.886 -96.399,59 -2.97,102.886 Z" style="fill:#ee0004;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path22"/></g><g id="g24" transform="translate(169.794,155.2513)"><path d="m 0,0 2.97,-102.886 -93.429,-43.887" style="fill:#d8000e;fill-opacity:1;fill-rule:nonzero;stroke:none" id="path26"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -134,7 +134,7 @@
&copy; {{ date('Y') }} Roberto Guagliardo. Alle rechten voorbehouden. &copy; {{ date('Y') }} Roberto Guagliardo. Alle rechten voorbehouden.
</footer> </footer>
<div id="custom-cursor"> <div id="custom-cursor">
{!! file_get_contents(public_path('storage/sitiweb.svg')) !!} {!! file_get_contents(resource_path('images/sitiweb.svg')) !!}
</div> </div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>

View File

@@ -19,10 +19,10 @@ Route::middleware('auth')->group(function () {
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::resource('work-experiences', \App\Http\Controllers\WorkExperienceController::class); Route::resource('work-experiences', \App\Http\Controllers\WorkExperienceController::class)->except(['show']);
Route::resource('skills', SkillController::class); Route::resource('skills', SkillController::class)->except(['show']);
Route::resource('personalia', PersonaliaController::class); Route::resource('personalia', PersonaliaController::class)->except(['show']);
Route::resource('educations', EducationController::class); Route::resource('educations', EducationController::class)->except(['show']);
}); });

View File

@@ -41,7 +41,7 @@ test('the homepage shows the public cv data', function () {
->assertViewHas('personalia', fn ($personalia) => $personalia->contains($personalium)) ->assertViewHas('personalia', fn ($personalia) => $personalia->contains($personalium))
->assertViewHas('education', fn ($educations) => $educations->contains($education)) ->assertViewHas('education', fn ($educations) => $educations->contains($education))
->assertViewHas('experience', fn ($experiences) => $experiences->contains($experience)); ->assertViewHas('experience', fn ($experiences) => $experiences->contains($experience));
})->skip('Homepage currently depends on missing public/storage/sitiweb.svg.'); });
test('a hidden personalia value can be requested and the click is queued for notification', function () { test('a hidden personalia value can be requested and the click is queued for notification', function () {
Queue::fake(); Queue::fake();

View File

@@ -88,11 +88,12 @@ test('an authenticated user can update personalia', function () {
->assertSessionHasNoErrors() ->assertSessionHasNoErrors()
->assertRedirect(route('personalia.index')); ->assertRedirect(route('personalia.index'));
expect($personalium->refresh()) $personalium->refresh();
->value->toBe('new@example.com')
->hidden->toBeFalse() expect($personalium->value)->toBe('new@example.com');
->icon->toBe('fa-regular fa-envelope'); expect($personalium->hidden)->toBeFalse();
})->skip('PersonaliaController::update currently uses Request instead of PersonaliaRequest.'); expect($personalium->icon)->toBe('fa-regular fa-envelope');
});
test('an authenticated user can delete personalia', function () { test('an authenticated user can delete personalia', function () {
$user = User::factory()->create(); $user = User::factory()->create();
@@ -104,4 +105,4 @@ test('an authenticated user can delete personalia', function () {
->assertRedirect(route('personalia.index')); ->assertRedirect(route('personalia.index'));
$this->assertDatabaseMissing('personalia', ['id' => $personalium->id]); $this->assertDatabaseMissing('personalia', ['id' => $personalium->id]);
})->skip('PersonaliaController::destroy currently does not match the resource route parameter binding.'); });