diff --git a/app/Http/Controllers/Admin/AuditionSettings.php b/app/Http/Controllers/Admin/AuditionSettings.php
index b02a8be..665dd06 100644
--- a/app/Http/Controllers/Admin/AuditionSettings.php
+++ b/app/Http/Controllers/Admin/AuditionSettings.php
@@ -33,7 +33,7 @@ class AuditionSettings extends Controller
'payment_state' => ['required', 'max:2'],
'payment_zip' => ['required', 'min:5'],
'advanceTo' => ['nullable'],
- 'nomination_ensemble_rules' => ['required', 'in:disabled,scobda'],
+ 'nomination_ensemble_rules' => ['required', 'in:disabled,scobda,meobda'],
// Options should align with the boot method of NominationEnsembleServiceProvider
]);
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index 7c22988..5211a7e 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -71,10 +71,10 @@ class AppServiceProvider extends ServiceProvider
$this->app->singleton(SetHeadDirector::class, SetHeadDirector::class);
// Nomination Ensemble
- $this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
- $this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
- $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
- $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
+ // $this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
+ // $this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
+ // $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
+ // $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
}
/**
@@ -82,7 +82,6 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot(): void
{
-
Entry::observe(EntryObserver::class);
Audition::observe(AuditionObserver::class);
Room::observe(RoomObserver::class);
diff --git a/app/Providers/NominationEnsembleServiceProvider.php b/app/Providers/NominationEnsembleServiceProvider.php
new file mode 100644
index 0000000..606494a
--- /dev/null
+++ b/app/Providers/NominationEnsembleServiceProvider.php
@@ -0,0 +1,43 @@
+app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
+ $this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
+ $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
+ $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
+ }
+
+ public function boot(): void
+ {
+ if (auditionSetting('nomination_ensemble_rules') === 'scobda') {
+ $this->app->bind(NominationEnsembleController::class, ScobdaNominationEnsembleController::class);
+ $this->app->bind(NominationEnsembleEntryController::class, ScobdaNominationEnsembleEntryController::class);
+ $this->app->bind(NominationAdminController::class, ScobdaNominationAdminController::class);
+ $this->app->bind(NominationSeatingController::class, ScobdaNominationSeatingController::class);
+ }
+
+ if (auditionSetting('nomination_ensemble_rules') === 'meobda') {
+
+ // meobda implementation
+ $this->app->bind(NominationEnsembleController::class, MeobdaNominationEnsembleController::class);
+ }
+ }
+}
diff --git a/bootstrap/providers.php b/bootstrap/providers.php
index eeeccb0..b64af49 100644
--- a/bootstrap/providers.php
+++ b/bootstrap/providers.php
@@ -6,4 +6,5 @@ return [
App\Providers\InvoiceDataServiceProvider::class,
App\Providers\PrintCardActionProvider::class,
Barryvdh\Debugbar\ServiceProvider::class,
+ App\Providers\NominationEnsembleServiceProvider::class,
];
diff --git a/resources/views/admin/audition-settings.blade.php b/resources/views/admin/audition-settings.blade.php
index 70a434e..adb0651 100644
--- a/resources/views/admin/audition-settings.blade.php
+++ b/resources/views/admin/audition-settings.blade.php
@@ -28,6 +28,9 @@
+