diff --git a/app/Http/Controllers/NominationEnsembles/MeobdaNominationAdminUtilitiesController.php b/app/Http/Controllers/NominationEnsembles/MeobdaNominationAdminUtilitiesController.php
new file mode 100644
index 0000000..7afda35
--- /dev/null
+++ b/app/Http/Controllers/NominationEnsembles/MeobdaNominationAdminUtilitiesController.php
@@ -0,0 +1,81 @@
+ $this->printNameTags(),
+ default => $this->invalidAction(),
+ };
+ }
+
+ private function printNameTags()
+ {
+ $pdf = new Fpdf('P', 'in', 'letter');
+ $pdf->SetFont('Arial', 'B', 36);
+
+ $nominations = NominationEnsembleEntry::with('ensemble')
+ ->with('student.school')
+ ->orderBy('nomination_ensemble_id')
+ ->orderBy('data->split')
+ ->orderBy('data->instrument')
+ ->orderByRaw('CAST(data->"$.seat" AS UNSIGNED)')
+ ->get();
+
+ // echo '
| Ensemble | Split | Instrument | Seat | Name | School |
';
+ // foreach ($nominations as $nomination) {
+ // if (! isset($nomination->data['split'])) {
+ // $temp = $nomination->data;
+ // $temp['split'] = '---';
+ // $nomination->data = $temp;
+ // }
+ // if (! isset($nomination->data['seat'])) {
+ // $temp = $nomination->data;
+ // $temp['seat'] = '---';
+ // $nomination->data = $temp;
+ // }
+ // echo '';
+ // echo '| '.$nomination->ensemble->name.' | ';
+ // echo ''.$nomination->data['split'] ?? 'none'.' | ';
+ // echo ''.$nomination->data['instrument'].' | ';
+ // echo ''.$nomination->data['seat'].' | ';
+ // echo ''.$nomination->student->full_name().' | ';
+ // echo ''.$nomination->student->school->name.' | ';
+ // echo '
';
+ // }
+ // echo '
';
+
+ foreach ($nominations as $nomination) {
+ if (! isset($nomination->data['split'])) {
+ $temp = $nomination->data;
+ $temp['split'] = '---';
+ $nomination->data = $temp;
+ }
+ if (! isset($nomination->data['seat'])) {
+ $temp = $nomination->data;
+ $temp['seat'] = '---';
+ $nomination->data = $temp;
+ }
+ $pdf->AddPage();
+ $pdf->SetY('6');
+ $pdf->Cell(0, .8, $nomination->student->full_name(), 0, 1, 'C');
+ $pdf->Cell(0, .8, $nomination->student->school->name, 0, 1, 'C');
+ $pdf->Cell(0, .8, $nomination->data['split'], 0, 1, 'C');
+ $pdf->Cell(0, .8, $nomination->data['instrument'].' - '.$nomination->data['seat'], 0, 1, 'C');
+
+ }
+ $pdf->Output('D', 'StandNameTags.pdf');
+ }
+
+ private function invalidAction()
+ {
+ return redirect()->back()->with('error', 'Invalid Action');
+ }
+}
diff --git a/app/Http/Controllers/NominationEnsembles/NominationAdminUtilitiesController.php b/app/Http/Controllers/NominationEnsembles/NominationAdminUtilitiesController.php
new file mode 100644
index 0000000..a454d40
--- /dev/null
+++ b/app/Http/Controllers/NominationEnsembles/NominationAdminUtilitiesController.php
@@ -0,0 +1,8 @@
+app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, ScobdaNominationExportController::class);
+ $this->app->bind(NominationAdminUtilitiesController::class, ScobdaNominationAdminUtilitiesController::class);
}
if (auditionSetting('nomination_ensemble_rules') === 'meobda') {
@@ -49,6 +53,7 @@ class NominationEnsembleServiceProvider extends ServiceProvider
$this->app->bind(NominationAdminController::class, MeobdaNominationAdminController::class);
$this->app->bind(NominationSeatingController::class, MeobdaNominationSeatingController::class);
$this->app->bind(NominationExportController::class, MeobdaNominationExportController::class);
+ $this->app->bind(NominationAdminUtilitiesController::class, MeobdaNominationAdminUtilitiesController::class);
}
}
}
diff --git a/resources/views/nomination_ensembles/meobda/admin/seating.blade.php b/resources/views/nomination_ensembles/meobda/admin/seating.blade.php
index 49b4222..0655ecd 100644
--- a/resources/views/nomination_ensembles/meobda/admin/seating.blade.php
+++ b/resources/views/nomination_ensembles/meobda/admin/seating.blade.php
@@ -19,6 +19,11 @@
Export Nominations
+
+
+ Print Stand Name Tags
+
+
diff --git a/routes/nominationEnsemble.php b/routes/nominationEnsemble.php
index 45a6e51..5984f94 100644
--- a/routes/nominationEnsemble.php
+++ b/routes/nominationEnsemble.php
@@ -1,6 +1,7 @@
prefix('nomination/admin/')->group(function () {
+ Route::match(['get', 'post'], '/utilities/{action}',
+ NominationAdminUtilitiesController::class)->name('nomination.admin.utilities');
Route::get('export', NominationExportController::class)->name('nomination.admin.export');
Route::prefix('ensemble/')->controller(NominationEnsembleController::class)->group(function () {
Route::get('/', 'index')->name('nomination.admin.ensemble.index');