Provide for switching implementation of nomination ensemble rules based on audition setting.
This commit is contained in:
parent
e3373cc217
commit
b68b84c4dd
|
|
@ -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
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Http\Controllers\NominationEnsembles\MeobdaNominationEnsembleController;
|
||||
use App\Http\Controllers\NominationEnsembles\NominationAdminController;
|
||||
use App\Http\Controllers\NominationEnsembles\NominationEnsembleController;
|
||||
use App\Http\Controllers\NominationEnsembles\NominationEnsembleEntryController;
|
||||
use App\Http\Controllers\NominationEnsembles\NominationSeatingController;
|
||||
use App\Http\Controllers\NominationEnsembles\ScobdaNominationAdminController;
|
||||
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleController;
|
||||
use App\Http\Controllers\NominationEnsembles\ScobdaNominationEnsembleEntryController;
|
||||
use App\Http\Controllers\NominationEnsembles\ScobdaNominationSeatingController;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
use function auditionSetting;
|
||||
|
||||
class NominationEnsembleServiceProvider extends ServiceProvider
|
||||
{
|
||||
public function register(): void
|
||||
{
|
||||
$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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,4 +6,5 @@ return [
|
|||
App\Providers\InvoiceDataServiceProvider::class,
|
||||
App\Providers\PrintCardActionProvider::class,
|
||||
Barryvdh\Debugbar\ServiceProvider::class,
|
||||
App\Providers\NominationEnsembleServiceProvider::class,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@
|
|||
<option value="scobda" {{ auditionSetting('nomination_ensemble_rules') === 'scobda' ? 'selected':'' }}>
|
||||
SCOBDA Rules
|
||||
</option>
|
||||
<option value="meobda" {{ auditionSetting('nomination_ensemble_rules') === 'meobda' ? 'selected':'' }}>
|
||||
MEOBDA Rules
|
||||
</option>
|
||||
</x-form.select>
|
||||
</x-form.body-grid>
|
||||
</x-layout.page-section>
|
||||
|
|
|
|||
Loading…
Reference in New Issue