diff --git a/app/Models/ReportTemplate.php b/app/Models/ReportTemplate.php index 06f0370a0067..cdd05b6f508c 100644 --- a/app/Models/ReportTemplate.php +++ b/app/Models/ReportTemplate.php @@ -44,44 +44,6 @@ protected static function booted() $builder->where('created_by', auth()->id()); } }); - - static::created(function (ReportTemplate $reportTemplate) { - $logAction = new Actionlog([ - 'item_type' => ReportTemplate::class, - 'item_id' => $reportTemplate->id, - 'created_by' => auth()->id(), - ]); - - $logAction->logaction('create'); - }); - - static::updated(function (ReportTemplate $reportTemplate) { - $changed = []; - - foreach ($reportTemplate->getDirty() as $key => $value) { - $changed[$key] = [ - 'old' => $reportTemplate->getOriginal($key), - 'new' => $reportTemplate->getAttribute($key), - ]; - } - - $logAction = new Actionlog(); - $logAction->item_type = ReportTemplate::class; - $logAction->item_id = $reportTemplate->id; - $logAction->created_by = auth()->id(); - $logAction->log_meta = json_encode($changed); - $logAction->logaction('update'); - }); - - static::deleted(function (ReportTemplate $reportTemplate) { - $logAction = new Actionlog([ - 'item_type' => ReportTemplate::class, - 'item_id' => $reportTemplate->id, - 'created_by' => auth()->id(), - ]); - - $logAction->logaction('delete'); - }); } /** diff --git a/database/migrations/2025_03_04_231256_purge_action_logs_of_report_template_activity.php b/database/migrations/2025_03_04_231256_purge_action_logs_of_report_template_activity.php new file mode 100644 index 000000000000..150df41a48a8 --- /dev/null +++ b/database/migrations/2025_03_04_231256_purge_action_logs_of_report_template_activity.php @@ -0,0 +1,26 @@ +where("item_type", ReportTemplate::class) + ->whereIn("action_type", ["create", "update", "delete"]) + ->delete(); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // nothing to do here... + } +}; diff --git a/tests/Unit/ActionLogTransformer/ReportTemplateActionLogTransformerTest.php b/tests/Unit/ActionLogTransformer/ReportTemplateActionLogTransformerTest.php deleted file mode 100644 index e4d594b497c0..000000000000 --- a/tests/Unit/ActionLogTransformer/ReportTemplateActionLogTransformerTest.php +++ /dev/null @@ -1,71 +0,0 @@ -create(); - - $actionLogs = Actionlog::query() - ->whereMorphedTo('item', ReportTemplate::class) - ->where('action_type', 'create') - ->get(); - - // should be created when ActionLog is created - $this->assertCount(1, $actionLogs); - - $results = (new ActionlogsTransformer())->transformActionlogs($actionLogs, 10); - - $this->assertArrayHasKey('rows', $results); - $this->assertCount(1, $results['rows']); - } - - public function testLogEntryForUpdatingReportTemplateCanBeDisplayedTransformed() - { - $reportTemplate = ReportTemplate::factory()->create(); - - $reportTemplate->update([ - 'options' => ['new' => 'value'] - ]); - - $actionLogs = Actionlog::query() - ->whereMorphedTo('item', ReportTemplate::class) - ->where('action_type', 'update') - ->get(); - - $this->assertCount(1, $actionLogs); - - $results = (new ActionlogsTransformer())->transformActionlogs($actionLogs, 10); - - $this->assertArrayHasKey('rows', $results); - $this->assertCount(1, $results['rows']); - } - - public function testLogEntryForDeletingReportTemplateCanBeDisplayedTransformed() - { - $reportTemplate = ReportTemplate::factory()->create(); - - $reportTemplate->delete(); - - $actionLogs = Actionlog::query() - ->whereMorphedTo('item', ReportTemplate::class) - ->where('action_type', 'delete') - ->get(); - - $this->assertCount(1, $actionLogs); - - $results = (new ActionlogsTransformer())->transformActionlogs($actionLogs, 10); - - $this->assertArrayHasKey('rows', $results); - $this->assertCount(1, $results['rows']); - } -} diff --git a/tests/Unit/Models/ReportTemplates/ReportTemplateActivityLoggingTest.php b/tests/Unit/Models/ReportTemplates/ReportTemplateActivityLoggingTest.php deleted file mode 100644 index e30a7e2c7986..000000000000 --- a/tests/Unit/Models/ReportTemplates/ReportTemplateActivityLoggingTest.php +++ /dev/null @@ -1,100 +0,0 @@ -create(); - $this->actingAs($user); - - $reportTemplate = ReportTemplate::factory()->create(); - - $this->assertDatabaseHas('action_logs', [ - 'created_by' => $user->id, - 'action_type' => 'create', - 'target_id' => null, - 'target_type' => null, - 'item_type' => ReportTemplate::class, - 'item_id' => $reportTemplate->id, - ]); - } - - public function testUpdatingReportTemplateIsLogged() - { - $user = User::factory()->create(); - $this->actingAs($user); - - $reportTemplate = ReportTemplate::factory()->create([ - 'name' => 'Name A', - 'options' => [ - 'company' => '1', - 'location' => '1', - 'by_company_id' => ['1'], - 'by_location_id' => ['17'], - ], - ]); - - $reportTemplate->update([ - 'name' => 'Another Name', - 'options' => [ - 'company' => '1', - 'by_company_id' => ['1'], - ], - ]); - - $this->assertDatabaseHas('action_logs', [ - 'created_by' => $user->id, - 'action_type' => 'update', - 'target_id' => null, - 'target_type' => null, - 'item_type' => ReportTemplate::class, - 'item_id' => $reportTemplate->id, - 'log_meta' => json_encode([ - 'name' => [ - 'old' => 'Name A', - 'new' => 'Another Name' - ], - 'options' => [ - 'old' => [ - 'company' => '1', - 'location' => '1', - 'by_company_id' => ['1'], - 'by_location_id' => ['17'], - ], - 'new' => [ - 'company' => '1', - 'by_company_id' => ['1'], - ], - ], - ]), - ]); - } - - public function testDeletingReportTemplateIsLogged() - { - $user = User::factory()->create(); - $this->actingAs($user); - - $reportTemplate = ReportTemplate::factory()->create(); - - $reportTemplate->delete(); - - $this->assertDatabaseHas('action_logs', [ - 'created_by' => $user->id, - 'action_type' => 'delete', - 'target_id' => null, - 'target_type' => null, - 'item_type' => ReportTemplate::class, - 'item_id' => $reportTemplate->id, - ]); - } -}