From 43f679a554b46d4147c70d9598a70f2b79ce6447 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Thu, 20 Feb 2025 12:59:16 -0800 Subject: [PATCH] Revert some changes from #15525 --- app/Events/NoteAdded.php | 28 -------- app/Http/Controllers/Api/NotesController.php | 43 ----------- app/Listeners/LogListener.php | 18 ----- resources/assets/js/snipeit_modals.js | 17 ++--- routes/api.php | 14 ---- tests/Feature/Notes/AssetNotesTest.php | 76 -------------------- tests/Unit/Listeners/LogListenerTest.php | 16 ----- 7 files changed, 7 insertions(+), 205 deletions(-) delete mode 100644 app/Events/NoteAdded.php delete mode 100644 app/Http/Controllers/Api/NotesController.php delete mode 100644 tests/Feature/Notes/AssetNotesTest.php diff --git a/app/Events/NoteAdded.php b/app/Events/NoteAdded.php deleted file mode 100644 index de5f91ce7..000000000 --- a/app/Events/NoteAdded.php +++ /dev/null @@ -1,28 +0,0 @@ -itemNoteAddedOn = $itemNoteAddedOn; - $this->note = $note; - $this->noteAddedBy = $noteAddedBy; - } -} \ No newline at end of file diff --git a/app/Http/Controllers/Api/NotesController.php b/app/Http/Controllers/Api/NotesController.php deleted file mode 100644 index 97b7ca413..000000000 --- a/app/Http/Controllers/Api/NotesController.php +++ /dev/null @@ -1,43 +0,0 @@ -validate([ - 'note' => 'required|string|max:500', - 'type' => [ - 'required', - Rule::in(['asset']), - ], - ]); - - // This can be made dynamic by using $request->input('type') to determine which model type to add the note to. - // For now, we are only placing this on Assets - $item = Asset::findOrFail($request->input("id")); - $this->authorize('update', $item); - - event(new NoteAdded($item, Auth::user(), $validated['note'])); - - return response()->json(Helper::formatStandardApiResponse('success')); - } - - public function update(Request $request) - { - - } - public function destroy(Request $request) - { - - } -} diff --git a/app/Listeners/LogListener.php b/app/Listeners/LogListener.php index d0da80614..27a916848 100644 --- a/app/Listeners/LogListener.php +++ b/app/Listeners/LogListener.php @@ -17,7 +17,6 @@ use App\Events\ItemAccepted; use App\Events\ItemDeclined; use App\Events\LicenseCheckedIn; use App\Events\LicenseCheckedOut; -use App\Events\NoteAdded; use App\Models\Actionlog; use App\Models\User; use App\Models\LicenseSeat; @@ -129,23 +128,6 @@ class LogListener } - - /** - * Note is added to action log - * - */ - public function onNoteAdded(NoteAdded $event) - { - $logaction = new Actionlog(); - $logaction->item_id = $event->itemNoteAddedOn->id; - $logaction->item_type = get_class($event->itemNoteAddedOn); - $logaction->note = $event->note; //this is the received alphanumeric text from the box - $logaction->created_by = $event->noteAddedBy->id; - $logaction->action_type = 'note_added'; - $logaction->save(); - } - - /** * Register the listeners for the subscriber. * diff --git a/resources/assets/js/snipeit_modals.js b/resources/assets/js/snipeit_modals.js index 250868bbb..874f888a5 100644 --- a/resources/assets/js/snipeit_modals.js +++ b/resources/assets/js/snipeit_modals.js @@ -28,7 +28,7 @@ $(function () { var baseUrl = $('meta[name="baseUrl"]').attr('content'); //handle modal-add-interstitial calls - var model, select, refreshSelector, hasnopayload; + var model, select, refreshSelector; if($('#createModal').length == 0) { $('body').append(''); @@ -40,8 +40,6 @@ $(function () { select = link.data("select"); refreshSelector = link.data("refresh"); - hasnopayload = link.data("hasnopayload"); - $('#createModal').load(link.attr('href'),function () { // this sets the focus to be the name field @@ -123,13 +121,12 @@ $(function () { $('#modal_error_msg').html(error_message).show(); return false; } - if(!hasnopayload) { - var id = result.payload.id; - var name = result.payload.name || (result.payload.first_name + " " + result.payload.last_name); - if (!id || !name) { - console.error("Could not find resulting name or ID from modal-create. Name: " + name + ", id: " + id); - return false; - } + + var id = result.payload.id; + var name = result.payload.name || (result.payload.first_name + " " + result.payload.last_name); + if (!id || !name) { + console.error("Could not find resulting name or ID from modal-create. Name: " + name + ", id: " + id); + return false; } $('#createModal').modal('hide'); $('#createModal').html(""); diff --git a/routes/api.php b/routes/api.php index b51e139a4..96792a8f5 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1302,20 +1302,6 @@ Route::group(['prefix' => 'v1', 'middleware' => ['api', 'throttle:api']], functi )->name('api.activity.index'); }); // end reports api routes - /** - * Notes API routes - */ - - Route::group(['prefix' => 'notes'], function () { - - Route::post( - '/', - [ Api\NotesController::class, - 'store' - ] - )->name('api.notes.store'); - }); // end notes api routes - /** diff --git a/tests/Feature/Notes/AssetNotesTest.php b/tests/Feature/Notes/AssetNotesTest.php deleted file mode 100644 index c666cb9e3..000000000 --- a/tests/Feature/Notes/AssetNotesTest.php +++ /dev/null @@ -1,76 +0,0 @@ -create(); - - $this->actingAsForApi(User::factory()->create()) - ->postJson(route('api.notes.store'), [ - 'note' => 'New Note!', - 'type' => 'asset', - 'id' => $asset->id, - ]) - ->assertForbidden(); - } - - public function testValidation() - { - $asset = Asset::factory()->create(); - - $this->actingAsForApi(User::factory()->editAssets()->create()) - ->postJson(route('api.notes.store'), [ - // 'note' => '', - 'type' => 'a_type_not_asset', - 'id' => $asset->id, - ]) - ->assertOk() - ->assertStatusMessageIs('error') - ->assertJsonValidationErrors(['note', 'type'], 'messages'); - } - - public function testRequiresExistingAsset() - { - $this->actingAsForApi(User::factory()->editAssets()->create()) - ->postJson(route('api.notes.store'), [ - 'note' => 'New Note!', - 'type' => 'asset', - 'id' => 999_999, - ]) - ->assertStatusMessageIs('error') - ->assertMessagesAre('Asset not found'); - } - - public function testCanAddNoteToAsset() - { - Event::fake([NoteAdded::class]); - - $asset = Asset::factory()->create(); - $user = User::factory()->editAssets()->create(); - - $this->actingAsForApi($user) - ->postJson(route('api.notes.store'), [ - 'note' => 'New Note!', - 'type' => 'asset', - 'id' => $asset->id, - ]) - ->assertOk() - ->assertStatusMessageIs('success'); - - Event::assertDispatchedTimes(NoteAdded::class, 1); - Event::assertDispatched(NoteAdded::class, function (NoteAdded $event) use ($asset, $user) { - return $event->itemNoteAddedOn->is($asset) - && $event->note === 'New Note!' - && $event->noteAddedBy->is($user); - }); - } -} diff --git a/tests/Unit/Listeners/LogListenerTest.php b/tests/Unit/Listeners/LogListenerTest.php index 5b0813c28..64dd2a3d6 100644 --- a/tests/Unit/Listeners/LogListenerTest.php +++ b/tests/Unit/Listeners/LogListenerTest.php @@ -3,7 +3,6 @@ namespace Tests\Unit\Listeners; use App\Events\CheckoutableCheckedOut; -use App\Events\NoteAdded; use App\Listeners\LogListener; use App\Models\Asset; use App\Models\User; @@ -38,19 +37,4 @@ class LogListenerTest extends TestCase ]); } - public function testLogsEntryOnAssetNoteCreation() - { - $asset = Asset::factory()->create(); - $noteAddedBy = User::factory()->create(); - - event(new NoteAdded($asset, $noteAddedBy, 'My Cool Note!')); - - $this->assertDatabaseHas('action_logs', [ - 'action_type' => 'note_added', - 'created_by' => $noteAddedBy->id, - 'item_id' => $asset->id, - 'item_type' => Asset::class, - 'note' => 'My Cool Note!', - ]); - } }