Partnercenter: Rollen-Flags fuer Einzelprovision und interne Rollen

- exclude_single_commission: Rollen (z. B. Barkunde 0 %) ziehen den
  produktseitigen Kunden-Einzelrabatt (single_commission/value_commission)
  nicht mehr ab. Behebt: 0-%-Rolle zog trotzdem die Produktprovision.
- hide_registration: interne Rollen (z. B. Mitarbeiter) werden im Wizard
  und der Mitgliedschafts-Auswahl ausgeblendet, bleiben im Admin/Lead
  (HTMLHelper) weiter zuweisbar.
- Migration 2026_09_11_100000 (beide Flags, Default false), Model-casts/
  fillable, Admin-Formular (2 Checkboxen), Warenkorb-Gate in Yard.
- Test tests/Feature/UserLevelSingleCommissionTest.php.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-14 08:57:42 +00:00
parent ef19dc2ced
commit 5e55fa63bb
8 changed files with 752 additions and 521 deletions

View file

@ -0,0 +1,31 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Zwei Steuer-Flags an den Berater-Rollen:
* - exclude_single_commission: Rollen (z. B. Barkunde 0 %) ziehen den produktseitigen
* Kunden-Einzelrabatt (single_commission/value_commission) NICHT mehr ab.
* - hide_registration: interne Rollen (z. B. Mitarbeiter) werden bei der Registrierung
* und der Mitgliedschafts-Auswahl ausgeblendet, bleiben aber im Admin zuweisbar.
* Default false => bestehende Rollen verhalten sich unverändert.
*/
return new class extends Migration
{
public function up(): void
{
Schema::table('user_levels', function (Blueprint $table) {
$table->boolean('exclude_single_commission')->default(false)->after('partner_provision');
$table->boolean('hide_registration')->default(false)->after('exclude_single_commission');
});
}
public function down(): void
{
Schema::table('user_levels', function (Blueprint $table) {
$table->dropColumn(['exclude_single_commission', 'hide_registration']);
});
}
};