Add logging to EnterScore action.

This commit is contained in:
Matt Young 2025-06-11 19:55:14 -05:00
parent 036ed38d19
commit 86f715f086
2 changed files with 24 additions and 1 deletions

View File

@ -7,11 +7,14 @@
namespace App\Actions\Tabulation; namespace App\Actions\Tabulation;
use App\Exceptions\ScoreEntryException; use App\Exceptions\ScoreEntryException;
use App\Models\AuditLogEntry;
use App\Models\Entry; use App\Models\Entry;
use App\Models\ScoreSheet; use App\Models\ScoreSheet;
use App\Models\User; use App\Models\User;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use function auth;
class EnterScore class EnterScore
{ {
/** /**
@ -115,6 +118,25 @@ class EnterScore
]); ]);
} }
// Log the score entry
$log_message = 'Entered Score for entry id '.$entry->id.'.<br />';
$log_message .= 'Judge: '.$user->full_name().'<br />';
foreach ($scoreSheet->subscores as $subscore) {
$log_message .= $subscore['subscore_name'].': '.$subscore['score'].'<br />';
}
$log_message .= 'Total: '.$scoreSheet->sheet_total;
AuditLogEntry::create([
'user' => auth()->user()->email ?? 'no user',
'ip_address' => request()->ip(),
'message' => $log_message,
'affected' => [
'entries' => [$entry->id],
'users' => [$user->id],
'auditions' => [$entry->audition_id],
'students' => [$entry->student_id],
],
]);
return $scoreSheet; return $scoreSheet;
} }
} }

View File

@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
@ -15,7 +16,7 @@ class AuditLogEntry extends Model
public function getCreatedAtAttribute($value) public function getCreatedAtAttribute($value)
{ {
return \Carbon\Carbon::parse($value) return Carbon::parse($value)
->setTimezone('America/Chicago') ->setTimezone('America/Chicago')
->format('M j, Y H:i:s'); ->format('M j, Y H:i:s');
} }