A1-A4 und E1 live seit 23.09., B2, A07, Abo-Warnung und E1-Nachtraege live seit 25.09., Settings auf 0, Montenegro beendet. Offen: erster user:cleanup-Lauf, Seeder fuer den Challenge-Start 09.10. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5.8 KiB
Deploy 22.09.2026 — E1 Recruiting Challenge (live seit 23.09.)
Stand 25.09.: Deployt am 23.09., Nachträge (Gleichstand, Zählung nach Zahlungsdatum, Schalter „Abos berücksichtigen“) live seit 25.09. Montenegro ist beendet. Start der Challenge verschoben auf den 9. Oktober; Seeder mit neuem Datum und EN/ES/FR-Texten erneut einspielen (
php artisan db:seed --class=RecruitingChallenge2026Seeder --force). Aktueller Stand im Entwicklungsplan E1.
Paket aus dem Entwicklungsplan E1, Inhalte in
2026-09-18-recruiting-challenge-inhalte.md.
Letzter Deploy-Stand auf Produktion: 203999a (14.09., Team-Statistik).
Commits
| Commit | Inhalt |
|---|---|
b28f51b |
Geldprämie, Umsatzpunkte-Schalter, Auszahlungs-Export, mehrere aktive Incentives |
0894733, b091dd9 |
Inhaltsvorlage, Texte als Seeder |
9879e67 |
„Nur für VIP sichtbar“, Teilnahme-Block oben |
186398a, 99370b3 |
Bilder je Incentive, Prämie je Teampartner statt Punkte |
a1d8902, 10b7494, 5204444 |
Eine Incentive-Seite (Teaser + Rangliste), Layout |
9b6717c, fb4313f |
VIP-Badge in der Navigation, Titelbild, Dashboard mit einem Button |
Das Paket ist unabhängig vom noch offenen Abo-/Audit-Paket (c0535be, ec3ecad, 66c6ae0, 4899e3a,
74 Dateien); die einzige gemeinsame Datei ist der Entwicklungsplan. Beide Pakete können getrennt oder
zusammen live gehen.
Achtung: drei Dateien nicht aus dem Arbeitsverzeichnis hochladen
app/Http/Controllers/HomeController.php, routes/domains/crm.php und
resources/views/layouts/includes/layout-sidenav.blade.php enthalten im Arbeitsverzeichnis zusätzlich
uncommittete Arbeit (Newsletter-Listen, Berater-Übertragung, Payline). Deshalb liegt das komplette Paket als
Archiv aus dem Commit-Stand bereit:
storage/app/deploy/e1-recruiting-challenge-2026-09-22.tar.gz
Erzeugt mit git archive HEAD … über alle geänderten Dateien ohne tests/ und dev/. Das Archiv auf dem
Server im Projektverzeichnis entpacken (tar -xzf … -C /pfad/zum/projekt), es enthält die Pfade relativ
zur Projektwurzel.
Dateien im Paket
app/Http/Controllers/Admin/IncentiveController.php
app/Http/Controllers/HomeController.php
app/Http/Controllers/User/IncentiveController.php
app/Models/Incentive.php
app/Models/IncentiveParticipant.php
app/Services/Incentive/IncentivePayoutService.php (neu)
app/Services/Incentive/IncentivePointsLogRepairService.php
app/Services/Incentive/IncentiveTracker.php
database/migrations/2026_09_18_130000_add_payout_fields_to_incentives_table.php (neu)
database/migrations/2026_09_22_100000_add_vip_only_to_incentives_table.php (neu)
database/seeders/RecruitingChallenge2026Seeder.php (neu)
public/img/incentive/montenegro-incentive-2026/nikki-beach*.jpg (8 Dateien, verschoben)
public/img/incentive/recruiting-challenge-2026-27/incentive-recruiting-2026.jpg (neu)
resources/lang/de/incentive.php, en, es, fr
resources/views/admin/incentive/_form.blade.php
resources/views/admin/incentive/show.blade.php
resources/views/dashboard/_incentive.blade.php
resources/views/layouts/includes/layout-sidenav.blade.php
resources/views/user/incentive/_how_it_works.blade.php (neu)
resources/views/user/incentive/_payout_bullets.blade.php (neu)
resources/views/user/incentive/_payout_tile.blade.php (neu)
resources/views/user/incentive/details.blade.php
resources/views/user/incentive/teaser.blade.php
routes/domains/crm.php
Auf dem Server löschen:
resources/views/user/incentive/show.blade.php
public/img/incentive/nikki-beach.jpg … nikki-beach7.jpg (liegen jetzt im Unterordner)
Terminal
composer dump-autoload # neuer Seeder
php artisan migrate # incentives: amount_per_partner, bonus_rank_1..3, include_sales_points, vip_only
php artisan db:seed --class=RecruitingChallenge2026Seeder # Challenge als Entwurf, nur VIP, mit Texten und Bild
php artisan view:clear && php artisan route:clear && php artisan config:clear
Die Migrationen fügen nur Spalten mit Standardwerten hinzu, Montenegro bleibt unverändert (Umsatzpunkte an, keine Prämie, für alle sichtbar). Kein Snapshot-Neuaufbau, keine Datenänderung.
Danach im Admin
- Incentives → „Recruiting Challenge 2026/27“ öffnen, Texte und Werte prüfen (50 € / 500 / 300 / 200, Umsatzpunkte aus, nur VIP).
- Status auf „Aktiv“ stellen. Sichtbar ist die Challenge dann nur für VIP-Konten (Sidenav mit Badge „VIP“, Dashboard-Karte, Seite
/incentive/recruiting-challenge-2026-27). - Nach Freigabe durch Dani/Alois: Haken „Nur für VIP sichtbar“ entfernen. Ab dann sehen alle Berater die Challenge.
Gezählt wird ab 09.10. (bis 24.09. geplant: 01.10.) automatisch, unabhängig vom Zeitpunkt der Freischaltung (incentive:calculate
läuft täglich 05:00 für alle aktiven Incentives).
Woran man merkt, dass etwas nicht stimmt
- Montenegro-Seite: Galerie zeigt weiterhin die acht Strandfotos (Unterordner wurde hochgeladen).
- Challenge-Seite als VIP: Teilnahme-Block oben, Titelbild, drei Kacheln, „So funktioniert die Challenge“ über die volle Breite, Live-Ranking unten, keine Impressionen.
- Als normaler Berater: Challenge nirgends sichtbar,
/incentive/recruiting-challenge-2026-27liefert 404. - Admin-Detailseite: Button „Auszahlungs-Export (XLSX)“ und Badge „nur VIP“.
Offen (nicht in diesem Paket)
Gleichstandsregel „zuerst erreicht“ (live 25.09.), Storno entfernt Wertung, Export nur bestätigte Teilnehmer,
Übersetzungen EN/ES/FR (im Seeder, 25.09.) — siehe Abschnitte 9 und 10 der Inhaltsvorlage.