Add export entry data option
This commit is contained in:
parent
b85afd032a
commit
23e466c2e6
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Actions\Reports;
|
||||||
|
|
||||||
|
use App\Actions\Tabulation\RankAuditionEntries;
|
||||||
|
use App\Models\Room;
|
||||||
|
use Illuminate\Support\Facades\App;
|
||||||
|
|
||||||
|
class ExportEntryData
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __invoke(): void
|
||||||
|
{
|
||||||
|
$this->getData();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getData()
|
||||||
|
{
|
||||||
|
// Room, Audition, Draw Number, Name, School
|
||||||
|
$ranker = App::make(RankAuditionEntries::class);
|
||||||
|
$exportRows = [
|
||||||
|
'Room,Audition,Draw Number,Student Name,School',
|
||||||
|
];
|
||||||
|
$rooms = Room::all();
|
||||||
|
foreach ($rooms as $room) {
|
||||||
|
$auditions = $room->auditions()->orderBy('room_id')->orderBy('order_in_room')->get();
|
||||||
|
foreach ($auditions as $audition) {
|
||||||
|
$entries = $audition->entries()->orderBy('draw_number')->get();
|
||||||
|
foreach ($entries as $entry) {
|
||||||
|
$thisRow = $audition->room->name.',';
|
||||||
|
$thisRow .= $audition->name.',';
|
||||||
|
$thisRow .= $entry->draw_number.',';
|
||||||
|
$thisRow .= $entry->student->full_name().',';
|
||||||
|
$thisRow .= $entry->student->school->name.',';
|
||||||
|
$exportRows[] = $thisRow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//dd($exportRows);
|
||||||
|
return $exportRows;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
<a href="{{route('admin.entries.index')}}" class="block p-2 hover:text-indigo-600">Entries</a>
|
<a href="{{route('admin.entries.index')}}" class="block p-2 hover:text-indigo-600">Entries</a>
|
||||||
<a href="{{route('admin.view_logs')}}" class="block p-2 hover:text-indigo-600">View Logs</a>
|
<a href="{{route('admin.view_logs')}}" class="block p-2 hover:text-indigo-600">View Logs</a>
|
||||||
<a href="{{route('admin.export_results')}}" class="block p-2 hover:text-indigo-600">Export Results</a>
|
<a href="{{route('admin.export_results')}}" class="block p-2 hover:text-indigo-600">Export Results</a>
|
||||||
|
<a href="{{route('admin.export_entries')}}" class="block p-2 hover:text-indigo-600">Export Entries</a>
|
||||||
<a href="{{route('admin.print_stand_name_tags')}}" class="block p-2 hover:text-indigo-600">Print Stand Name Tags</a>
|
<a href="{{route('admin.print_stand_name_tags')}}" class="block p-2 hover:text-indigo-600">Print Stand Name Tags</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ use App\Http\Controllers\Admin\DrawController;
|
||||||
use App\Http\Controllers\Admin\EnsembleController;
|
use App\Http\Controllers\Admin\EnsembleController;
|
||||||
use App\Http\Controllers\Admin\EntryController;
|
use App\Http\Controllers\Admin\EntryController;
|
||||||
use App\Http\Controllers\Admin\EventController;
|
use App\Http\Controllers\Admin\EventController;
|
||||||
|
use App\Http\Controllers\Admin\ExportEntriesController;
|
||||||
use App\Http\Controllers\Admin\ExportResultsController;
|
use App\Http\Controllers\Admin\ExportResultsController;
|
||||||
use App\Http\Controllers\Admin\PrintCards;
|
use App\Http\Controllers\Admin\PrintCards;
|
||||||
use App\Http\Controllers\Admin\PrintRoomAssignmentsController;
|
use App\Http\Controllers\Admin\PrintRoomAssignmentsController;
|
||||||
|
|
@ -27,6 +28,7 @@ Route::middleware(['auth', 'verified', CheckIfAdmin::class])->prefix('admin/')->
|
||||||
Route::view('/', 'admin.dashboard')->name('admin.dashboard');
|
Route::view('/', 'admin.dashboard')->name('admin.dashboard');
|
||||||
Route::get('/logs', App\Http\Controllers\Admin\LogViewer::class)->name('admin.view_logs');
|
Route::get('/logs', App\Http\Controllers\Admin\LogViewer::class)->name('admin.view_logs');
|
||||||
Route::get('/export_results', ExportResultsController::class)->name('admin.export_results');
|
Route::get('/export_results', ExportResultsController::class)->name('admin.export_results');
|
||||||
|
Route::get('/export_entries', ExportEntriesController::class)->name('admin.export_entries');
|
||||||
Route::get('/print_stand_name_tags', PrintStandNameTagsController::class)->name('admin.print_stand_name_tags');
|
Route::get('/print_stand_name_tags', PrintStandNameTagsController::class)->name('admin.print_stand_name_tags');
|
||||||
Route::get('/recap', [RecapController::class, 'selectAudition'])->name('admin.recap.selectAudition');
|
Route::get('/recap', [RecapController::class, 'selectAudition'])->name('admin.recap.selectAudition');
|
||||||
Route::get('/recap/{audition}', [RecapController::class, 'showRecap'])->name('admin.recap.recap');
|
Route::get('/recap/{audition}', [RecapController::class, 'showRecap'])->name('admin.recap.recap');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue