From ac3bd6e8ea57c39d2da848ef035df90140d5f599 Mon Sep 17 00:00:00 2001 From: Kevin Date: Fri, 24 Jul 2026 13:51:16 +0000 Subject: [PATCH] Statistiken/Abo: Kundenfeedback 2026-07-24 komplett umgesetzt + Steuern: DATEV-Fixes 08+09/2025 (Sammel-Commit Branch-WIP) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Feedback-Umsetzung (dev/2026-07-22/feedback-analyse-2026-07-24.md, alle 10 Punkte): - VIP-Statistik: eigener Berater ('ich', Linie 0) in Neue-Kundenabos- und beiden Top-10-Listen; Top-10-Umsatz sortiert nach abgerechneten Ist-Punkten + Abo-Anzahl-Spalte; Fußnote nicht-payline-wirksame Punkte (SalesVolumePoints::nonPaylinePoints) - Führungskräfte-Liste: beide Sichten 'direkt' (an nächster FK abgeschnitten, additiv) und 'gesamt' (komplette Downline), Gesamt-Spalte nach Kundenzählweise - Team-Abos: je Ebene 'abgerechnet (Monat)' und 'bis zum 25. erwartet'; Payline-Karte mit Teamabo-/Kundenabo-Zählern - Incentive-Live-Ranking: Qualifizierte zuerst nummeriert (fixt auch isWinner rank<=max_winners) - Porto: Netto-/Brutto-Kennzeichnung (Berater netto, Endkunden inkl. MwSt., portal_view-Flag; auch CRM-/Shop-Warenkorb + Checkout), Yard::shipping_tax-Fix - Struktur-Ansicht: Abo-Badges 'A' (eigenes Abo) und '(n)' (Kundenabos) je Teampartner, gebatcht - Abo-Löschung: Softdelete setzt active=0 (UserAbo deleting-Hook) + Bereinigungs-Migration für gelöschte-aber-aktive Abos - Doku: technische Analyse + Kundinnen-Feedback-Dokument unter dev/2026-07-22/ - Tests: IncentiveRankingTest, TeamStructureAboBadgesTest, YardShippingTaxTest (neu); BackofficeStatisticsListsTest, TeamAboOverviewTest, PaylineForecastServiceTest, AboAdminDeleteTest, AboOneTimeViewTest erweitert Außerdem enthalten (Branch-WIP vor dem Feedback): DATEV-Abgleich-Fixes 08+09/2025, USt-ID-Live-Validierung sowie restliche unkommittete Stände (u. a. Abo-Pause-Sprachkeys). Co-Authored-By: Claude Fable 5 --- .../Commands/DeleteAllKasSubdomains.php | 214 ------ .../Commands/DeletePartnerShopSubdomains.php | 241 ------- app/Console/Commands/GdprDeleteUser.php | 72 ++ app/Console/Commands/SubDomains.php | 664 ------------------ app/Exceptions/GdprDeletionException.php | 11 + app/Http/Controllers/Admin/AboController.php | 3 +- app/Http/Controllers/AdminUserController.php | 165 +++-- app/Http/Controllers/Api/KasController.php | 116 --- .../Api/ShoppingUserController.php | 24 +- app/Http/Controllers/CustomerController.php | 91 ++- app/Http/Controllers/FileController.php | 25 +- app/Http/Controllers/HomeController.php | 63 +- app/Http/Controllers/ModalController.php | 11 +- app/Http/Controllers/Portal/AboController.php | 9 + app/Http/Controllers/SyS/SysController.php | 7 - app/Http/Controllers/User/AboController.php | 6 + .../User/BackofficeStatisticsController.php | 33 +- app/Http/Controllers/User/TeamController.php | 26 +- app/Http/Controllers/UserShopController.php | 180 ++--- app/Http/Controllers/Web/SiteController.php | 38 +- app/Models/ShoppingOrder.php | 61 +- app/Models/UserAbo.php | 26 + app/Models/UserAboStatusHistory.php | 127 ++++ app/Models/UserShop.php | 185 ++--- app/Repositories/AboRepository.php | 117 ++- app/Repositories/CreditRepository.php | 6 +- app/Repositories/UserRepository.php | 88 +-- app/Services/Abo/PaylineForecastService.php | 250 +++++++ app/Services/Abo/TeamAboOverviewService.php | 93 ++- app/Services/AboHelper.php | 83 ++- .../Backoffice/BackofficeDashboardService.php | 372 +++++++++- .../Backoffice/BackofficeDrilldownService.php | 100 ++- app/Services/Backoffice/SalesVolumePoints.php | 24 +- .../BusinessPlan/LiveCommissionService.php | 145 ++++ .../BusinessPlan/TreeHtmlRenderer.php | 237 +++++-- app/Services/Credit.php | 12 +- app/Services/DatevExportService.php | 128 +++- app/Services/GdprDeletionService.php | 353 ++++++++++ app/Services/Incentive/IncentiveTracker.php | 3 + app/Services/SyS/DomainSSL.php | 198 ------ app/Services/SyS/ShoppingOrders.php | 29 +- app/Services/UserService.php | 47 ++ app/Services/UserUtil.php | 10 - app/Services/VatIdService.php | 173 +++++ app/Services/Yard.php | 2 +- config/services.php | 9 +- ...51_add_pause_fields_to_user_abos_table.php | 29 + ...create_user_abo_status_histories_table.php | 36 + ...0000_deactivate_soft_deleted_user_abos.php | 27 + .../Abgleich 08._09.2025-Konto-4764.csv | 3 + .../Abgleich 08._09.2025-Konto-8125.csv | 15 + .../Abgleich 08._09.2025-Konto-8300.csv | 7 + .../Abgleich 08._09.2025-Konto8400.csv | 37 + dev/2026-07-17-steuern/INFO-Steuerberater.md | 135 ++++ dev/2026-07-17-steuern/UMSETZUNG-fixes.md | 181 +++++ dev/2026-07-22/Statistiken kontrolliert.pdf | Bin 0 -> 1506944 bytes dev/2026-07-22/entwicklungskonzept.md | 233 ++++++ .../feedback-an-kundin-statistiken.md | 106 +++ dev/2026-07-22/feedback-analyse-2026-07-24.md | 261 +++++++ dev/2026-07-22/neuerungen-fuer-berater.md | 116 +++ dev/2026-07-22/todos.md | 89 +++ dev/log-errors/errors.md | 43 ++ phpunit.xml | 1 + resources/lang/de/abo.php | 18 + resources/lang/de/abo_history.php | 6 + resources/lang/de/home.php | 6 + resources/lang/de/msg.php | 9 + resources/lang/de/order.php | 1 + resources/lang/de/team.php | 4 + resources/lang/en/abo.php | 18 + resources/lang/en/abo_history.php | 6 + resources/lang/en/home.php | 6 + resources/lang/en/msg.php | 9 + resources/lang/en/order.php | 1 + resources/lang/en/team.php | 4 + resources/lang/es/abo.php | 18 + resources/lang/es/abo_history.php | 6 + resources/lang/es/home.php | 6 + resources/lang/es/msg.php | 9 + resources/lang/es/order.php | 1 + resources/lang/es/team.php | 4 + resources/lang/fr/abo.php | 18 + resources/lang/fr/abo_history.php | 6 + resources/lang/fr/home.php | 6 + resources/lang/fr/msg.php | 9 + resources/lang/fr/order.php | 1 + resources/lang/fr/team.php | 2 + .../views/admin/abo/_change_history.blade.php | 29 + resources/views/admin/abo/_detail.blade.php | 4 +- .../views/admin/abo/_order_abo_show.blade.php | 7 +- .../abo/_order_combined_summary.blade.php | 8 +- .../admin/abo/modal_abo_update.blade.php | 57 +- .../views/admin/customer/detail.blade.php | 36 + .../payment/modal_credit_status.blade.php | 6 +- .../views/admin/settings/index.blade.php | 8 + resources/views/admin/user/index.blade.php | 13 + .../views/dashboard/_statistics.blade.php | 66 +- .../views/portal/abo/_create_check.blade.php | 7 +- resources/views/portal/abo/my_abo.blade.php | 4 +- resources/views/sys/index.blade.php | 2 - .../views/sys/tools/domain-ssl.blade.php | 228 ------ .../backoffice/statistics/details.blade.php | 19 + .../backoffice/statistics/index.blade.php | 257 ++++++- .../user/components/user_shop_edit.blade.php | 26 - .../views/user/order/yard_view_form.blade.php | 2 +- .../shop/sales/api_order_list_total.blade.php | 2 +- resources/views/user/team/abos.blade.php | 52 +- resources/views/web/templates/card.blade.php | 5 +- .../views/web/templates/checkout.blade.php | 5 +- routes/domains/crm.php | 1 + tests/Feature/AboAdminDeleteTest.php | 16 + tests/Feature/AboOneAboRuleTest.php | 94 +++ tests/Feature/AboOneTimeViewTest.php | 56 +- tests/Feature/AboPauseTest.php | 227 ++++++ tests/Feature/AboUpdateAuthorizationTest.php | 223 ++++++ tests/Feature/AdminAboDatatableSortTest.php | 81 +++ tests/Feature/ApiOrderFreeShippingTest.php | 156 ++++ .../BackofficeStatisticsAccessTest.php | 22 +- .../BackofficeStatisticsDrilldownTest.php | 91 +++ .../Feature/BackofficeStatisticsListsTest.php | 312 ++++++++ .../AssignMonthlyQualKpBonusPointsTest.php | 20 +- .../Feature/CheckoutVatIdRevalidationTest.php | 147 ++++ .../DeleteAllKasSubdomainsCommandTest.php | 109 --- ...DeletePartnerShopSubdomainsCommandTest.php | 113 --- tests/Feature/GdprDeletionTest.php | 371 ++++++++++ .../Incentive/IncentiveRankingTest.php | 134 ++++ tests/Feature/LiveCommissionServiceTest.php | 151 ++++ tests/Feature/PaylineForecastServiceTest.php | 254 +++++++ tests/Feature/TeamAboOverviewTest.php | 41 ++ tests/Feature/TeamStructureAboBadgesTest.php | 112 +++ tests/Feature/YardShippingTaxTest.php | 63 ++ .../SiteControllerTemplateGuardTest.php | 43 ++ tests/Unit/Incentive/IncentiveTrackerTest.php | 29 +- .../BackofficeDashboardServiceTest.php | 8 + .../Unit/Services/DatevExportServiceTest.php | 136 +++- tests/Unit/Services/VatIdServiceTest.php | 75 ++ 136 files changed, 7610 insertions(+), 2688 deletions(-) delete mode 100644 app/Console/Commands/DeleteAllKasSubdomains.php delete mode 100644 app/Console/Commands/DeletePartnerShopSubdomains.php create mode 100644 app/Console/Commands/GdprDeleteUser.php delete mode 100644 app/Console/Commands/SubDomains.php create mode 100644 app/Exceptions/GdprDeletionException.php delete mode 100644 app/Http/Controllers/Api/KasController.php create mode 100644 app/Models/UserAboStatusHistory.php create mode 100644 app/Services/Abo/PaylineForecastService.php create mode 100644 app/Services/BusinessPlan/LiveCommissionService.php create mode 100644 app/Services/GdprDeletionService.php delete mode 100644 app/Services/SyS/DomainSSL.php create mode 100644 app/Services/VatIdService.php create mode 100644 database/migrations/2026_07_22_160651_add_pause_fields_to_user_abos_table.php create mode 100644 database/migrations/2026_07_22_160652_create_user_abo_status_histories_table.php create mode 100644 database/migrations/2026_07_24_120000_deactivate_soft_deleted_user_abos.php create mode 100644 dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-4764.csv create mode 100644 dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8125.csv create mode 100644 dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8300.csv create mode 100644 dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto8400.csv create mode 100644 dev/2026-07-17-steuern/INFO-Steuerberater.md create mode 100644 dev/2026-07-17-steuern/UMSETZUNG-fixes.md create mode 100644 dev/2026-07-22/Statistiken kontrolliert.pdf create mode 100644 dev/2026-07-22/entwicklungskonzept.md create mode 100644 dev/2026-07-22/feedback-an-kundin-statistiken.md create mode 100644 dev/2026-07-22/feedback-analyse-2026-07-24.md create mode 100644 dev/2026-07-22/neuerungen-fuer-berater.md create mode 100644 dev/2026-07-22/todos.md create mode 100644 dev/log-errors/errors.md delete mode 100644 resources/views/sys/tools/domain-ssl.blade.php create mode 100644 tests/Feature/AboOneAboRuleTest.php create mode 100644 tests/Feature/AboPauseTest.php create mode 100644 tests/Feature/AboUpdateAuthorizationTest.php create mode 100644 tests/Feature/AdminAboDatatableSortTest.php create mode 100644 tests/Feature/ApiOrderFreeShippingTest.php create mode 100644 tests/Feature/CheckoutVatIdRevalidationTest.php delete mode 100644 tests/Feature/DeleteAllKasSubdomainsCommandTest.php delete mode 100644 tests/Feature/DeletePartnerShopSubdomainsCommandTest.php create mode 100644 tests/Feature/GdprDeletionTest.php create mode 100644 tests/Feature/Incentive/IncentiveRankingTest.php create mode 100644 tests/Feature/LiveCommissionServiceTest.php create mode 100644 tests/Feature/PaylineForecastServiceTest.php create mode 100644 tests/Feature/TeamStructureAboBadgesTest.php create mode 100644 tests/Feature/YardShippingTaxTest.php create mode 100644 tests/Unit/Controllers/SiteControllerTemplateGuardTest.php create mode 100644 tests/Unit/Services/VatIdServiceTest.php diff --git a/app/Console/Commands/DeleteAllKasSubdomains.php b/app/Console/Commands/DeleteAllKasSubdomains.php deleted file mode 100644 index b215265e..00000000 --- a/app/Console/Commands/DeleteAllKasSubdomains.php +++ /dev/null @@ -1,214 +0,0 @@ -option('domain') !== null - ? trim((string) $this->option('domain'), '.') - : null; - $limit = $this->option('limit') !== null ? (int) $this->option('limit') : null; - $isForce = (bool) $this->option('force'); - - if ($domain === '') { - $this->error('Die Option --domain darf nicht leer sein.'); - - return self::FAILURE; - } - - if ($limit !== null && $limit < 1) { - $this->error('Die Option --limit muss größer als 0 sein.'); - - return self::FAILURE; - } - - try { - $candidates = $this->getKasSubdomains($domain); - - if ($limit !== null) { - $candidates = $candidates->take($limit)->values(); - } - - $listFilePath = $this->writeTemporaryList($candidates, $domain, $isForce); - $this->printPreview($candidates, $domain, $listFilePath, $isForce); - - if ($candidates->isEmpty()) { - $this->info('Keine KAS-Subdomains gefunden.'); - - return self::SUCCESS; - } - - if (! $isForce) { - $this->warn('Dry-Run: Es wurde nichts gelöscht. Mit --force werden die Subdomains aus der temporären Liste gelöscht.'); - - return self::SUCCESS; - } - - return $this->deleteSubdomains($candidates); - } catch (Exception $e) { - $this->error('Fehler beim Löschen der KAS-Subdomains: '.$e->getMessage()); - Log::error('KAS Komplett-Subdomain-Löschung fehlgeschlagen', [ - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - - return self::FAILURE; - } - } - - private function getKasSubdomains(?string $domain): Collection - { - $this->info('Rufe Subdomains direkt von KAS ab...'); - - $subdomains = $this->kas->action('get_subdomains'); - - if (! is_iterable($subdomains)) { - throw new Exception('KAS hat keine auswertbare Subdomain-Liste zurückgegeben: '.json_encode($subdomains)); - } - - return collect($subdomains) - ->filter(function (array $subdomain) use ($domain): bool { - $name = strtolower((string) ($subdomain['subdomain_name'] ?? '')); - - if ($name === '') { - return false; - } - - return $domain === null || str_ends_with($name, '.'.strtolower($domain)); - }) - ->map(fn (array $subdomain): array => [ - 'subdomain_name' => (string) $subdomain['subdomain_name'], - 'subdomain_path' => (string) ($subdomain['subdomain_path'] ?? ''), - 'php_version' => (string) ($subdomain['php_version'] ?? ''), - 'is_active' => (string) ($subdomain['is_active'] ?? ''), - ]) - ->unique('subdomain_name') - ->sortBy('subdomain_name') - ->values(); - } - - private function writeTemporaryList(Collection $candidates, ?string $domain, bool $isForce): string - { - $listFilePath = $this->resolveListFilePath(); - File::ensureDirectoryExists(dirname($listFilePath)); - - File::put($listFilePath, json_encode([ - 'generated_at' => now()->toIso8601String(), - 'mode' => $isForce ? 'delete' : 'dry-run', - 'domain_filter' => $domain, - 'count' => $candidates->count(), - 'subdomains' => $candidates->values()->all(), - ], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - - return $listFilePath; - } - - private function resolveListFilePath(): string - { - $listFilePath = (string) ($this->option('list-file') ?? ''); - - if ($listFilePath !== '') { - return str_starts_with($listFilePath, '/') ? $listFilePath : base_path($listFilePath); - } - - return storage_path('app/kas-subdomain-delete-lists/kas-subdomains-'.now()->format('Ymd-His').'.json'); - } - - private function printPreview(Collection $candidates, ?string $domain, string $listFilePath, bool $isForce): void - { - $this->newLine(); - $this->info('Modus: '.($isForce ? 'Löschen' : 'Dry-Run')); - $this->info('Domain-Filter: '.($domain ?: 'keiner')); - $this->info('Temporäre Liste: '.$listFilePath); - $this->info('Gefundene KAS-Subdomains: '.$candidates->count()); - - if ($candidates->isEmpty()) { - return; - } - - $this->table( - ['Subdomain', 'Pfad', 'PHP', 'Aktiv'], - $candidates->take(25)->map(fn (array $candidate): array => [ - $candidate['subdomain_name'], - $candidate['subdomain_path'] ?: '-', - $candidate['php_version'] ?: '-', - $candidate['is_active'] ?: '-', - ])->all() - ); - - if ($candidates->count() > 25) { - $this->line('... weitere '.($candidates->count() - 25).' Subdomains ausgeblendet.'); - } - } - - private function deleteSubdomains(Collection $candidates): int - { - $deleted = 0; - $failed = 0; - - foreach ($candidates as $candidate) { - $subdomainName = $candidate['subdomain_name']; - $result = $this->kas->action('delete_subdomain', [ - 'subdomain_name' => $subdomainName, - ]); - - if ($this->isSuccessfulDeleteResult($result, $subdomainName)) { - $deleted++; - $this->info("Gelöscht: {$subdomainName}"); - - continue; - } - - $failed++; - $this->error("Fehler beim Löschen von {$subdomainName}: ".json_encode($result)); - } - - $this->newLine(); - $this->info("Gelöscht: {$deleted}"); - $this->info("Fehler: {$failed}"); - - return $failed === 0 ? self::SUCCESS : self::FAILURE; - } - - private function isSuccessfulDeleteResult(mixed $result, string $subdomainName): bool - { - return $result === true - || $result === 'TRUE' - || $result === $subdomainName; - } -} diff --git a/app/Console/Commands/DeletePartnerShopSubdomains.php b/app/Console/Commands/DeletePartnerShopSubdomains.php deleted file mode 100644 index 2384cd50..00000000 --- a/app/Console/Commands/DeletePartnerShopSubdomains.php +++ /dev/null @@ -1,241 +0,0 @@ - - */ - private array $protectedPrefixes = ['www.', 'api.', 'checkout.', 'preview.']; - - public function __construct(private KasController $kas) - { - parent::__construct(); - } - - /** - * Execute the console command. - */ - public function handle(): int - { - $domain = trim((string) $this->option('domain'), '.'); - $startId = max(1, (int) $this->option('start')); - $limit = $this->option('limit') !== null ? (int) $this->option('limit') : null; - $isForce = (bool) $this->option('force'); - - if ($domain === '') { - $this->error('Die Option --domain darf nicht leer sein.'); - - return self::FAILURE; - } - - if ($limit !== null && $limit < 1) { - $this->error('Die Option --limit muss größer als 0 sein.'); - - return self::FAILURE; - } - - try { - $subdomains = $this->getKasSubdomains(); - $shopHosts = $this->getPartnerShopHosts($domain, $startId); - $candidates = $this->getDeletionCandidates($subdomains, $shopHosts, $domain); - - if ($limit !== null) { - $candidates = $candidates->take($limit)->values(); - } - - $this->printPreview($candidates, $isForce); - - if ($candidates->isEmpty()) { - $this->info('Keine löschbaren Partnershop-Subdomains gefunden.'); - - return self::SUCCESS; - } - - if (! $isForce) { - $this->warn('Dry-Run: Es wurde nichts gelöscht. Mit --force werden die gefundenen Subdomains gelöscht.'); - - return self::SUCCESS; - } - - return $this->deleteSubdomains($candidates); - } catch (Exception $e) { - $this->error('Fehler beim Löschen der Partnershop-Subdomains: '.$e->getMessage()); - Log::error('KAS Partnershop-Subdomain-Löschung fehlgeschlagen', [ - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - ]); - - return self::FAILURE; - } - } - - private function getKasSubdomains(): Collection - { - $this->info('Rufe Subdomains von KAS ab...'); - - $subdomains = $this->kas->action('get_subdomains'); - - if (! is_iterable($subdomains)) { - throw new Exception('KAS hat keine auswertbare Subdomain-Liste zurückgegeben: '.json_encode($subdomains)); - } - - return collect($subdomains); - } - - private function getPartnerShopHosts(string $domain, int $startId): Collection - { - $query = UserShop::query() - ->where('id', '>=', $startId) - ->orderBy('id'); - - if ($this->option('active-only')) { - $query->where('active', true); - } else { - $query->withTrashed(); - } - - return $query - ->pluck('slug') - ->filter() - ->map(fn (string $slug): string => strtolower($slug.'.'.$domain)) - ->unique() - ->values(); - } - - private function getDeletionCandidates(Collection $subdomains, Collection $shopHosts, string $domain): Collection - { - $shopHostLookup = array_flip($shopHosts->all()); - $includePathMatches = (bool) $this->option('include-path-matches'); - $partnerShopPath = (string) $this->option('path'); - - return $subdomains - ->filter(function (array $subdomain) use ($domain, $includePathMatches, $partnerShopPath, $shopHostLookup): bool { - $name = strtolower((string) ($subdomain['subdomain_name'] ?? '')); - - if ($name === '' || ! $this->belongsToDomain($name, $domain) || $this->isProtectedSubdomain($name)) { - return false; - } - - if (isset($shopHostLookup[$name])) { - return true; - } - - return $includePathMatches - && trim((string) ($subdomain['subdomain_path'] ?? '')) === $partnerShopPath; - }) - ->map(fn (array $subdomain): array => [ - 'subdomain_name' => (string) $subdomain['subdomain_name'], - 'subdomain_path' => (string) ($subdomain['subdomain_path'] ?? ''), - 'php_version' => (string) ($subdomain['php_version'] ?? ''), - ]) - ->unique('subdomain_name') - ->sortBy('subdomain_name') - ->values(); - } - - private function belongsToDomain(string $subdomainName, string $domain): bool - { - return str_ends_with($subdomainName, '.'.strtolower($domain)); - } - - private function isProtectedSubdomain(string $subdomainName): bool - { - foreach ($this->protectedPrefixes as $prefix) { - if (str_starts_with($subdomainName, $prefix)) { - return true; - } - } - - return false; - } - - private function printPreview(Collection $candidates, bool $isForce): void - { - $this->newLine(); - $this->info('Modus: '.($isForce ? 'Löschen' : 'Dry-Run')); - $this->info('Gefundene Lösch-Kandidaten: '.$candidates->count()); - - if ($candidates->isEmpty()) { - return; - } - - $this->table( - ['Subdomain', 'Pfad', 'PHP'], - $candidates->take(25)->map(fn (array $candidate): array => [ - $candidate['subdomain_name'], - $candidate['subdomain_path'] ?: '-', - $candidate['php_version'] ?: '-', - ])->all() - ); - - if ($candidates->count() > 25) { - $this->line('... weitere '.($candidates->count() - 25).' Subdomains ausgeblendet.'); - } - } - - private function deleteSubdomains(Collection $candidates): int - { - $deleted = 0; - $failed = 0; - - foreach ($candidates as $candidate) { - $subdomainName = $candidate['subdomain_name']; - $result = $this->kas->action('delete_subdomain', [ - 'subdomain_name' => $subdomainName, - ]); - - if ($this->isSuccessfulDeleteResult($result, $subdomainName)) { - $deleted++; - $this->info("Gelöscht: {$subdomainName}"); - - continue; - } - - $failed++; - $this->error("Fehler beim Löschen von {$subdomainName}: ".json_encode($result)); - } - - $this->newLine(); - $this->info("Gelöscht: {$deleted}"); - $this->info("Fehler: {$failed}"); - - return $failed === 0 ? self::SUCCESS : self::FAILURE; - } - - private function isSuccessfulDeleteResult(mixed $result, string $subdomainName): bool - { - return $result === true - || $result === 'TRUE' - || $result === $subdomainName; - } -} diff --git a/app/Console/Commands/GdprDeleteUser.php b/app/Console/Commands/GdprDeleteUser.php new file mode 100644 index 00000000..cb603811 --- /dev/null +++ b/app/Console/Commands/GdprDeleteUser.php @@ -0,0 +1,72 @@ +argument('id'); + $isCustomer = (bool) $this->option('customer'); + + if ($isCustomer) { + $model = ShoppingUser::withTrashed()->find($id); + $label = $model ? 'Endkunde #'.$model->id.' ('.$model->billing_email.')' : null; + } else { + $model = User::withTrashed()->find($id); + $label = $model ? 'Berater #'.$model->id.' ('.$model->email.')' : null; + } + + if (! $model) { + $this->error('ERROR: Datensatz nicht gefunden, id: '.$id); + + return 1; + } + + if (! $this->option('force') && ! $this->confirm('DSGVO-Löschung für '.$label.' UNWIDERRUFLICH ausführen?')) { + $this->info('Abgebrochen.'); + + return 0; + } + + try { + $summary = $isCustomer + ? $gdprDeletionService->deleteShoppingUser($model) + : $gdprDeletionService->deleteUser($model); + + $this->info('SUCCESS: DSGVO-Löschung ausgeführt: '.json_encode($summary)); + + return 0; + } catch (GdprDeletionException $e) { + $this->error('ERROR: '.$e->getMessage()); + + return 1; + } + } +} diff --git a/app/Console/Commands/SubDomains.php b/app/Console/Commands/SubDomains.php deleted file mode 100644 index 9687fe3e..00000000 --- a/app/Console/Commands/SubDomains.php +++ /dev/null @@ -1,664 +0,0 @@ -timeStart = microtime(true); - - $userId = $this->argument('user_id'); - $force = $this->option('force'); - $startId = $this->option('start'); - $createMissing = $this->option('create-missing'); - $debug = $this->option('debug'); - - if ($debug) { - $this->warn("DEBUG-MODUS (DRY-RUN): Es werden keine tatsächlichen Änderungen vorgenommen!"); - } - - $this->info("Starte Subdomain-Verwaltung" . ($force ? " (erzwungener Modus)" : "")); - - try { - if ($userId) { - $this->info("Verarbeite einzelnen Benutzer mit ID: {$userId}"); - $result = $this->syncSingleUser($userId, $force, $createMissing, $debug); - - if ($result) { - $this->info("Benutzer {$userId} erfolgreich synchronisiert" . ($debug ? " (simuliert)" : "")); - } else { - $this->warn("Benutzer {$userId} konnte nicht vollständig synchronisiert werden" . ($debug ? " (simuliert)" : "")); - } - } else { - $this->info("Verarbeite alle Benutzer ab ID: {$startId}"); - $result = $this->syncAllUsers($force, $startId, $createMissing, $debug); - - // Zusammenfassung der Ergebnisse - $this->displaySummary($result, $debug); - } - - $this->logExecutionTime("Subdomain-Verwaltung abgeschlossen" . ($debug ? " (DEBUG-MODUS)" : "")); - return 0; - } catch (Exception $e) { - $this->error("Ein Fehler ist aufgetreten: " . $e->getMessage()); - Log::error("Shopping User Sync Fehler: ", [ - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString(), - 'user_id' => $userId, - 'force' => $force, - 'start_id' => $startId, - 'debug' => $debug - ]); - return 1; - } - } - - - /** - * Zeigt eine Zusammenfassung der Synchronisationsergebnisse an - * - * @param array $result Ergebnisdaten der Synchronisation - * @param bool $debug Debug-Modus (Dry-Run) - * @return void - */ - private function displaySummary($result, $debug = false) - { - $this->line(""); - $this->info("=== Zusammenfassung " . ($debug ? "(DEBUG-MODUS)" : "") . " ==="); - $this->info("Verarbeitete Shops: " . count($result['shops'])); - $this->info("Aktualisierte PHP-Versionen: " . $result['updatedCount'] . ($debug ? " (simuliert)" : "")); - $this->info("Aktivierte SSL-Zertifikate: " . $result['sslEnabledCount'] . ($debug ? " (simuliert)" : "")); - $this->info("Aktualisierte SSL-Konfigurationen: " . $result['sslConfiguredCount'] . ($debug ? " (simuliert)" : "")); - - if (!empty($result['createdSubdomains'])) { - $this->info("Neu erstellte Subdomains: " . count($result['createdSubdomains']) . ($debug ? " (simuliert)" : "")); - } - - if (!empty($result['missingSubdomains'])) { - $this->warn("Fehlende Subdomains: " . count($result['missingSubdomains'])); - } - - if (!empty($result['unusedSubdomains'])) { - $this->warn("Ungenutzte Subdomains: " . count($result['unusedSubdomains'])); - } - - if (!empty($result['doubleDomains'])) { - $this->warn("Benutzer mit mehreren Shops: " . count($result['doubleDomains'])); - } - } - - /** - * Synchronisiert einen einzelnen Benutzer und seine Shops - * - * @param int $userId Benutzer-ID - * @param bool $force Erzwingt die Aktualisierung aller Subdomains - * @param bool $createMissing Erstellt fehlende Subdomains - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function syncSingleUser($userId, $force = false, $createMissing = false, $debug = false) - { - $this->info("Synchronisiere Benutzer mit ID: {$userId}"); - - // Benutzer-Shops abrufen - $userShops = UserShop::where('user_id', $userId)->get(); - - if ($userShops->isEmpty()) { - $this->warn("Keine Shops für Benutzer {$userId} gefunden"); - return false; - } - - $this->info("Gefundene Shops für Benutzer {$userId}: " . $userShops->count()); - - // Subdomains abrufen und filtern - $subdomains = $this->getFilteredSubdomains(); - $success = true; - - // Benutzer-Shops durchlaufen und mit Subdomains abgleichen - foreach ($userShops as $userShop) { - $fullDomainName = $userShop->slug . '.' . $this->domain; - $this->info("Verarbeite Shop: {$fullDomainName}"); - - // Prüfen, ob Subdomain existiert - if (array_key_exists($fullDomainName, $subdomains)) { - $success = $this->processExistingSubdomain($userShop, $subdomains[$fullDomainName], $force, $debug) && $success; - } else { - // Subdomain fehlt - $this->warn("Shop {$userShop->slug}: Keine Subdomain gefunden"); - - // Optional: Neue Subdomain erstellen - if ($createMissing) { - $this->info("Erstelle fehlende Subdomain für Shop {$userShop->slug}" . ($debug ? " (simuliert)" : "")); - $success = $this->createSubdomain($userShop->slug, $debug) && $success; - } else { - $success = false; - } - } - } - - return $success; - } - - /** - * Verarbeitet eine existierende Subdomain und aktualisiert sie bei Bedarf - * - * @param UserShop $userShop Shop-Objekt - * @param array $subdomainInfo Subdomain-Informationen - * @param bool $force Erzwingt die Aktualisierung - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function processExistingSubdomain($userShop, $subdomainInfo, $force, $debug = false) - { - $success = true; - $hasSSL = ($subdomainInfo['ssl_certificate_sni'] === 'Y' || - $subdomainInfo['ssl_proxy'] === 'Y'); - $sslActive = ($subdomainInfo['ssl_certificate_sni_is_active'] ?? 'N') === 'Y'; - $phpVersion = $subdomainInfo['php_version']; - - $this->info("Shop {$userShop->slug}: PHP-Version: {$phpVersion}, SSL: " . - ($hasSSL ? "Aktiviert" : "Nicht aktiviert") . - ($hasSSL ? ", SSL aktiv: " . ($sslActive ? "Ja" : "Nein") : "")); - - // Prüfen, ob PHP-Version aktualisiert werden muss - $requiredPhpVersion = config('app.php_version'); - if ($force || $phpVersion !== $requiredPhpVersion) { - $this->info("Shop {$userShop->slug}: PHP-Version aktualisieren von {$phpVersion} auf {$requiredPhpVersion}" . ($debug ? " (simuliert)" : "")); - - if (!$debug && !$this->updateSubdomainParams($userShop->slug, $requiredPhpVersion)) { - $this->error("PHP-Version für {$userShop->slug}.{$this->domain} konnte nicht aktualisiert werden"); - $success = false; - } - } - - // Prüfen, ob SSL aktiviert werden muss - if ($force || !$hasSSL) { - $this->info("Shop {$userShop->slug}: SSL aktivieren" . ($debug ? " (simuliert)" : "")); - - if (!$debug && !$this->enableSSL($userShop->slug)) { - $this->error("SSL für {$userShop->slug}.{$this->domain} konnte nicht aktiviert werden"); - $success = false; - } - } - // Prüfen, ob SSL-Konfiguration aktualisiert werden muss - else if ($force || ($hasSSL && !$sslActive)) { - $this->info("Shop {$userShop->slug}: SSL-Konfiguration aktualisieren" . ($debug ? " (simuliert)" : "")); - - if (!$debug && !$this->updateSSL($userShop->slug . '.' . $this->domain)) { - $this->error("SSL-Konfiguration für {$userShop->slug}.{$this->domain} konnte nicht aktualisiert werden"); - $success = false; - } - } - - return $success; - } - - /** - * Synchronisiert alle Benutzer-Shops - * - * @param bool $force Erzwingt die Aktualisierung aller Subdomains - * @param int $startId Beginnt die Synchronisation ab dieser ID - * @param bool $createMissing Erstellt fehlende Subdomains - * @param bool $debug Debug-Modus (Dry-Run) - * @return array Ergebnisdaten der Synchronisation - */ - private function syncAllUsers($force, $startId, $createMissing = false, $debug = false) - { - $this->info("Starte Synchronisation aller Benutzer-Shops ab ID: {$startId}"); - - // Benutzer-Shops abrufen - $userShopsQuery = UserShop::query(); - - if ($startId > 1) { - $userShopsQuery->where('id', '>=', $startId); - } - - $userShops = $userShopsQuery->limit(1000)->get(); - $this->info("Gefundene Benutzer-Shops: " . $userShops->count()); - - // Subdomains abrufen und filtern - $subdomains = $this->getFilteredSubdomains(); - $this->info("Gefilterte Subdomains: " . count($subdomains)); - - // Ergebnis-Arrays initialisieren - $doubleDomains = []; - $missingSubdomains = []; - $outdatedPhpVersions = []; - $missingSSL = []; - $sslConfigurationNeeded = []; - $createdSubdomains = []; - $updatedCount = 0; - $sslEnabledCount = 0; - $sslConfiguredCount = 0; - - // Benutzer-Shops durchlaufen und mit Subdomains abgleichen - foreach ($userShops as $userShop) { - $fullDomainName = $userShop->slug . '.' . $this->domain; - - // Status der Subdomain setzen - $userShop->hasSubdomain = false; - $userShop->hasSSL = false; - $userShop->sslActive = false; - $userShop->PHPversion = ""; - - // Prüfen, ob Subdomain existiert - if (array_key_exists($fullDomainName, $subdomains)) { - $userShop->hasSubdomain = true; - $userShop->hasSSL = ($subdomains[$fullDomainName]['ssl_certificate_sni'] === 'Y' || - $subdomains[$fullDomainName]['ssl_proxy'] === 'Y'); - $userShop->sslActive = ($subdomains[$fullDomainName]['ssl_certificate_sni_is_active'] ?? 'N') === 'Y'; - $userShop->PHPversion = $subdomains[$fullDomainName]['php_version']; - - // Prüfen, ob PHP-Version aktualisiert werden muss - $requiredPhpVersion = config('app.php_version'); - if ($force || $userShop->PHPversion !== $requiredPhpVersion) { - $this->info("Shop {$userShop->slug}: PHP-Version aktualisieren von {$userShop->PHPversion} auf {$requiredPhpVersion}" . ($debug ? " (simuliert)" : "")); - $outdatedPhpVersions[] = $userShop->slug; - - if (!$debug && $this->updateSubdomainParams($userShop->slug, $requiredPhpVersion)) { - $updatedCount++; - } else if ($debug) { - // Im Debug-Modus zählen wir trotzdem, als ob es erfolgreich wäre - $updatedCount++; - } - }else{ - $this->info("Shop {$userShop->slug}: PHP-Version ist aktuell: {$userShop->PHPversion}"); - } - - // Prüfen, ob SSL aktiviert werden muss - /* if ($force || !$userShop->hasSSL) { - $this->info("Shop {$userShop->slug}: SSL aktivieren" . ($debug ? " (simuliert)" : "")); - $missingSSL[] = $userShop->slug; - - if (!$debug && $this->enableSSL($userShop->slug)) { - $sslEnabledCount++; - } else if ($debug) { - // Im Debug-Modus zählen wir trotzdem, als ob es erfolgreich wäre - $sslEnabledCount++; - } - } - // Prüfen, ob SSL-Konfiguration aktualisiert werden muss - else if ($force || ($userShop->hasSSL && !$userShop->sslActive)) { - $this->info("Shop {$userShop->slug}: SSL-Konfiguration aktualisieren" . ($debug ? " (simuliert)" : "")); - $sslConfigurationNeeded[] = $userShop->slug; - - if (!$debug && $this->updateSSL($fullDomainName)) { - $sslConfiguredCount++; - } else if ($debug) { - // Im Debug-Modus zählen wir trotzdem, als ob es erfolgreich wäre - $sslConfiguredCount++; - } - }*/ - - // Subdomain aus der Liste entfernen, um später ungenutzte zu identifizieren - unset($subdomains[$fullDomainName]); - } else { - // Subdomain fehlt - $missingSubdomains[] = $userShop->slug; - $this->warn("Shop {$userShop->slug}: Keine Subdomain gefunden"); - - // Optional: Neue Subdomain erstellen - if ($createMissing) { - $this->info("Erstelle fehlende Subdomain für Shop {$userShop->slug}" . ($debug ? " (simuliert)" : "")); - if (!$debug && $this->createSubdomain($userShop->slug)) { - $createdSubdomains[] = $userShop->slug; - } else if ($debug) { - // Im Debug-Modus zählen wir trotzdem, als ob es erfolgreich wäre - $createdSubdomains[] = $userShop->slug; - } - } - } - - // Doppelte Domains pro Benutzer erfassen - $doubleDomains[$userShop->user_id][$userShop->id] = $fullDomainName; - } - - // Bereinigen der doppelten Domains (nur Benutzer mit mehreren Shops behalten) - foreach ($doubleDomains as $userId => $domains) { - if (count($domains) === 1) { - unset($doubleDomains[$userId]); - } - } - - $this->logExecutionTime("Synchronisation abgeschlossen" . ($debug ? " (DEBUG-MODUS)" : "")); - - // Ergebnisdaten zurückgeben - return [ - 'shops' => $userShops, - 'unusedSubdomains' => $subdomains, - 'doubleDomains' => $doubleDomains, - 'missingSubdomains' => $missingSubdomains, - 'outdatedPhpVersions' => $outdatedPhpVersions, - 'missingSSL' => $missingSSL, - 'sslConfigurationNeeded' => $sslConfigurationNeeded, - 'createdSubdomains' => $createdSubdomains, - 'updatedCount' => $updatedCount, - 'sslEnabledCount' => $sslEnabledCount, - 'sslConfiguredCount' => $sslConfiguredCount - ]; - } - - /** - * Ruft alle Subdomains ab und filtert sie - * - * @return array Gefilterte Subdomains - */ - private function getFilteredSubdomains() - { - $kas = new KasController(); - $subdomains = []; - - // Alle Subdomains abrufen - $this->info("Rufe Subdomains von KAS ab..."); - $getSubdomains = $kas->action('get_subdomains'); - - // Subdomains filtern und in ein leicht zugängliches Array umwandeln - foreach ($getSubdomains as $subdomain) { - if (!isset($subdomain['subdomain_name'])) { - continue; - } - - // Spezielle Subdomains überspringen - $skip = false; - foreach ($this->skipPrefixes as $prefix) { - if (strpos($subdomain['subdomain_name'], $prefix) !== false) { - $skip = true; - break; - } - } - - if ($skip) { - continue; - } - - // Subdomain-Informationen speichern - $subdomains[$subdomain['subdomain_name']] = [ - 'ssl_certificate_sni' => $subdomain['ssl_certificate_sni'] ?? 'N', - 'php_version' => $subdomain['php_version'] ?? '', - 'ssl_proxy' => $subdomain['ssl_proxy'] ?? 'N', - 'ssl_certificate_sni_is_active' => $subdomain['ssl_certificate_sni_is_active'] ?? 'N', - ]; - } - - return $subdomains; - } - - /** - * Ändert Parameter einer Subdomain, insbesondere die PHP-Version - * - * @param string $subdomain Name der Subdomain ohne Domain - * @param string $phpVersion Neue PHP-Version (z.B. '8.2') - * @param array $additionalParams Weitere zu ändernde Parameter - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function updateSubdomainParams($subdomain, $phpVersion, $additionalParams = [], $debug = false) - { - $this->info("Aktualisiere Parameter für: {$subdomain}.{$this->domain}" . ($debug ? " (simuliert)" : "")); - - if ($debug) { - $this->line(" - PHP-Version: {$phpVersion}"); - if (!empty($additionalParams)) { - $this->line(" - Zusätzliche Parameter: " . json_encode($additionalParams)); - } - return true; - } - - try { - $kas = new KasController(); - - // Standardparameter - $params = [ - 'subdomain_name' => $subdomain . '.' . $this->domain, // Vollständigen Domainnamen verwenden - 'php_version' => $phpVersion - ]; - - // Oder alternativ, falls die API die Subdomain und Domain getrennt erwartet: - // $params = [ - // 'subdomain_name' => $subdomain, - // 'domain_name' => $this->domain, - // 'php_version' => $phpVersion - // ]; - - // Zusätzliche Parameter hinzufügen - $params = array_merge($params, $additionalParams); - - // Subdomain aktualisieren - $result = $kas->action('update_subdomain', $params); - $this->info("Parameter: ".json_encode($params)); - - if ($result) { - $this->info("Parameter für {$subdomain}.{$this->domain} erfolgreich aktualisiert " . json_encode($result)); - return true; - } else { - $this->error("Fehler beim Aktualisieren der Parameter für {$subdomain}.{$this->domain}: " . json_encode($result)); - return false; - } - } catch (Exception $e) { - $this->error("Fehler beim Aktualisieren der Parameter für {$subdomain}.{$this->domain}: " . $e->getMessage()); - Log::error("Subdomain Parameter Update Fehler", [ - 'subdomain' => $subdomain, - 'domain' => $this->domain, - 'php_version' => $phpVersion, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString() - ]); - return false; - } - } - - /** - * Aktualisiert die SSL-Konfiguration einer Subdomain mit erweiterten Parametern - * - * @param string $subdomainName Vollständiger Domainname (z.B. 'shop.mivita.care') - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function updateSSL($subdomainName, $debug = false) - { - $this->info("Aktualisiere SSL-Konfiguration für: {$subdomainName}" . ($debug ? " (simuliert)" : "")); - - if ($debug) { - $this->line(" - SSL-Parameter werden aktualisiert"); - return true; - } - - try { - $kas = new KasController(); - $ssl = KasSLLController::getApiSSLParameter(); - - $params = array_merge(['hostname' => $subdomainName], $ssl); - $result = $kas->action('update_ssl', $params); - - if ($result === "TRUE" || $result === true) { - $this->info("SSL-Konfiguration für {$subdomainName} erfolgreich aktualisiert"); - return true; - } else { - $this->warn("SSL-Konfiguration für {$subdomainName} nicht vollständig aktualisiert: " . json_encode($result)); - return false; - } - } catch (Exception $e) { - $this->error("Fehler bei der SSL-Konfiguration für {$subdomainName}: " . $e->getMessage()); - Log::error("SSL Update Fehler", [ - 'subdomain' => $subdomainName, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString() - ]); - return false; - } - } - - /** - * Aktiviert SSL für eine Subdomain mit vollständiger Konfiguration - * - * @param string $subdomain Name der Subdomain ohne Domain - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function enableSSL($subdomain, $debug = false) - { - $fullDomainName = $subdomain . '.' . $this->domain; - $this->info("Aktiviere SSL für: {$fullDomainName}" . ($debug ? " (simuliert)" : "")); - - if ($debug) { - $this->line(" - SSL-Proxy wird aktiviert"); - $this->line(" - HTTP zu HTTPS Weiterleitung wird eingerichtet"); - $this->line(" - SSL-Konfiguration wird aktualisiert"); - return true; - } - - // Schritt 1: Subdomain-Parameter aktualisieren (ssl_proxy aktivieren) - $subdomainResult = $this->updateSubdomainParams($subdomain, config('app.php_version'), [ - 'ssl_proxy' => 'Y', - 'redirect_status' => 301 // Weiterleitung von HTTP auf HTTPS - ]); - - if (!$subdomainResult) { - $this->error("SSL-Aktivierung für {$fullDomainName} fehlgeschlagen: Subdomain-Parameter konnten nicht aktualisiert werden"); - return false; - } - - // Schritt 2: SSL-Konfiguration aktualisieren - $sslResult = $this->updateSSL($fullDomainName); - - if (!$sslResult) { - $this->warn("SSL-Aktivierung für {$fullDomainName} teilweise erfolgreich: SSL-Konfiguration konnte nicht aktualisiert werden"); - return false; - } - - $this->info("SSL für {$fullDomainName} vollständig aktiviert"); - return true; - } - - /** - * Erstellt eine neue Subdomain für einen Shop - * - * @param string $slug Shop-Slug - * @param bool $debug Debug-Modus (Dry-Run) - * @return bool Erfolg der Operation - */ - private function createSubdomain($slug, $debug = false) - { - $fullDomainName = $slug . '.' . $this->domain; - $this->info("Erstelle neue Subdomain: {$fullDomainName}" . ($debug ? " (simuliert)" : "")); - - if ($debug) { - $this->line(" - Pfad: /mein.mivita.care/public/"); - $this->line(" - PHP-Version: " . config('app.php_version')); - $this->line(" - SSL wird direkt aktiviert"); - return true; - } - - try { - $kas = new KasController(); - - // Parameter für die neue Subdomain - $params = [ - 'subdomain_name' => $slug, - 'domain_name' => $this->domain, - 'subdomain_path' => '/mein.mivita.care/public/', - 'php_version' => config('app.php_version'), - ]; - - // Subdomain erstellen - $result = $kas->action('add_subdomain', $params); - - if ($result === $fullDomainName) { - $this->info("Subdomain {$fullDomainName} erfolgreich erstellt"); - - // SSL direkt aktivieren - $this->enableSSL($slug); - - return true; - } else { - $this->error("Fehler beim Erstellen der Subdomain {$fullDomainName}: " . json_encode($result)); - return false; - } - } catch (Exception $e) { - $this->error("Fehler beim Erstellen der Subdomain {$fullDomainName}: " . $e->getMessage()); - Log::error("Subdomain Erstellung Fehler", [ - 'slug' => $slug, - 'domain' => $this->domain, - 'error' => $e->getMessage(), - 'trace' => $e->getTraceAsString() - ]); - return false; - } - } - - /** - * Protokolliert die Ausführungszeit einer Operation - * - * @param string $message Nachricht für die Protokollierung - * @return void - */ - private function logExecutionTime($message) - { - $diff = microtime(true) - $this->timeStart; - $sec = intval($diff); - $micro = $diff - $sec; - - $this->info($message. ' | Time: '.$sec. 'sec :' . round($micro * 1000, 4) . " ms"); - } -} diff --git a/app/Exceptions/GdprDeletionException.php b/app/Exceptions/GdprDeletionException.php new file mode 100644 index 00000000..5f93b090 --- /dev/null +++ b/app/Exceptions/GdprDeletionException.php @@ -0,0 +1,11 @@ +aboRepository->setModel($user_abo); $this->aboRepository->update($data); @@ -274,7 +275,7 @@ class AboController extends Controller ->orderColumn('status', 'status $1') ->orderColumn('active', 'active $1') ->orderColumn('is_for', 'is_for $1') - ->orderColumn('count', 'count $1') + ->orderColumn('count', '(select count(*) from user_abo_orders where user_abo_orders.user_abo_id = user_abos.id and user_abo_orders.status >= 2) $1') ->orderColumn('amount', 'amount $1') ->orderColumn('payone_userid', 'payone_userid $1') ->rawColumns(['id', 'status', 'active', 'is_for', 'member']) diff --git a/app/Http/Controllers/AdminUserController.php b/app/Http/Controllers/AdminUserController.php index 64e0ad3a..991800c0 100644 --- a/app/Http/Controllers/AdminUserController.php +++ b/app/Http/Controllers/AdminUserController.php @@ -2,21 +2,23 @@ namespace App\Http\Controllers; - - -use Auth; -use Carbon; -use Request; -use App\User; -use Validator; +use App\Exceptions\GdprDeletionException; +use App\Mail\UserRestoreEmail; +use App\Models\UserAccount; +use App\Repositories\UserRepository; +use App\Services\GdprDeletionService; +use App\Services\HTMLHelper; use App\Services\SysLog; use App\Services\UserUtil; -use App\Models\UserAccount; -use App\Services\HTMLHelper; -use App\Models\PaymentMethod; -use App\Repositories\UserRepository; +use App\User; +use Auth; +use Carbon; +use Illuminate\Contracts\View\Factory; +use Illuminate\Http\RedirectResponse; +use Illuminate\Routing\Redirector; use Illuminate\Support\Facades\Mail; -use Util; +use Illuminate\View\View; +use Request; class AdminUserController extends Controller { @@ -29,33 +31,35 @@ class AdminUserController extends Controller } /** - * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View + * @return Factory|View */ public function index() { $data = [ - //'values' => User::where('admin', 0)->get(), - 'values' => User::where('confirmation_code_remider', '!=', 2)->get(), + // 'values' => User::where('admin', 0)->get(), + 'values' => User::where('confirmation_code_remider', '!=', 2)->get(), ]; + return view('admin.user.index', $data); } public function edit($user_id) { $user = User::findOrFail($user_id); - if (!$user->account) { - $user->account = new UserAccount(); + if (! $user->account) { + $user->account = new UserAccount; } $data = [ 'user' => $user, ]; + return view('admin.user.edit', $data); } /** - * @param Request $request - * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View + * @param Request $request + * @return Factory|RedirectResponse|Redirector|View */ public function store() { @@ -73,7 +77,7 @@ class AdminUserController extends Controller SysLog::action('save-admin', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user admin value: ' . HTMLHelper::getLabel($user->admin)) + ->setMessage('Set user admin value: '.HTMLHelper::getLabel($user->admin)) ->save(); } @@ -81,10 +85,10 @@ class AdminUserController extends Controller $data['confirmed'] = isset($data['confirmed']) ? true : false; $user->confirmed = $data['confirmed']; if ($data['confirmed']) { - if (!isset($data['confirmation_date']) || $data['confirmation_date'] == "") { + if (! isset($data['confirmation_date']) || $data['confirmation_date'] == '') { $user->confirmation_date = now(); } else { - $user->confirmation_date = \Carbon::parse(str_replace("- ", "", $data['confirmation_date'])); + $user->confirmation_date = Carbon::parse(str_replace('- ', '', $data['confirmation_date'])); } } else { $user->confirmation_date = null; @@ -92,7 +96,7 @@ class AdminUserController extends Controller SysLog::action('save-confirmed', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user confirmed value: ' . $user->confirmed . " to date: " . $data['confirmation_date']) + ->setMessage('Set user confirmed value: '.$user->confirmed.' to date: '.$data['confirmation_date']) ->save(); } @@ -103,10 +107,10 @@ class AdminUserController extends Controller $user->wizard = 20; } if ($data['active']) { - if (!isset($data['active_date']) || $data['active_date'] == "") { + if (! isset($data['active_date']) || $data['active_date'] == '') { $user->active_date = now(); } else { - $user->active_date = \Carbon::parse(str_replace("- ", "", $data['active_date'])); + $user->active_date = Carbon::parse(str_replace('- ', '', $data['active_date'])); } } else { $user->active_date = null; @@ -114,7 +118,7 @@ class AdminUserController extends Controller SysLog::action('save-active', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user active value: ' . $user->active . " to date: " . $data['active_date']) + ->setMessage('Set user active value: '.$user->active.' to date: '.$data['active_date']) ->save(); } @@ -122,14 +126,15 @@ class AdminUserController extends Controller $restore_account = isset($data['restore_account']) ? true : false; $restore_childs = isset($data['restore_childs']) ? true : false; $restore_send_email = isset($data['restore_send_email']) ? true : false; - if (isset($data['payment_account']) || $data['payment_account'] != "") { + if (isset($data['payment_account']) || $data['payment_account'] != '') { $error = UserUtil::checkEmailExists($user); if ($error) { \Session()->flash('alert-error', $error); + return redirect()->back()->withInput()->withErrors(['error' => $error]); } - $payment_account = \Carbon::parse(str_replace("- ", "", $data['payment_account'])); + $payment_account = Carbon::parse(str_replace('- ', '', $data['payment_account'])); if ($restore_account) { UserUtil::restoreUser($user, $payment_account); if ($restore_childs) { @@ -137,24 +142,24 @@ class AdminUserController extends Controller } if ($restore_send_email) { $user = User::with('account')->findOrFail($data['id']); - Mail::to($user->email)->send(new \App\Mail\UserRestoreEmail($user)); + Mail::to($user->email)->send(new UserRestoreEmail($user)); } } } SysLog::action('save-restore', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user restore_account value: ' . $user->restore_account . " and restore_childs value: " . $user->restore_childs) + ->setMessage('Set user restore_account value: '.$user->restore_account.' and restore_childs value: '.$user->restore_childs) ->save(); } if (isset($data['save-account'])) { $old = $user->getPaymentAccountDateFormat(true); - if (!isset($data['payment_account']) || $data['payment_account'] == "") { + if (! isset($data['payment_account']) || $data['payment_account'] == '') { $user->payment_account = null; } else { $user->wizard = 100; - $payment_account = \Carbon::parse(str_replace("- ", "", $data['payment_account'])); + $payment_account = Carbon::parse(str_replace('- ', '', $data['payment_account'])); $user->payment_account = $payment_account; if ($payment_account > Carbon::now()) { if ($user->active === 0) { @@ -168,26 +173,26 @@ class AdminUserController extends Controller } } } - //th.schifferegger@gmail.com + // th.schifferegger@gmail.com SysLog::action('save-account', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user payment_account from date: ' . $old . " to date: " . $data['payment_account']) + ->setMessage('Set user payment_account from date: '.$old.' to date: '.$data['payment_account']) ->save(); } if (isset($data['save-shop'])) { $old = $user->getPaymentShopDateFormat(true); - if (!isset($data['payment_shop']) || $data['payment_shop'] == "") { + if (! isset($data['payment_shop']) || $data['payment_shop'] == '') { $user->payment_shop = null; } else { $user->wizard = 100; - $user->payment_shop = \Carbon::parse(str_replace("- ", "", $data['payment_shop'])); + $user->payment_shop = Carbon::parse(str_replace('- ', '', $data['payment_shop'])); } SysLog::action('save-shop', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user payment_shop from date: ' . $old . " to date: " . $data['payment_shop']) + ->setMessage('Set user payment_shop from date: '.$old.' to date: '.$data['payment_shop']) ->save(); } @@ -196,7 +201,7 @@ class AdminUserController extends Controller SysLog::action('save-test_mode', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user test_mode value: ' . $user->test_mode) + ->setMessage('Set user test_mode value: '.$user->test_mode) ->save(); } @@ -205,13 +210,14 @@ class AdminUserController extends Controller SysLog::action('save-payment_methods', 'admin_user', 3) ->setUserId(Auth::user()->id) ->setModel($user->id, User::class) - ->setMessage('Set user payment_methods value: ' . $user->getPaymentMethodsShort()) + ->setMessage('Set user payment_methods value: '.$user->getPaymentMethodsShort()) ->save(); } $user->save(); \Session()->flash('alert-save', true); + return redirect('/admin/users'); } @@ -228,15 +234,24 @@ class AdminUserController extends Controller $this->userRepo->deleteUser($user, true); \Session()->flash('alert-success', __('msg.contact_delete')); } + if (isset($data['gdpr_delete_user'])) { + try { + app(GdprDeletionService::class)->deleteUser($user, Auth::id()); + \Session()->flash('alert-success', __('msg.gdpr_delete_success')); + } catch (GdprDeletionException $e) { + \Session()->flash('alert-danger', $e->getMessage()); + } + } + return redirect('/admin/users'); } - public function userLoginAs($userId) { if (Auth::user()->isSuperAdmin()) { $user = User::find($userId); Auth::login($user); + return redirect('/home'); } } @@ -253,7 +268,7 @@ class AdminUserController extends Controller }) ->with('account') ->select('users.*') - ->where('users.admin', "<", 5); + ->where('users.admin', '<', 5); return \DataTables::eloquent($query) ->addColumn('first_name', function (User $user) { @@ -261,89 +276,101 @@ class AdminUserController extends Controller }) ->addColumn('email', function (User $user) { if ($user->pre_deleted_at) { - return '' . $user->email . ''; + return ''.$user->email.''; } + return $user->email; }) ->addColumn('last_name', function (User $user) { return $user->account ? $user->account->last_name : ''; }) ->addColumn('id', function (User $user) { - return ''; + return ''; }) ->addColumn('admin', function (User $user) { - return '' . HTMLHelper::getRoleLabel($user->admin) . ''; + return ''.HTMLHelper::getRoleLabel($user->admin).''; }) ->addColumn('confirmed', function (User $user) { $date = $user->getConfirmationDateFormat(); - $link = ''; - return $user->confirmed ? $link . ' ' . $date . '' : $link . ''; + $link = ''; + + return $user->confirmed ? $link.' '.$date.'' : $link.''; }) ->addColumn('active', function (User $user) { if ($user->trashed()) { $date = Carbon::parse(now())->addDays(10)->format('d.m.Y H:i'); - $email = str_replace("delete-", "", $user->email); - $link = ''; - return $link . ' Account reaktivieren'; + $email = str_replace('delete-', '', $user->email); + $link = ''; + + return $link.' Account reaktivieren'; } $date = $user->getActiveDateFormat(); - $link = ''; - return $user->active ? $link . ' ' . $date . '' : $link . ''; + $link = ''; + + return $user->active ? $link.' '.$date.'' : $link.''; }) ->addColumn('account', function (User $user) { $date = $user->getPaymentAccountDateFormat(); - $link = ''; + $link = ''; if ($user->payment_account) { if ($user->isActiveAccount()) { - return $link . ' ' . $date . ''; + return $link.' '.$date.''; } - return $link . ' ' . $date . ''; + + return $link.' '.$date.''; } - return $link . ''; + + return $link.''; }) ->addColumn('shop', function (User $user) { $date = $user->getPaymentShopDateFormat(); - $link = ''; + $link = ''; if ($user->payment_shop) { if ($user->isActiveShop()) { - return $link . ' ' . $date . ''; + return $link.' '.$date.''; } - return $link . ' ' . $date . ''; + + return $link.' '.$date.''; } - return $link . ''; + + return $link.''; }) ->addColumn('shop_domain', function (User $user) { - return $user->shop ? '' . $user->shop->getSubdomain(false) . '' : ''; + return $user->shop ? ''.$user->shop->getSubdomain(false).'' : ''; }) ->addColumn('since', function (User $user) { if ($user->shop) { if ($user->shop->active) { return $user->shop->getActiveDateFormatSmall(); } + return $user->shop->getActiveDateFormatSmall(); } - return "-"; + + return '-'; }) ->addColumn('country', function (User $user) { return ($user->account && $user->account->country) ? $user->account->country->de : ''; }) ->addColumn('my_payment_methods', function (User $user) { $payment_methods = json_encode($user->payment_methods); - $link = ''; - if (!$user->payment_methods) { - return $link . ''; + $link = ''; + if (! $user->payment_methods) { + return $link.''; } - return $link . ' ' . $user->getPaymentMethodsShort() . ''; + + return $link.' '.$user->getPaymentMethodsShort().''; }) ->addColumn('action_login', function (User $user) { - return ''; + return ''; }) ->addColumn('action_delete', function (User $user) { - return ''; + return ''; }) ->addColumn('test_mode', function (User $user) { - $link = ''; - return $user->test_mode ? $link . '' : $link . ''; + $link = ''; + + return $user->test_mode ? $link.'' : $link.''; }) ->orderColumn('id', 'id $1') ->orderColumn('email', 'email $1') diff --git a/app/Http/Controllers/Api/KasController.php b/app/Http/Controllers/Api/KasController.php deleted file mode 100644 index 1a94b8b6..00000000 --- a/app/Http/Controllers/Api/KasController.php +++ /dev/null @@ -1,116 +0,0 @@ - Sekunden ab, bei Y verlängert sich die Session mit jeder Benutzung - private $CredentialToken = false; - private $kas_flood_delay = 2; - - /** - * Create a new controller instance. - * - * @return void - */ - public function __construct() - { - $this->login(); - } - - - public function action($func, $para = array()){ - - $this->checkSession($func); - try - { - $Params = array(); // Parameter für die API-Funktion - $SoapRequest = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasApi.wsdl', [ - 'cache_wsdl' => WSDL_CACHE_NONE, - 'exceptions' => false - ]); - $req = $SoapRequest->KasApi(json_encode(array( - 'KasUser' => $this->kas_user, // KAS-User - 'KasAuthType' => 'session', // Auth per Sessiontoken - 'KasAuthData' => $this->CredentialToken, // Auth-Token - 'KasRequestType' => $func, // API-Funktion - 'KasRequestParams' => $para // Parameter an die API-Funktion - ))); - Session::put('flood_protection.'.$func, time() + $this->kas_flood_delay + 0.2); - - if(is_array($req) && isset($req['Response']['ReturnString']) && $req['Response']['ReturnString'] == "TRUE"){ - return $req['Response']['ReturnInfo']; - } - return $req; - } - - // Fehler abfangen und ausgeben - catch (\SoapFault $fault) - { - trigger_error(" Fehlernummer: {$fault->faultcode}, - Fehlermeldung: {$fault->faultstring}, - Verursacher: {$fault->faultactor}, - Details: {$fault->detail}", E_USER_ERROR); - } - } - - - private function login(){ - - $this->checkSession('auth'); - try - { - - $SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl', [ - 'cache_wsdl' => WSDL_CACHE_NONE, - 'exceptions' => false - ]); - $this->CredentialToken = $SoapLogon->KasAuth(json_encode(array( - 'KasUser' => $this->kas_user, - 'KasAuthType' => 'plain', - 'KasPassword' => $this->kas_pass, - 'SessionLifeTime' => $this->session_lifetime, - 'SessionUpdateLifeTime' => $this->session_update_lifetime - ))); - Session::put('flood_protection.auth', time() + $this->kas_flood_delay + 0.2); - - } - - // Fehler abfangen und ausgeben - catch (\SoapFault $fault) - { - trigger_error("Fehlernummer: {$fault->faultcode}, - Fehlermeldung: {$fault->faultstring}, - Verursacher: {$fault->faultactor}, - Details: {$fault->detail}", E_USER_ERROR); - } - - } - - private function checkSession($func) - { - $name = 'flood_protection.'.$func; - - if(Session::exists($name)){ - $time_to_wait = (float)Session::get($name) - time(); - Session::forget($name); - }else { - $time_to_wait = 0; - } - if ( $time_to_wait >= 0 ) { - usleep( intval( $time_to_wait*1000000 ) ); - } - - } -} \ No newline at end of file diff --git a/app/Http/Controllers/Api/ShoppingUserController.php b/app/Http/Controllers/Api/ShoppingUserController.php index 1e98dbc7..f3cf82bf 100644 --- a/app/Http/Controllers/Api/ShoppingUserController.php +++ b/app/Http/Controllers/Api/ShoppingUserController.php @@ -11,7 +11,9 @@ use App\Models\ShoppingOrder; use App\Models\ShoppingOrderItem; use App\Models\ShoppingUser; use App\Services\CustomerPriority; +use App\Services\Shop; use Carbon\Carbon; +use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; use Yard; @@ -28,7 +30,7 @@ class ShoppingUserController extends Controller /** * @param Request $request * wp_order_numbers[1234, 1234] - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function status(Request $request) { @@ -74,7 +76,7 @@ class ShoppingUserController extends Controller /** * @param Request $request * wp_order_number [1234] - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function cancel(Request $request) { @@ -126,7 +128,7 @@ class ShoppingUserController extends Controller /** * @param Request $request * wp_order_number [1234] - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function open(Request $request) { @@ -178,7 +180,7 @@ class ShoppingUserController extends Controller /** * @param Request $request * wp_order_numbers [1234, 1234] - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function show(Request $request) { @@ -229,7 +231,7 @@ class ShoppingUserController extends Controller } /** - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function store(Request $request) { @@ -258,7 +260,7 @@ class ShoppingUserController extends Controller // Kundenhoheit prüfen $priority = CustomerPriority::checkOne($shopping_user, true, false, true); - \App\Services\Shop::newUserOrder($shopping_user->number); + Shop::newUserOrder($shopping_user->number); // exists //like //update $user = $this->prepareForShow($shopping_user); @@ -277,7 +279,7 @@ class ShoppingUserController extends Controller } /** - * @return \Illuminate\Http\JsonResponse + * @return JsonResponse */ public function update(Request $request) { @@ -297,7 +299,7 @@ class ShoppingUserController extends Controller // Kundenhoheit prüfen $priority = CustomerPriority::checkChangeOne($shopping_user, $data, true); $updated = $shopping_user->fill($data)->save(); - \App\Services\Shop::newUserOrder($shopping_user->number); + Shop::newUserOrder($shopping_user->number); if ($updated) { $user = $this->prepareForShow($shopping_user); @@ -610,6 +612,12 @@ class ShoppingUserController extends Controller $ShippingCountry = ShippingCountry::whereCountryId($shopping_user->shipping_country_id)->first(); if ($ShippingCountry) { + Yard::instance('shopping')->setUserPriceInfos([ + 'shipping_free' => $ShippingCountry->shipping?->free ?? false, + 'user_tax_free' => false, + 'user_reverse_charge' => false, + 'user_country_id' => $shopping_user->billing_country_id, + ]); Yard::instance('shopping')->setShippingCountryWithPrice($ShippingCountry->id); } $shopping_order = $this->makeShoppingOrder($shopping_user, $wp_invoice_path, $api_notice); diff --git a/app/Http/Controllers/CustomerController.php b/app/Http/Controllers/CustomerController.php index eb673b0d..33a54217 100644 --- a/app/Http/Controllers/CustomerController.php +++ b/app/Http/Controllers/CustomerController.php @@ -2,14 +2,17 @@ namespace App\Http\Controllers; +use App\Exceptions\GdprDeletionException; use App\Models\ShoppingUser; use App\Repositories\CustomerRepository; use App\Services\CustomerPriority; +use App\Services\GdprDeletionService; use App\Services\HTMLHelper; +use App\Services\Shop; +use Auth; use Request; use Validator; - class CustomerController extends Controller { protected $customerRepository; @@ -17,6 +20,7 @@ class CustomerController extends Controller public function __construct(CustomerRepository $customerRepository) { $this->middleware('admin'); + $this->middleware('superadmin')->only('gdprDelete'); $this->customerRepository = $customerRepository; } @@ -25,16 +29,17 @@ class CustomerController extends Controller if (Request::get('reset') === 'filter') { set_user_attr('filter_member_id', null); set_user_attr('filter_customer_member', null); + return redirect(route('admin_customers')); } - $filter_members = ShoppingUser::join('users', 'member_id', '=', 'users.id')->groupBy('member_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get(); //->pluck('email', 'id')->unique()->toArray(); + $filter_members = ShoppingUser::join('users', 'member_id', '=', 'users.id')->groupBy('member_id')->join('user_accounts', 'account_id', '=', 'user_accounts.id')->select('users.id', 'users.email', 'user_accounts.first_name', 'user_accounts.last_name')->get(); // ->pluck('email', 'id')->unique()->toArray(); $data = [ 'filter_members' => $filter_members, ]; + return view('admin.customer.index', $data); } - public function detail($id) { $shopping_user = ShoppingUser::findOrFail($id); @@ -43,6 +48,7 @@ class CustomerController extends Controller 'isAdmin' => true, 'isView' => 'customer', ]; + return view('admin.customer.detail', $data); } @@ -50,20 +56,44 @@ class CustomerController extends Controller { $shopping_user = ShoppingUser::findOrFail($id); $result = $this->customerRepository->deleteCustomer($shopping_user); - if (!$result) { + if (! $result) { return back()->with('alert-error', 'Kunde hat Bestellungen. Löschen nicht möglich.'); } else { \Session()->flash('alert-success', 'Kunde wurde gelöscht'); + return redirect(route('admin_customers')); } + + return redirect(route('admin_customers')); + } + + public function gdprDelete($id) + { + $shopping_user = ShoppingUser::withTrashed()->findOrFail($id); + + if (! Request::get('gdpr_delete_customer')) { + \Session()->flash('alert-danger', __('msg.gdpr_confirm_checkbox_missing')); + + return redirect(route('admin_customer_detail', [$shopping_user->id])); + } + + try { + app(GdprDeletionService::class)->deleteShoppingUser($shopping_user, Auth::id()); + \Session()->flash('alert-success', __('msg.gdpr_delete_customer_success')); + } catch (GdprDeletionException $e) { + \Session()->flash('alert-danger', $e->getMessage()); + + return redirect(route('admin_customer_detail', [$shopping_user->id])); + } + return redirect(route('admin_customers')); } public function edit($id) { - if ($id === "new") { - $shopping_user = new ShoppingUser(); - $shopping_user->id = "new"; + if ($id === 'new') { + $shopping_user = new ShoppingUser; + $shopping_user->id = 'new'; } else { $shopping_user = ShoppingUser::findOrFail($id); } @@ -72,6 +102,7 @@ class CustomerController extends Controller 'isAdmin' => true, 'isView' => 'customer', ]; + return view('admin.customer.edit', $data); } @@ -80,23 +111,25 @@ class CustomerController extends Controller $data = Request::all(); if ($data['action'] === 'shopping-user-change-member') { - if (!isset($data['change_member_key']) || $data['change_member_key'] !== config('mivita.edit_data_pass')) { + if (! isset($data['change_member_key']) || $data['change_member_key'] !== config('mivita.edit_data_pass')) { $data = [ - 'change_member_error' => "Das Passwort ist falsch.", + 'change_member_error' => 'Das Passwort ist falsch.', 'shopping_user' => ShoppingUser::find($id), 'isAdmin' => true, 'isView' => 'customer', ]; + return view('admin.customer.detail', $data); } - //change + // change $shopping_user = ShoppingUser::findOrFail($data['id']); CustomerPriority::newMemberForCustomer($shopping_user, $data['change_member_id'], $data['customer_set_member_for']); \Session()->flash('alert-save', true); + return redirect(route('admin_customer_detail', [$shopping_user->id])); } if ($data['action'] === 'shopping-user-store') { - $rules = array( + $rules = [ 'billing_salutation' => 'required', 'billing_firstname' => 'required', 'billing_lastname' => 'required', @@ -104,10 +137,10 @@ class CustomerController extends Controller 'billing_address' => 'required', 'billing_zipcode' => 'required', 'billing_city' => 'required', - 'billing_country_id' => 'required' - ); + 'billing_country_id' => 'required', + ]; - if (!Request::get('same_as_billing')) { + if (! Request::get('same_as_billing')) { $rules = array_merge($rules, [ 'shipping_firstname' => 'required', 'shipping_lastname' => 'required', @@ -115,7 +148,7 @@ class CustomerController extends Controller 'shipping_zipcode' => 'required', 'shipping_city' => 'required', 'shipping_salutation' => 'required', - 'shipping_country_id' => 'required' + 'shipping_country_id' => 'required', ]); } $validator = Validator::make(Request::all(), $rules); @@ -128,7 +161,7 @@ class CustomerController extends Controller $data['language'] = isset($data['language']) ? $data['language'] : \App::getLocale(); $data['has_buyed'] = isset($data['has_buyed']) ? true : false; $data['subscribed'] = isset($data['subscribed']) ? true : false; - //subscribed can only true when has_buyed ist active + // subscribed can only true when has_buyed ist active $data['subscribed'] = $data['has_buyed'] ? $data['subscribed'] : false; /* if($shopping_user->auth_user_id > 0){ @@ -140,21 +173,23 @@ class CustomerController extends Controller CustomerPriority::checkChangeOne($shopping_user, $data, true); $shopping_user->fill($data); $shopping_user->save(); - \App\Services\Shop::newUserOrder($shopping_user->number); + Shop::newUserOrder($shopping_user->number); \Session()->flash('alert-save', true); } + return redirect(route('admin_customer_detail', [$shopping_user->id])); } public function getCustomers() { - $query = ShoppingUser::select('shopping_users.*')->where('auth_user_id', '=', NULL); + $query = ShoppingUser::select('shopping_users.*')->where('auth_user_id', '=', null); set_user_attr('filter_member_id', Request::get('filter_member_id')); - if (Request::get('filter_member_id') != "") { + if (Request::get('filter_member_id') != '') { $query->where('member_id', '=', Request::get('filter_member_id')); } + /* set_user_attr('filter_customer_member', Request::get('filter_customer_member')); if(Request::get('filter_customer_member') != ""){ if(Request::get('filter_customer_member') === 'customers'){ @@ -166,10 +201,10 @@ class CustomerController extends Controller }*/ return \DataTables::eloquent($query) ->addColumn('id', function (ShoppingUser $ShoppingUser) { - return ''; + return ''; }) ->addColumn('billing_email', function (ShoppingUser $ShoppingUser) { - return $ShoppingUser->faker_mail ? "-" : $ShoppingUser->billing_email; + return $ShoppingUser->faker_mail ? '-' : $ShoppingUser->billing_email; }) ->addColumn('billing_salutation', function (ShoppingUser $ShoppingUser) { return HTMLHelper::getSalutationLang($ShoppingUser->billing_salutation); @@ -178,19 +213,19 @@ class CustomerController extends Controller return $ShoppingUser->billing_country ? $ShoppingUser->billing_country->getLocated() : ''; }) ->addColumn('isMember', function (ShoppingUser $ShoppingUser) { - return get_active_badge($ShoppingUser->auth_user_id) . ($ShoppingUser->mode === 'dev' ? ' dev' : ''); + return get_active_badge($ShoppingUser->auth_user_id).($ShoppingUser->mode === 'dev' ? ' dev' : ''); }) ->addColumn('member_id', function (ShoppingUser $ShoppingUser) { if ($ShoppingUser->is_like) { return ''; + data-route="'.route('modal_load').'"> Berater zuordnen'; } if ($ShoppingUser->member) { - return '' . $ShoppingUser->member->getFullName() . ''; + return ''.$ShoppingUser->member->getFullName().''; } return ''; @@ -202,8 +237,8 @@ class CustomerController extends Controller return get_active_badge($ShoppingUser->subscribed); }) ->filterColumn('billing_email', function ($query, $keyword) { - if ($keyword != "") { - $query->where('billing_email', 'LIKE', '%' . $keyword . '%'); + if ($keyword != '') { + $query->where('billing_email', 'LIKE', '%'.$keyword.'%'); } }) ->orderColumn('id', 'id $1') diff --git a/app/Http/Controllers/FileController.php b/app/Http/Controllers/FileController.php index 6a4ba265..1d76fa67 100644 --- a/app/Http/Controllers/FileController.php +++ b/app/Http/Controllers/FileController.php @@ -2,7 +2,11 @@ namespace App\Http\Controllers; +use App\Models\DcFile; +use App\Models\File; +use App\Models\ShoppingOrder; use App\Models\UserCredit; +use App\Models\UserInvoice; use App\Repositories\CreditRepository; use Auth; use Response; @@ -78,7 +82,7 @@ class FileController extends Controller } }*/ if ($from === 'invoice') { - $shopping_order = \App\Models\ShoppingOrder::findOrFail($id); + $shopping_order = ShoppingOrder::findOrFail($id); if ($shopping_order->user_invoice) { $this->isPermissionShoppingOrder($shopping_order); $user_invoice = $shopping_order->user_invoice; @@ -95,7 +99,7 @@ class FileController extends Controller } if ($from === 'delivery') { - $shopping_order = \App\Models\ShoppingOrder::findOrFail($id); + $shopping_order = ShoppingOrder::findOrFail($id); if ($shopping_order->user_invoice) { $this->isPermissionShoppingOrder($shopping_order); $user_invoice = $shopping_order->user_invoice; @@ -121,12 +125,12 @@ class FileController extends Controller } if ($from === 'cancellation') { - $shopping_order = \App\Models\ShoppingOrder::findOrFail($id); + $shopping_order = ShoppingOrder::findOrFail($id); $this->isPermissionShoppingOrder($shopping_order); // Stornorechnung finden: cancellation=true UND cancellation_id=null // (Die Original-Rechnung hat auch cancellation=true, aber MIT cancellation_id) - $cancellation_invoice = \App\Models\UserInvoice::where('shopping_order_id', $shopping_order->id) + $cancellation_invoice = UserInvoice::where('shopping_order_id', $shopping_order->id) ->where('cancellation', true) ->whereNull('cancellation_id') ->first(); @@ -147,7 +151,7 @@ class FileController extends Controller } if ($from === 'credit') { - $user_credit = \App\Models\UserCredit::findOrFail($id); + $user_credit = UserCredit::findOrFail($id); $this->isPermissionUserCredit($user_credit); $disk = $user_credit->disk; // Lokalisierte Version wenn angegeben @@ -161,7 +165,7 @@ class FileController extends Controller } if ($from === 'credit_detail') { - $user_credit = \App\Models\UserCredit::findOrFail($id); + $user_credit = UserCredit::findOrFail($id); $this->isPermissionUserCredit($user_credit); return $this->create_credit_detail($user_credit, $do); @@ -175,14 +179,14 @@ class FileController extends Controller if ($from === 'dc_file') { // $this->isPermissionAuth(); - $dc_file = \App\Models\DcFile::findOrFail($id); + $dc_file = DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getFile(); } if ($from === 'dc_thumb') { // $this->isPermissionAuth(); - $dc_file = \App\Models\DcFile::findOrFail($id); + $dc_file = DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getThumb(); @@ -190,14 +194,14 @@ class FileController extends Controller if ($from === 'dc_big') { // $this->isPermissionAuth(); - $dc_file = \App\Models\DcFile::findOrFail($id); + $dc_file = DcFile::findOrFail($id); $filename = $dc_file->filename; $disk = 'public'; $path = $dc_file->getBig(); } if ($from === 'user') { - $file = \App\Models\File::findOrFail($id); + $file = File::findOrFail($id); $filename = $file->filename; $disk = 'user'; $path = $file->dir.$file->filename; @@ -244,6 +248,7 @@ class FileController extends Controller private function create_credit_detail(UserCredit $user_credit, $do) { + abort_if($user_credit->user === null, 404, 'User zur Gutschrift nicht gefunden.'); $credit_repo = new CreditRepository($user_credit->user); diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index b785db8b..0f319e32 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -7,15 +7,15 @@ use App\Models\Incentive; use App\Models\IncentiveParticipant; use App\Models\ShoppingPayment; use App\Models\UserAbo; -use App\Models\UserBusiness; +use App\Services\Abo\PaylineForecastService; use App\Services\Abo\TeamAboOverviewService; use App\Services\AboHelper; use App\Services\Backoffice\BackofficeDashboardService; -use App\Services\BusinessPlan\TreeCalcBot; +use App\Services\BusinessPlan\LiveCommissionService; use App\User; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; -use Illuminate\Support\Facades\Cache; +use Illuminate\View\View; use Request; use Util; @@ -38,11 +38,11 @@ class HomeController extends Controller return redirect('home'); } - public function newsArchive(): \Illuminate\View\View + public function newsArchive(): View { return view('dashboard.news_archive', [ - 'currentNews' => \App\Models\DashboardNews::getActiveNews(), - 'archiveNews' => \App\Models\DashboardNews::getArchiveNews(), + 'currentNews' => DashboardNews::getActiveNews(), + 'archiveNews' => DashboardNews::getArchiveNews(), ]); } @@ -111,10 +111,18 @@ class HomeController extends Controller private function buildMonthlyStats(User $user): array { $month = max(1, min(12, (int) Request::get('stats_month', now()->month))); - $year = (int) Request::get('stats_year', now()->year); + $year = max(2020, min((int) now()->year + 1, (int) Request::get('stats_year', now()->year))); $salesVolume = $user->getUserSalesVolume($month, $year, 'first'); [$paylinePoints, $paylineIsLive] = $this->teamPaylinePoints($user, $month, $year); + $customerPoints = $salesVolume ? (float) $salesVolume->getPointsKPSum() : 0.0; + + // Payline-Prognose (B10) nur für den laufenden Monat — Basis ist der heutige + // Stand aus Kundenumsatz + Payline-Punkten. + $isCurrentMonth = $month === (int) now()->month && $year === (int) now()->year; + $paylineForecast = $isCurrentMonth + ? app(PaylineForecastService::class)->forecastDays($user, $customerPoints + (float) $paylinePoints) + : null; $firstlineIds = User::where('m_sponsor', $user->id) ->whereColumn('id', '!=', 'm_sponsor') @@ -130,9 +138,11 @@ class HomeController extends Controller [ 'month' => $month, 'year' => $year, - 'customer_points' => $salesVolume ? (float) $salesVolume->getPointsKPSum() : 0.0, + 'customer_points' => $customerPoints, 'team_payline_points' => $paylinePoints, 'payline_is_live' => $paylineIsLive, + 'payline_forecast' => $paylineForecast, + 'commission' => app(LiveCommissionService::class)->commission($user, $month, $year), 'direct_new_partners' => $dashboardService->newPartnersCount($firstlineIds, $month, $year), ], $teamOverview->teamKpis($user, $month, $year), @@ -141,45 +151,16 @@ class HomeController extends Controller } /** - * Team-Payline-Punkte: aus dem UserBusiness-Snapshot (abgeschlossene Monate) oder - * – für den laufenden Monat – einmalig live berechnet und für Folge-Aufrufe gecacht. + * Team-Payline-Punkte: aus dem gemeinsamen Live-Lauf ({@see LiveCommissionService}), + * der auch die Provision und die Payline-Tiefe liefert — ein Baum-Lauf für alles. * * @return array{0: float, 1: bool} [Punkte, istLive] */ private function teamPaylinePoints(User $user, int $month, int $year): array { - $userBusiness = UserBusiness::where('user_id', $user->id) - ->where('month', $month) - ->where('year', $year) - ->first(); + $snapshot = app(LiveCommissionService::class)->snapshot($user, $month, $year); - if ($userBusiness) { - return [(float) ($userBusiness->payline_points ?? 0), false]; - } - - $points = Cache::remember( - "home_payline_{$user->id}_{$month}_{$year}", - now()->addHours(6), - fn (): float => $this->calculatePaylineLive($user, $month, $year) - ); - - return [(float) $points, true]; - } - - private function calculatePaylineLive(User $user, int $month, int $year): float - { - try { - $treeCalcBot = new TreeCalcBot($month, $year, 'member'); - $treeCalcBot->initBusinesslUserDetail($user); - - if ($treeCalcBot->business_user) { - return (float) ($treeCalcBot->business_user->payline_points ?? 0); - } - } catch (\Throwable $e) { - \Log::warning("Live-Berechnung Payline-Punkte fehlgeschlagen für User {$user->id}: ".$e->getMessage()); - } - - return 0.0; + return [$snapshot['payline_points'], $snapshot['is_live']]; } public function loadingModal() diff --git a/app/Http/Controllers/ModalController.php b/app/Http/Controllers/ModalController.php index eb61c17a..111ca563 100644 --- a/app/Http/Controllers/ModalController.php +++ b/app/Http/Controllers/ModalController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Models\Country; use App\Models\Homeparty; use App\Models\HomepartyUser; use App\Models\Product; @@ -11,10 +12,12 @@ use App\Models\UserAbo; use App\Models\UserCredit; use App\Models\UserLevel; use App\Models\UserSalesVolume; +use App\Services\Abo\TeamAboOverviewService; use App\Services\AboHelper; use App\Services\BusinessPlan\TreeCalcBot; use App\Services\BusinessPlan\TreeCalcBotOptimized; use App\Services\DhlModalService; +use App\Services\DhlProductResolver; use App\User; use Request; @@ -141,7 +144,7 @@ class ModalController extends Controller } if ($data['action'] === 'team-abo-member-show') { - $summary = app(\App\Services\Abo\TeamAboOverviewService::class) + $summary = app(TeamAboOverviewService::class) ->memberAboSummary(\Auth::user(), (int) $data['id']); if ($summary) { $ret = view('user.team.modal_member_abos', compact('summary', 'data'))->render(); @@ -174,7 +177,7 @@ class ModalController extends Controller $ret = view('admin.payment.modal_add_credit', compact('value', 'data'))->render(); } if ($data['action'] === 'user-credit-status') { - $UserCredit = UserCredit::find($data['id']); // current user form order + $UserCredit = UserCredit::findOrFail($data['id']); // current user form order $ret = view('admin.payment.modal_credit_status', compact('UserCredit', 'data'))->render(); } if ($data['action'] === 'abo_update_settings') { @@ -279,12 +282,12 @@ class ModalController extends Controller 'order' => null, 'orderWeight' => 1.0, 'shippingAddress' => null, - 'availableCountries' => \App\Models\Country::where('active', 1)->get(), + 'availableCountries' => Country::where('active', 1)->get(), 'productCodes' => [ 'V01PAK' => 'DHL Paket (National)', 'V53WPAK' => 'DHL Paket International', ], - 'productSuggestions' => (new \App\Services\DhlProductResolver)->getProductSuggestionsByCountry(), + 'productSuggestions' => (new DhlProductResolver)->getProductSuggestionsByCountry(), 'selectedProductCode' => 'V01PAK', 'errors' => ['Fehler beim Laden der Daten: '.$e->getMessage()], 'warnings' => [], diff --git a/app/Http/Controllers/Portal/AboController.php b/app/Http/Controllers/Portal/AboController.php index fd2f1aae..606575d0 100644 --- a/app/Http/Controllers/Portal/AboController.php +++ b/app/Http/Controllers/Portal/AboController.php @@ -57,8 +57,12 @@ class AboController extends Controller } $shopping_user = ShoppingUser::findOrFail($user->shopping_user_id); + // Gekündigte/beendete Abos (Status 4/5) zählen nicht mehr als "mein Abo" — + // nach einer Kündigung muss das Portal wieder die Neuanlage anbieten (Ein-Abo-Regel, A2). $user_abo = UserAbo::where('email', $shopping_user->billing_email) ->where('status', '>=', 1) + ->whereNotIn('status', AboHelper::ENDED_STATUSES) + ->orderByDesc('id') ->first(); if (! $user_abo) { @@ -110,6 +114,7 @@ class AboController extends Controller if ($data['action'] === 'abo_update_settings') { $user_abo = UserAbo::findOrFail($data['id']); $this->checkPortalPermission($user_abo); + $data['view'] = 'portal'; $aboRepository = new AboRepository; $aboRepository->setModel($user_abo); $aboRepository->update($data); @@ -243,6 +248,7 @@ class AboController extends Controller 'summary' => $summary, 'add_only_mode' => $isAddOnlyMode, 'change_locked' => $changeLocked, + 'portal_view' => true, ])->render(); $html_comp = view('user.order.comp_product', array_merge($data, [ 'cart_instance' => AboOrderCart::INSTANCE, @@ -250,6 +256,7 @@ class AboController extends Controller ]))->render(); $html_summary = view('admin.abo._order_combined_summary', [ 'summary' => $summary, + 'portal_view' => true, ])->render(); $amount = $user_abo->getFormattedAmount(); @@ -409,9 +416,11 @@ class AboController extends Controller 'only_show_products' => false, 'add_only_mode' => $isAddOnlyMode, 'change_locked' => $changeLocked, + 'portal_view' => true, ])->render(), 'html_summary' => view('admin.abo._order_combined_summary', [ 'summary' => $summary, + 'portal_view' => true, ])->render(), 'html_comp' => view('user.order.comp_product', [ 'comp_products' => [], diff --git a/app/Http/Controllers/SyS/SysController.php b/app/Http/Controllers/SyS/SysController.php index c52e6c1c..8eccf511 100644 --- a/app/Http/Controllers/SyS/SysController.php +++ b/app/Http/Controllers/SyS/SysController.php @@ -11,7 +11,6 @@ use App\Services\SyS\CleanHTMLProductDescription; use App\Services\SyS\Correction; use App\Services\SyS\Cronjobs; use App\Services\SyS\Customers; -use App\Services\SyS\DomainSSL; use App\Services\SyS\Import; use App\Services\SyS\ImportDbipCountry; use App\Services\SyS\PayoneCallbackTestbench; @@ -57,9 +56,6 @@ class SysController extends Controller case 'cronjobs': return Cronjobs::show(); break; - case 'domainssl': - return DomainSSL::show(); - break; case 'shopping_orders': return ShoppingOrders::show(); break; @@ -115,9 +111,6 @@ class SysController extends Controller case 'cronjobs': return Cronjobs::store(); break; - case 'domainssl': - return DomainSSL::store(); - break; case 'shopping_orders': return ShoppingOrders::store(); break; diff --git a/app/Http/Controllers/User/AboController.php b/app/Http/Controllers/User/AboController.php index cc5398a9..04c76d5c 100644 --- a/app/Http/Controllers/User/AboController.php +++ b/app/Http/Controllers/User/AboController.php @@ -158,7 +158,13 @@ class AboController extends Controller if (isset($data['action'])) { if ($data['action'] === 'abo_update_settings') { + // Body-id kann von der Route abweichen: Berechtigungen erneut auf dem + // tatsächlich bearbeiteten Abo prüfen. Die Sicht kommt ausschließlich aus + // der (bereits geprüften) Route, nie aus dem Formular — sonst ließen sich + // per view=admin sämtliche Selfservice-Regeln umgehen. $user_abo = UserAbo::findOrFail($data['id']); + $this->checkPermissions($view, $user_abo); + $data['view'] = $view; $this->aboRepository->setModel($user_abo); $this->aboRepository->update($data); diff --git a/app/Http/Controllers/User/BackofficeStatisticsController.php b/app/Http/Controllers/User/BackofficeStatisticsController.php index 256fa345..7b4432b1 100644 --- a/app/Http/Controllers/User/BackofficeStatisticsController.php +++ b/app/Http/Controllers/User/BackofficeStatisticsController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use App\Services\Backoffice\BackofficeDashboardService; use App\Services\Backoffice\BackofficeDrilldownService; use App\Services\Backoffice\PersonalStatisticsService; +use App\Services\BusinessPlan\LiveCommissionService; use App\Services\HTMLHelper; use Illuminate\Http\Request; use Illuminate\View\View; @@ -47,6 +48,7 @@ class BackofficeStatisticsController extends Controller 'filterYears' => HTMLHelper::getYearRange(2022), 'statistics' => $statistics, 'performance' => $performance, + 'commission' => app(LiveCommissionService::class)->commission($request->user(), $selectedMonth, $selectedYear), ]); } @@ -76,11 +78,12 @@ class BackofficeStatisticsController extends Controller [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); $line = (int) $request->get('line', 1); $metric = (string) $request->get('metric', 'consultants'); + $onlyNew = $request->boolean('only_new'); return view('user.backoffice.statistics.details', [ 'selectedMonth' => $selectedMonth, 'selectedYear' => $selectedYear, - 'details' => $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear), + 'details' => $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew), ]); } @@ -93,10 +96,12 @@ class BackofficeStatisticsController extends Controller [$selectedMonth, $selectedYear] = $this->selectedPeriod($request); $line = (int) $request->get('line', 1); $metric = (string) $request->get('metric', 'consultants'); - $details = $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear); + $onlyNew = $request->boolean('only_new'); + $details = $this->drilldownService->details($request->user(), $line, $metric, $selectedMonth, $selectedYear, $onlyNew); $filename = sprintf( - 'backoffice-statistik-%s-linie-%s-%02d-%d.csv', + 'backoffice-statistik-%s%s-linie-%s-%02d-%d.csv', $metric, + $details['only_new'] ? '-neu' : '', $line === 0 ? 'alle' : $line, $selectedMonth, $selectedYear @@ -156,7 +161,7 @@ class BackofficeStatisticsController extends Controller private function selectedPeriod(Request $request): array { $selectedMonth = max(1, min(12, (int) $request->get('month', session(self::SESSION_MONTH_KEY, now()->month)))); - $selectedYear = (int) $request->get('year', session(self::SESSION_YEAR_KEY, now()->year)); + $selectedYear = max(2020, min((int) now()->year + 1, (int) $request->get('year', session(self::SESSION_YEAR_KEY, now()->year)))); session([ self::SESSION_MONTH_KEY => $selectedMonth, @@ -232,6 +237,10 @@ class BackofficeStatisticsController extends Controller return ['Name', 'E-Mail', 'Karriere-Level', 'Eigenpunkte', 'Shop-Punkte', 'Abo-Punkte', 'Sonstige Punkte', 'Kundenpunkte', 'Gesamtpunkte']; } + if ($metric === 'new_partners') { + return ['Name', 'E-Mail', 'Karriere-Level', 'Sponsor', 'Kundenpunkte', 'Aktiv seit', 'Account gueltig bis']; + } + return ['Name', 'E-Mail', 'Karriere-Level', 'Aktiv seit', 'Account gueltig bis', 'Account Status']; } @@ -280,6 +289,18 @@ class BackofficeStatisticsController extends Controller ]; } + if ($metric === 'new_partners') { + return [ + $row['name'] ?? '', + $row['email'] ?? '', + $row['career_level'] ?? '', + $row['sponsor'] ?? '', + $row['customer_points'] ?? 0, + $row['active_date'] ?? '', + $row['payment_account'] ?? '', + ]; + } + return [ $row['name'] ?? '', $row['email'] ?? '', @@ -311,6 +332,10 @@ class BackofficeStatisticsController extends Controller return ['Summe', $summary['count'].' Eintraege', '', $summary['own_points'], $summary['customer_single_order_points'], $summary['customer_abo_points'], $summary['customer_other_points'], $summary['external_points'], $summary['total_points']]; } + if ($metric === 'new_partners') { + return ['Summe', $summary['count'].' Eintraege', '', '', $summary['customer_points'], '', '', '']; + } + return ['Summe', $summary['count'].' Eintraege', '', '', '', '']; } } diff --git a/app/Http/Controllers/User/TeamController.php b/app/Http/Controllers/User/TeamController.php index a6819570..3987a233 100644 --- a/app/Http/Controllers/User/TeamController.php +++ b/app/Http/Controllers/User/TeamController.php @@ -4,9 +4,14 @@ namespace App\Http\Controllers\User; use App\Exports\UserTeamExport; use App\Http\Controllers\Controller; +use App\Models\UserAbo; use App\Models\UserBusiness; +use App\Models\UserLevel; use App\Models\UserSalesVolume; +use App\Services\Abo\PaylineForecastService; +use App\Services\Abo\TeamAboOverviewService; use App\Services\AboHelper; +use App\Services\AboOrderCart; use App\Services\BusinessPlan\ExportBot; use App\Services\BusinessPlan\TreeCalcBot; use App\Services\BusinessPlan\TreeCalcBotOptimized; @@ -16,6 +21,7 @@ use App\Services\LevelReportService; use App\Services\NextLevelBadgeHelper; use App\Services\TranslationHelper; use App\User; +use Illuminate\Http\RedirectResponse; use Maatwebsite\Excel\Facades\Excel; use Request; @@ -318,6 +324,9 @@ class TeamController extends Controller }) ->addColumn('is_qual_kp', function ($teamUser) { $user = User::find($teamUser->user_id); + if ($user === null) { + return '-'; + } return TreeHelperOptimized::generateQualKPBadgeForUser($user, $this->month, $this->year); }) @@ -652,7 +661,7 @@ class TeamController extends Controller $currentLevel = $user->user_level; // Lade alle aktiven User Level, sortiert nach Position - $userLevels = \App\Models\UserLevel::where('active', true) + $userLevels = UserLevel::where('active', true) ->orderBy('pos', 'asc') ->get(); @@ -706,7 +715,7 @@ class TeamController extends Controller * Konsolidierte Team-Abo-Übersicht: Abos im Team nach Ebenen/Linien gruppiert, * inkl. Eigen-Abos, Kundenabos und neuer Abos im gewählten Monat. */ - public function showAbos(\App\Services\Abo\TeamAboOverviewService $overviewService) + public function showAbos(TeamAboOverviewService $overviewService, PaylineForecastService $paylineService) { $user = User::find(\Auth::user()->id); $now = now(); @@ -725,6 +734,7 @@ class TeamController extends Controller 'growthChart' => $this->buildGrowthChart($growth), 'growthYear' => $growthYear, 'filterYears' => HTMLHelper::getYearRange(2022), + 'paylineAboTurnover' => $paylineService->aboTurnover($user, (int) $now->month, (int) $now->year), ]; return view('user.team.abos', $data); @@ -767,7 +777,7 @@ class TeamController extends Controller * (`user_abos_team_show`) eingeflossen. Diese Route bleibt für Bookmarks/Altlinks * bestehen und leitet dauerhaft dorthin weiter. */ - public function showTeamCustomerAbos(): \Illuminate\Http\RedirectResponse + public function showTeamCustomerAbos(): RedirectResponse { return redirect()->route('user_abos_team_show'); } @@ -778,7 +788,7 @@ class TeamController extends Controller public function detailAbo($id) { $user = User::find(\Auth::user()->id); - $user_abo = \App\Models\UserAbo::findOrFail($id); + $user_abo = UserAbo::findOrFail($id); // Prüfe ob das Abo zu einem Team-Mitglied gehört (effizient via Sponsor-Kette) if (! AboHelper::isUserInTeam($user->id, $user_abo->user_id)) { @@ -786,9 +796,9 @@ class TeamController extends Controller } // Lade Abo-Details (ähnlich wie AboController) - \App\Services\AboOrderCart::initYard($user_abo); - $customer_detail = \App\Services\AboOrderCart::getCustomerDetail(); - \App\Services\AboOrderCart::makeOrderYard($user_abo); + AboOrderCart::initYard($user_abo); + $customer_detail = AboOrderCart::getCustomerDetail(); + AboOrderCart::makeOrderYard($user_abo); $data = [ 'user_abo' => $user_abo, @@ -1071,7 +1081,7 @@ class TeamController extends Controller { $levels = [0 => 'Alle Level']; - $userLevels = \App\Models\UserLevel::orderBy('pos')->get(['id', 'name']); + $userLevels = UserLevel::orderBy('pos')->get(['id', 'name']); foreach ($userLevels as $level) { $levels[$level->id] = $level->name; } diff --git a/app/Http/Controllers/UserShopController.php b/app/Http/Controllers/UserShopController.php index 7c466847..381c0aef 100644 --- a/app/Http/Controllers/UserShopController.php +++ b/app/Http/Controllers/UserShopController.php @@ -1,22 +1,21 @@ shop && !$user->shop->set_defaults) { + if ($user->shop && ! $user->shop->set_defaults) { if ($user->account) { - $user->shop->title = $user->account->first_name . " " . $user->account->last_name; + $user->shop->title = $user->account->first_name.' '.$user->account->last_name; } if ($user->account) { $user->shop->contact = $this->generate_contact($user); @@ -45,6 +44,7 @@ class UserShopController extends Controller $data = [ 'user' => $user, ]; + return view('user.shop', $data); } @@ -56,6 +56,7 @@ class UserShopController extends Controller 'localizations' => array_keys(config('localization.supportedLocales')), ]; + return view('user.shop.translate', $data); } @@ -64,13 +65,14 @@ class UserShopController extends Controller $user = Auth::user(); $data = Request::all(); - if (!$user->shop) { + if (! $user->shop) { abort(404); } foreach ($data['trans'] as $lang => $val) { $this->storeTranslations($user->shop, $lang, $val); } \Session()->flash('alert-save', true); + return redirect(route('user_shop_translate')); } @@ -79,7 +81,7 @@ class UserShopController extends Controller $user = Auth::user(); $data = Request::all(); - if (!$user->shop) { + if (! $user->shop) { abort(404); } $user->shop->title = $data['title']; @@ -100,34 +102,35 @@ class UserShopController extends Controller $user_shop->accessibility = trim(preg_replace('/\s*\n+/', "\n", $data['accessibility'])); $user_shop->about = trim(preg_replace('/\s+/', ' ', $data['about'])); $user_shop->save(); + return; } $trans = $user_shop->trans; $trans[$lang]['contact'] = trim(preg_replace('/\s*\n+/', "\n", $data['contact'])); $trans[$lang]['accessibility'] = trim(preg_replace('/\s*\n+/', "\n", $data['accessibility'])); - $trans[$lang]['about'] = trim(preg_replace('/\s+/', ' ', $data['about'])); + $trans[$lang]['about'] = trim(preg_replace('/\s+/', ' ', $data['about'])); $user_shop->trans = $trans; $user_shop->save(); - return; + } private function generate_contact($user) { - $ret = ""; + $ret = ''; $sep = "\n"; - $ret = $user->account->street != "" ? $user->account->street : __('shop.your_street_number'); - $ret .= " • "; - $ret .= $user->account->postal_code != "" ? $user->account->postal_code . " " : __('shop.your_zip_code'); - $ret .= $user->account->city != "" ? $user->account->city : __('shop.your_city'); + $ret = $user->account->street != '' ? $user->account->street : __('shop.your_street_number'); + $ret .= ' • '; + $ret .= $user->account->postal_code != '' ? $user->account->postal_code.' ' : __('shop.your_zip_code'); + $ret .= $user->account->city != '' ? $user->account->city : __('shop.your_city'); $ret .= $sep; - $pre = $user->account->pre_phone_id != "" ? $user->account->pre_phone->phone . " " : ""; - $ret .= __('shop.phone') . ": " . ($user->account->phone != "" ? $pre . $user->account->phone : __('shop.your_phone_number')); + $pre = $user->account->pre_phone_id != '' ? $user->account->pre_phone->phone.' ' : ''; + $ret .= __('shop.phone').': '.($user->account->phone != '' ? $pre.$user->account->phone : __('shop.your_phone_number')); $ret .= $sep; - $pre = $user->account->pre_mobil_id != "" ? $user->account->pre_mobil->phone . " " : ""; - $ret .= __('shop.mobil') . ": " . ($user->account->mobil != "" ? $pre . $user->account->mobil : __('shop.your_mobile_number')); + $pre = $user->account->pre_mobil_id != '' ? $user->account->pre_mobil->phone.' ' : ''; + $ret .= __('shop.mobil').': '.($user->account->mobil != '' ? $pre.$user->account->mobil : __('shop.your_mobile_number')); $ret .= $sep; $ret .= $user->email; @@ -142,31 +145,32 @@ class UserShopController extends Controller $user = Auth::user(); - if (!$user->shop) { + if (! $user->shop) { abort(404); } try { - $image = \App\Services\Slim::getImages('images')[0]; + $image = Slim::getImages('images')[0]; if (isset($image['output']['data'])) { // Base64 of the image $data = $image['output']['data']; - $file_ex = array('image/jpeg' => 'jpg', 'image/png' => 'png'); + $file_ex = ['image/jpeg' => 'jpg', 'image/png' => 'png']; - if (!isset($file_ex[$image['output']['type']])) { + if (! isset($file_ex[$image['output']['type']])) { \Session()->flash('alert-danger', 'File is not jpg or png!'); + return redirect(route('user_shop')); } $ext = $file_ex[$image['output']['type']]; // Original file name $name = $image['output']['name']; - $name = \App\Services\Slim::sanitizeFileName($name); - $name = uniqid() . '_' . $name; + $name = Slim::sanitizeFileName($name); + $name = uniqid().'_'.$name; $data = \Storage::disk('public')->put( - 'images/shop/' . $name, + 'images/shop/'.$name, $data ); @@ -177,15 +181,16 @@ class UserShopController extends Controller $user->shop->size = $image['input']['size']; $user->shop->save(); - - \Session()->flash('alert-success', __('msg.file_uploaded')); + return redirect(route('user_shop')); } \Session()->flash('alert-danger', __('msg.file_empty')); + return redirect(route('user_shop')); } catch (\Exception $e) { - \Session()->flash('alert-danger', "Error: " . $e); + \Session()->flash('alert-danger', 'Error: '.$e); + return redirect(route('user_shop')); } } @@ -195,12 +200,12 @@ class UserShopController extends Controller $user = Auth::user(); - if (!$user->shop) { + if (! $user->shop) { abort(404); } if ($user->shop->filename) { - $file = 'images/shop/' . $user->shop->filename; + $file = 'images/shop/'.$user->shop->filename; \Storage::disk('public')->delete($file); $user->shop->filename = null; @@ -211,9 +216,11 @@ class UserShopController extends Controller $user->shop->save(); \Session()->flash('alert-success', __('msg.file_deleted')); + return redirect(route('user_shop')); } \Session()->flash('alert-danger', __('msg.file_not_found')); + return redirect(route('user_shop')); } @@ -223,32 +230,33 @@ class UserShopController extends Controller $user = Auth::user(); $user_shop_id = Request::get('user_shop_id'); - if (!$user->shop || $user->shop->id != $user_shop_id) { + if (! $user->shop || $user->shop->id != $user_shop_id) { abort(404); } try { - $image = \App\Services\Slim::getImages('images')[0]; + $image = Slim::getImages('images')[0]; if (isset($image['output']['data'])) { // Base64 of the image $data = $image['output']['data']; - $file_ex = array('image/jpeg' => 'jpg', 'image/png' => 'png'); + $file_ex = ['image/jpeg' => 'jpg', 'image/png' => 'png']; - if (!isset($file_ex[$image['output']['type']])) { + if (! isset($file_ex[$image['output']['type']])) { \Session()->flash('alert-danger', 'File is not jpg or png!'); + return redirect(route('user_shop')); } $ext = $file_ex[$image['output']['type']]; // Original file name $name = $image['output']['name']; - $name = \App\Services\Slim::sanitizeFileName($name); - $name = uniqid() . '_' . $name; + $name = Slim::sanitizeFileName($name); + $name = uniqid().'_'.$name; $data = \Storage::disk('public')->put( - 'images/user_shop/' . $user->shop->id . '/' . $name, + 'images/user_shop/'.$user->shop->id.'/'.$name, $data ); @@ -258,16 +266,19 @@ class UserShopController extends Controller 'original_name' => $image['output']['name'], 'ext' => $ext, 'mine' => $image['output']['type'], - 'size' => $image['input']['size'] + 'size' => $image['input']['size'], ]); \Session()->flash('alert-success', __('msg.file_uploaded')); + return redirect(route('user_shop')); } \Session()->flash('alert-danger', __('msg.file_empty')); + return redirect(route('user_shop')); } catch (\Exception $e) { - \Session()->flash('alert-danger', "Error: " . $e); + \Session()->flash('alert-danger', 'Error: '.$e); + return redirect(route('user_shop')); } } @@ -276,74 +287,78 @@ class UserShopController extends Controller { $user = Auth::user(); - if (!$user->shop || $user->shop->id != $user_shop_id) { + if (! $user->shop || $user->shop->id != $user_shop_id) { abort(404); } $image = UserShopOnSite::findOrFail($image_id); if ($image->user_shop_id == $user_shop_id) { - $file = 'images/user_shop/' . $user_shop_id . '/' . $image->filename; + $file = 'images/user_shop/'.$user_shop_id.'/'.$image->filename; \Storage::disk('public')->delete($file); $image->delete(); \Session()->flash('alert-success', __('msg.file_deleted')); + return redirect(route('user_shop')); } \Session()->flash('alert-danger', __('msg.file_not_found')); + return redirect(route('user_shop')); } - - - public function userShopRegisterForm() { if (Request::get('shop_submit') == 'check') { - $rules = array( + $rules = [ 'user_shop_name' => ' required|alpha_dash|unique:user_shops,name|min:4|max:20|full_word_check', - ); + ]; Validator::extend('full_word_check', function ($attribute, $value, $parameters, $validator) { if (in_array($value, config('profanity.full_word_check'))) { return false; } + return true; }); $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { \Session()->flash('shop-name-error', 'error'); + return redirect()->back()->withErrors($validator)->withInput(Request::all()); } \Session()->flash('shop-name-error', 'check'); if (Request::get('user_shop_id')) { return back()->withInput(Request::all()); } + return redirect(route('user_shop'))->withInput(Request::all()); } if (Request::get('shop_submit') == 'action') { - $rules = array( + $rules = [ 'user_shop_name' => ' required|alpha_dash|unique:user_shops,name|min:4|max:20|full_word_check', 'user_shop_active' => 'accepted', - ); + ]; Validator::extend('full_word_check', function ($attribute, $value, $parameters, $validator) { if (in_array($value, config('profanity.full_word_check'))) { return false; } + return true; }); $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { \Session()->flash('shop-name-error', 'error'); + return redirect()->back()->withErrors($validator)->withInput(Request::all()); } \Session()->flash('shop-name-error', 'check'); - //all is right - save + // all is right - save $user = Auth::user(); $data = Request::all(); $slug = SlugService::createSlug(UserShop::class, 'slug', $data['user_shop_name']); @@ -367,93 +382,51 @@ class UserShopController extends Controller ); } \Session()->flash('alert-save', true); + return redirect(route('user_shop')); - /*$ret = $this->userShopRegisterSubDomain($user_shop->slug); - if($ret['success'] === true){ - \Session()->flash('alert-save', true); - }else{ - $user_shop->forceDelete(); - \Session()->flash('alert-error', $ret['error']); - } - return redirect(route('user_shop'));*/ } } - - public function userShopRegisterSubDomain($slug) - { - - $kas = new KasController(); - $domain = 'mivita.care'; - - - //check if exisist - $subdomains = $kas->action('get_subdomains'); - foreach ($subdomains as $subdomain) { - if (!isset($subdomain['subdomain_name'])) { - continue; - } - $sub = str_replace("." . $domain, '', $subdomain['subdomain_name']); - if ($sub == $slug) { - return ['success' => false, 'error' => __('shop.error_subdomain_exists')]; - } - } - //add - $full_subdomain_name = $slug . "." . $domain; - $pra = array( - 'subdomain_name' => $slug, - 'domain_name' => $domain, - 'subdomain_path' => '/mein.mivita.care/public/', - 'php_version' => config('app.php_version'), - //'ssl_proxy' => 'Y', - //'redirect_status' => 0 - ); - $add_subdomain = $kas->action('add_subdomain', $pra); - if ($add_subdomain == $full_subdomain_name) { - return ['success' => true]; - } - return ['success' => false, 'error' => $add_subdomain]; - } - /** * @return string to ajax */ public function checkUserShopName() { - $rules = array( + $rules = [ 'user_shop_name' => ' required|alpha_dash|unique:user_shops,name|min:4|max:20|full_word_check', - ); + ]; Validator::extend('full_word_check', function ($attribute, $value, $parameters, $validator) { if (in_array($value, config('profanity.full_word_check'))) { return false; } + return true; }); $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { - //$messages = $validator->messages(); - return Response::json(array( + // $messages = $validator->messages(); + return Response::json([ 'success' => false, - 'errors' => $validator->getMessageBag()->toArray() + 'errors' => $validator->getMessageBag()->toArray(), - )); + ]); } $slug = SlugService::createSlug(UserShop::class, 'slug', Request::get('user_shop_name')); - return Response::json(array( + return Response::json([ 'success' => true, - 'preview_user_shop_name' => "https://" . $slug . "." . config('app.domain') . config('app.tld_care'), - )); + 'preview_user_shop_name' => 'https://'.$slug.'.'.config('app.domain').config('app.tld_care'), + ]); } public function editName() { $user = Auth::user(); $user_shop = $user->shop; - if (!$user_shop) { + if (! $user_shop) { abort(404); } $user_shop_domain = $user_shop->getSubdomain(false); @@ -462,6 +435,7 @@ class UserShopController extends Controller 'user_shop_id' => $user_shop->id, 'user_shop_domain' => $user_shop_domain, ]; + return view('user.shop_edit_name', $data); } } diff --git a/app/Http/Controllers/Web/SiteController.php b/app/Http/Controllers/Web/SiteController.php index 72a09a3e..5513efec 100644 --- a/app/Http/Controllers/Web/SiteController.php +++ b/app/Http/Controllers/Web/SiteController.php @@ -9,11 +9,43 @@ use App\Models\Product; use App\Models\ProductCategory; use App\Services\LocaleGuard; use App\Services\Shop; +use App\Services\UserService; use App\Services\Util; use Request; class SiteController extends Controller { + /** + * Templates, die eigene Controller mit eigenen View-Daten haben und daher + * nicht über die Catch-all-Route ({site}/{subsite?}) gerendert werden dürfen. + * + * @var array + */ + private const PROTECTED_TEMPLATES = [ + 'checkout', + 'checkout-error', + 'checkout-final', + 'checkout-is-final', + 'card', + 'kontakt', + 'contact-final', + 'registrierung', + 'registrierung_finish', + 'widerruf', + 'widerruf-final', + 'produkte-show', + 'produkte-item', + 'versandkosten', + 'zahlungsarten', + ]; + + private function isRenderableTemplate(string $template): bool + { + return ! str_starts_with($template, '_') + && ! in_array($template, self::PROTECTED_TEMPLATES, true) + && view()->exists('web.templates.'.$template); + } + public function index() { $this->setIPInfo(); @@ -83,7 +115,7 @@ class SiteController extends Controller // ist default // sprache - if (array_key_exists($country, \App\Services\UserService::getTransChange())) { + if (array_key_exists($country, UserService::getTransChange())) { \Session::put('user_init_country', $country); \Session::put('locale', $country); \App::setLocale($country); @@ -177,13 +209,13 @@ class SiteController extends Controller 'yard_instance' => 'webshop', ]; if ($subsite) { - if (! view()->exists('web.templates.'.$subsite)) { + if (! $this->isRenderableTemplate($subsite)) { abort(404); } return view('web.templates.'.$subsite, $data); } - if (! view()->exists('web.templates.'.$site)) { + if (! $this->isRenderableTemplate($site)) { abort(404); } diff --git a/app/Models/ShoppingOrder.php b/app/Models/ShoppingOrder.php index bc8a9093..91a8d592 100644 --- a/app/Models/ShoppingOrder.php +++ b/app/Models/ShoppingOrder.php @@ -2,9 +2,14 @@ namespace App\Models; +use Acme\Dhl\Models\DhlShipment; +use App\Services\HTMLHelper; +use App\User; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Illuminate\Support\Carbon; /** * App\Models\ShoppingOrder @@ -23,16 +28,16 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property int|null $weight * @property int|null $paid * @property string|null $txaction - * @property \Illuminate\Support\Carbon|null $created_at - * @property \Illuminate\Support\Carbon|null $updated_at - * @property-read \App\User|null $auth_user - * @property-read \App\Models\Country $country - * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingOrderItem[] $shopping_order_items + * @property Carbon|null $created_at + * @property Carbon|null $updated_at + * @property-read User|null $auth_user + * @property-read Country $country + * @property-read Collection|ShoppingOrderItem[] $shopping_order_items * @property-read int|null $shopping_order_items_count - * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingPayment[] $shopping_payments + * @property-read Collection|ShoppingPayment[] $shopping_payments * @property-read int|null $shopping_payments_count - * @property-read \App\Models\ShoppingUser $shopping_user - * @property-read \App\Models\UserShop $user_shop + * @property-read ShoppingUser $shopping_user + * @property-read UserShop $user_shop * * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder newQuery() @@ -60,13 +65,13 @@ use Illuminate\Database\Eloquent\SoftDeletes; * * @property int|null $member_id * @property string|null $mode - * @property-read \App\User|null $member - * @property-read \App\Models\UserHistory|null $user_history + * @property-read User|null $member + * @property-read UserHistory|null $user_history * * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereMemberId($value) * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereMode($value) * - * @property \Illuminate\Support\Carbon|null $deleted_at + * @property Carbon|null $deleted_at * @property string|null $user_deleted_at * * @method static \Illuminate\Database\Query\Builder|\App\Models\ShoppingOrder onlyTrashed() @@ -75,7 +80,7 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @method static \Illuminate\Database\Query\Builder|\App\Models\ShoppingOrder withTrashed() * @method static \Illuminate\Database\Query\Builder|\App\Models\ShoppingOrder withoutTrashed() * - * @property-read \App\Models\ShippingCountry $shipping_country + * @property-read ShippingCountry $shipping_country * @property float|null $shipping_net * @property float|null $subtotal_ws * @property int|null $points @@ -93,21 +98,21 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property int|null $homeparty_id * @property array|null $api_notice * @property int|null $api_status - * @property-read \App\Models\Homeparty|null $homeparty + * @property-read Homeparty|null $homeparty * * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereHomepartyId($value) * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereWpNotice($value) * * @property array|null $tax_split - * @property-read \App\Models\UserInvoice|null $user_invoice - * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserSalesVolume[] $user_sales_volume + * @property-read UserInvoice|null $user_invoice + * @property-read Collection|UserSalesVolume[] $user_sales_volume * @property-read int|null $user_sales_volume_count * * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereTaxSplit($value) * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereApiNotice($value) * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereApiStatus($value) * - * @property-read \App\Models\ShoppingCollectOrder|null $shopping_collect_order + * @property-read ShoppingCollectOrder|null $shopping_collect_order * @property array|null $net_split * * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereNetSplit($value) @@ -122,11 +127,11 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereAboInterval($value) * @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereIsAbo($value) * - * @property-read \Illuminate\Database\Eloquent\Collection $dhlOutboundShipments + * @property-read Collection $dhlOutboundShipments * @property-read int|null $dhl_outbound_shipments_count - * @property-read \Illuminate\Database\Eloquent\Collection $dhlReturnShipments + * @property-read Collection $dhlReturnShipments * @property-read int|null $dhl_return_shipments_count - * @property-read \Illuminate\Database\Eloquent\Collection $dhlShipments + * @property-read Collection $dhlShipments * @property-read int|null $dhl_shipments_count * * @mixin \Eloquent @@ -608,7 +613,7 @@ class ShoppingOrder extends Model */ public function isCancellationInvoice() { - return \App\Models\UserInvoice::where('shopping_order_id', $this->id) + return UserInvoice::where('shopping_order_id', $this->id) ->where('cancellation', true) ->whereNull('cancellation_id') ->exists(); @@ -620,7 +625,7 @@ class ShoppingOrder extends Model */ public function getCancellationInvoice() { - return \App\Models\UserInvoice::where('shopping_order_id', $this->id) + return UserInvoice::where('shopping_order_id', $this->id) ->where('cancellation', true) ->whereNull('cancellation_id') ->first(); @@ -710,13 +715,13 @@ class ShoppingOrder extends Model } foreach ($tax_split as $key => $value) { - $tax_split[$key]['vk_tax'] = number_format($value['vk_tax'], 2); - $tax_split[$key]['ek_tax'] = number_format($value['ek_tax'], 2); + $tax_split[$key]['vk_tax'] = number_format($value['vk_tax'], 2, '.', ''); + $tax_split[$key]['ek_tax'] = number_format($value['ek_tax'], 2, '.', ''); } foreach ($net_split as $key => $value) { - $net_split[$key]['vk_net'] = number_format($value['vk_net'], 2); - $net_split[$key]['ek_net'] = number_format($value['ek_net'], 2); + $net_split[$key]['vk_net'] = number_format($value['vk_net'], 2, '.', ''); + $net_split[$key]['ek_net'] = number_format($value['ek_net'], 2, '.', ''); } } if (! isset($tax_split[16]) && ! isset($tax_split[19])) { @@ -779,10 +784,10 @@ class ShoppingOrder extends Model } foreach ($tax_split as $key => $value) { - $tax_split[$key] = number_format($value, 2); + $tax_split[$key] = number_format($value, 2, '.', ''); } foreach ($net_split as $key => $value) { - $net_split[$key] = number_format($value, 2); + $net_split[$key] = number_format($value, 2, '.', ''); } } $this->tax_split = $tax_split; @@ -798,7 +803,7 @@ class ShoppingOrder extends Model $fullname = $this->shopping_user->getFullNameAsArray(); $ret = ''; $ret .= $fullname['company'] ? $fullname['company'].' | ' : ''; - $ret .= $fullname['salutation'] ? \App\Services\HTMLHelper::getSalutationLang($fullname['salutation']).' ' : ''; + $ret .= $fullname['salutation'] ? HTMLHelper::getSalutationLang($fullname['salutation']).' ' : ''; $ret .= $fullname['firstname'] ? $fullname['firstname'].' ' : ''; $ret .= $fullname['lastname'] ? $fullname['lastname'] : ''; $ret .= $fullname['email'] ? ' | '.$fullname['email'].'' : ''; diff --git a/app/Models/UserAbo.php b/app/Models/UserAbo.php index 35de5402..e3ea3d91 100644 --- a/app/Models/UserAbo.php +++ b/app/Models/UserAbo.php @@ -91,6 +91,23 @@ class UserAbo extends Model protected $table = 'user_abos'; + /** + * Ein gelöschtes Abo darf nicht aktiv bleiben: Softdelete setzt nur + * deleted_at, wodurch active=1-Leichen entstehen, die Incentive-, + * Statistik- und Ist/Soll-Zahlen auseinanderlaufen lassen. Deshalb wird + * active beim Löschen immer mitgesetzt (gilt für Model-Deletes; Query- + * Builder-Deletes lösen keine Model-Events aus). + */ + protected static function booted(): void + { + static::deleting(function (UserAbo $abo): void { + if ($abo->active) { + $abo->active = false; + $abo->saveQuietly(); + } + }); + } + protected $casts = [ 'user_id' => 'int', 'member_id' => 'int', @@ -105,6 +122,8 @@ class UserAbo extends Model 'next_date' => 'datetime', 'onetime_reminder_sent_for' => 'date', 'cancel_date' => 'datetime', + 'last_pause_date' => 'date', + 'pause_count' => 'int', 'user_deleted_at' => 'datetime', 'carddata' => 'array', 'card_update_pending_at' => 'datetime', @@ -133,6 +152,8 @@ class UserAbo extends Model 'next_date', 'onetime_reminder_sent_for', 'cancel_date', + 'last_pause_date', + 'pause_count', 'user_deleted_at', 'card_update_pending_at', ]; @@ -355,6 +376,11 @@ class UserAbo extends Model return $this->hasMany(UserAboItem::class); } + public function status_histories() + { + return $this->hasMany(UserAboStatusHistory::class); + } + public function one_time_items() { return $this->hasMany(UserAboOneTimeItem::class); diff --git a/app/Models/UserAboStatusHistory.php b/app/Models/UserAboStatusHistory.php new file mode 100644 index 00000000..1f6a2a83 --- /dev/null +++ b/app/Models/UserAboStatusHistory.php @@ -0,0 +1,127 @@ + 'abo_history.status_paused', + self::ACTION_CANCELLED => 'abo_history.status_cancelled', + self::ACTION_DEACTIVATED => 'abo_history.status_deactivated', + self::ACTION_REACTIVATED => 'abo_history.status_reactivated', + ]; + + public static $actionColors = [ + self::ACTION_PAUSED => 'warning', + self::ACTION_CANCELLED => 'danger', + self::ACTION_DEACTIVATED => 'secondary', + self::ACTION_REACTIVATED => 'success', + ]; + + /** + * Formular-View → Kanal-Label/Farbe der Item-Historie (gleiche Optik im Protokoll). + */ + public static $viewChannelMap = [ + 'me' => 'user_me', + 'ot' => 'user_ot', + 'portal' => 'portal', + 'admin' => 'admin', + ]; + + protected $fillable = [ + 'user_abo_id', + 'action', + 'view', + 'actor_user_id', + 'previous_next_date', + 'new_next_date', + ]; + + protected $casts = [ + 'user_abo_id' => 'int', + 'actor_user_id' => 'int', + 'previous_next_date' => 'date', + 'new_next_date' => 'date', + ]; + + public function user_abo(): BelongsTo + { + return $this->belongsTo(UserAbo::class); + } + + public function actor(): BelongsTo + { + return $this->belongsTo(User::class, 'actor_user_id'); + } + + public function getActionBadge(): string + { + $label = isset(self::$actionLabels[$this->action]) ? __(self::$actionLabels[$this->action]) : $this->action; + $color = self::$actionColors[$this->action] ?? 'secondary'; + + return ''.$label.''; + } + + public function getChannelBadge(): string + { + $channel = self::$viewChannelMap[$this->view] ?? 'system'; + $label = isset(UserAboItemHistory::$channelLabels[$channel]) ? __(UserAboItemHistory::$channelLabels[$channel]) : $channel; + $color = UserAboItemHistory::$channelColors[$channel] ?? 'secondary'; + + return ''.$label.''; + } + + public function getDescription(): string + { + if ($this->action === self::ACTION_PAUSED && $this->previous_next_date && $this->new_next_date) { + return __('abo_history.status_shift', [ + 'from' => $this->previous_next_date->format(\Util::formatDateDB()), + 'to' => $this->new_next_date->format(\Util::formatDateDB()), + ]); + } + + return ''; + } + + public function getFormattedDate(): string + { + return $this->created_at ? $this->created_at->format(\Util::formatDateDB().' H:i') : ''; + } + + public function getActorName(): string + { + if (! $this->actor) { + return '-'; + } + + $name = trim(($this->actor->account?->first_name ?? '').' '.($this->actor->account?->last_name ?? '')); + + return $name !== '' ? $name : ($this->actor->email ?? '-'); + } +} diff --git a/app/Models/UserShop.php b/app/Models/UserShop.php index e1169d6e..90bcc427 100644 --- a/app/Models/UserShop.php +++ b/app/Models/UserShop.php @@ -2,10 +2,10 @@ namespace App\Models; -use App\Http\Controllers\Api\KasController; -use App\Http\Controllers\Api\KasSLLController; +use App\User; use Carbon\Carbon; use Cviebrock\EloquentSluggable\Sluggable; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; @@ -32,9 +32,10 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property \Illuminate\Support\Carbon|null $deleted_at - * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserShopOnSite[] $on_sites + * @property-read Collection|UserShopOnSite[] $on_sites * @property-read int|null $on_sites_count - * @property-read \App\User $user + * @property-read User $user + * * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserShop findSimilarSlugs($attribute, $config, $slug) * @method static bool|null forceDelete() * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserShop newModelQuery() @@ -65,16 +66,16 @@ use Illuminate\Database\Eloquent\SoftDeletes; * @method static \Illuminate\Database\Query\Builder|\App\Models\UserShop withTrashed() * @method static \Illuminate\Database\Query\Builder|\App\Models\UserShop withoutTrashed() * @method static \Illuminate\Database\Eloquent\Builder|UserShop withUniqueSlugConstraints(\Illuminate\Database\Eloquent\Model $model, string $attribute, array $config, string $slug) + * * @property array|null $trans + * * @method static \Illuminate\Database\Eloquent\Builder|UserShop whereTrans($value) + * * @mixin \Eloquent */ class UserShop extends Model { protected $table = 'user_shops'; - private $is_online = NULL; - private $ssl_certificate_sni = NULL; - private $ssl_certificate_sni_is_active = NULL; protected $casts = [ 'featured' => 'array', @@ -86,15 +87,17 @@ class UserShop extends Model ]; use SoftDeletes; + protected $dates = ['deleted_at']; + use Sluggable; - - public function sluggable() : array + + public function sluggable(): array { return [ 'slug' => [ - 'source' => 'name' - ] + 'source' => 'name', + ], ]; } @@ -103,18 +106,27 @@ class UserShop extends Model return $this->belongsTo('App\User', 'user_id'); } - public function on_sites(){ + public function on_sites() + { return $this->hasMany('App\Models\UserShopOnSite', 'user_shop_id', 'id'); } - public function getActiveDateFormat(){ - if(!$this->attributes['active_date']){ return ""; } + public function getActiveDateFormat() + { + if (! $this->attributes['active_date']) { + return ''; + } + return Carbon::parse($this->attributes['active_date'])->format(\Util::formatDateTimeDB()); } - public function getActiveDateFormatSmall(){ - if(!$this->attributes['active_date']){ return ""; } - return Carbon::parse($this->attributes['active_date'])->format("d.m.Y"); + public function getActiveDateFormatSmall() + { + if (! $this->attributes['active_date']) { + return ''; + } + + return Carbon::parse($this->attributes['active_date'])->format('d.m.Y'); } public function getLang($key, $default = true) @@ -123,6 +135,7 @@ class UserShop extends Model if ($lang == 'de') { return $this->{$key}; } + return $this->getTrans($key, $lang, $default); } @@ -131,126 +144,70 @@ class UserShop extends Model if ($lang == 'de') { return $this->{$key}; } - if(!empty($this->trans[$lang][$key])){ + if (! empty($this->trans[$lang][$key])) { return $this->trans[$lang][$key]; } - if($default){ - return !empty($this->{$key}) ? $this->{$key} : ''; + if ($default) { + return ! empty($this->{$key}) ? $this->{$key} : ''; } - return ""; + + return ''; } - public function getSubdomain($session=true) + public function getSubdomain($session = true) { - if($session && \Session::has('user_shop_domain')){ + if ($session && \Session::has('user_shop_domain')) { return \Session::get('user_shop_domain'); } - return config('app.protocol').$this->attributes['slug'].".".config('app.domain').config('app.tld_care'); + + return config('app.protocol').$this->attributes['slug'].'.'.config('app.domain').config('app.tld_care'); } - public function getSubdomainStatus() + public function getSubdomainAvailable() { - if($this->is_online !== NULL){ - return $this->is_online; - } + $rCurlHandle = curl_init($this->attributes['slug'].'.mivita.care'); - $kas = new KasController(); - $domain = 'mivita.care'; - $pra = array( - 'subdomain_name' => $this->attributes['slug'].".".$domain, - 'domain_name' => $domain, - ); + curl_setopt($rCurlHandle, CURLOPT_CONNECTTIMEOUT, 10); + curl_setopt($rCurlHandle, CURLOPT_HEADER, true); + curl_setopt($rCurlHandle, CURLOPT_NOBODY, true); + curl_setopt($rCurlHandle, CURLOPT_RETURNTRANSFER, true); - //check if exisist - $subdomain = $kas->action('get_subdomains', $pra); - if(is_soap_fault($subdomain)){ + $strResponse = curl_exec($rCurlHandle); + + curl_close($rCurlHandle); + + if (! $strResponse) { return false; } - - if(!empty($subdomain[0]['is_active']) && $subdomain[0]['is_active'] == 'Y'){ - $this->is_online = true; - }else{ - $this->is_online = false; - } - - if(!empty($subdomain[0]['ssl_certificate_sni']) && $subdomain[0]['ssl_certificate_sni'] == 'Y'){ - $this->ssl_certificate_sni = true; - }else{ - $this->ssl_certificate_sni = false; - $this->userShopAddSSL($subdomain[0]['subdomain_name']); - } - - if(!empty($subdomain[0]['ssl_certificate_sni_is_active']) && $subdomain[0]['ssl_certificate_sni_is_active'] == 'j'){ - $this->ssl_certificate_sni_is_active = true; - }else{ - $this->ssl_certificate_sni_is_active = false; - } - - return $this->is_online; - } - - public function userShopAddSSL($full_subdomain_name) - { - $kas = new KasController(); - $ssl = KasSLLController::getApiSSLParameter(); - $pra = array( - 'hostname' => $full_subdomain_name - ); - $pra = array_merge($pra, $ssl); - $value = $kas->action('update_ssl', $pra); - return $value; - } - public function getSubdomainSslSin () - { - return $this->ssl_certificate_sni; - } - public function getSubdomainSslSinActive () - { - return $this->ssl_certificate_sni_is_active; - } - public function getSubdomainAvailable () - { - $rCurlHandle = curl_init ( $this->attributes['slug'].".mivita.care" ); - - curl_setopt ( $rCurlHandle, CURLOPT_CONNECTTIMEOUT, 10 ); - curl_setopt ( $rCurlHandle, CURLOPT_HEADER, TRUE ); - curl_setopt ( $rCurlHandle, CURLOPT_NOBODY, TRUE ); - curl_setopt ( $rCurlHandle, CURLOPT_RETURNTRANSFER, TRUE ); - - $strResponse = curl_exec ( $rCurlHandle ); - - curl_close ( $rCurlHandle ); - - if ( !$strResponse ) - { - return FALSE; - } - - $url = "http://".$this->attributes['slug'].".mivita.care/domain/check"; - if(@file_get_contents($url) != 'checked'){ - return FALSE; - } - return TRUE; - } - - - - public function isImage(){ - if(empty($this->attributes['filename']) || @$this->attributes['filename'] == null || @$this->attributes['filename'] == ""){ - return false; - } - if(!\Storage::disk('public')->has('images/shop/'.$this->filename)){ + $url = 'http://'.$this->attributes['slug'].'.mivita.care/domain/check'; + if (@file_get_contents($url) != 'checked') { return false; } + return true; } - public function getImage(){ - if($this->isImage()){ + public function isImage() + { + if (empty($this->attributes['filename']) || @$this->attributes['filename'] == null || @$this->attributes['filename'] == '') { + return false; + } + if (! \Storage::disk('public')->has('images/shop/'.$this->filename)) { + return false; + } + + return true; + } + + public function getImage() + { + if ($this->isImage()) { $link = 'images/shop/'.$this->filename; + return '/storage/'.$link.'?=lm='.\Storage::disk('public')->lastModified($link); } + return false; } -} \ No newline at end of file +} diff --git a/app/Repositories/AboRepository.php b/app/Repositories/AboRepository.php index 54f116c0..043ff9bc 100644 --- a/app/Repositories/AboRepository.php +++ b/app/Repositories/AboRepository.php @@ -2,7 +2,9 @@ namespace App\Repositories; +use App\Models\Setting; use App\Models\UserAbo; +use App\Models\UserAboStatusHistory; use App\Services\AboHelper; use Carbon\Carbon; @@ -19,7 +21,7 @@ class AboRepository extends BaseRepository */ public static function getLockDaysChange(): int { - $days = (int) \App\Models\Setting::getContentBySlug('abo-lock-days-change'); + $days = (int) Setting::getContentBySlug('abo-lock-days-change'); return $days > 0 ? $days : self::DEFAULT_LOCK_DAYS_CHANGE; } @@ -31,7 +33,7 @@ class AboRepository extends BaseRepository */ public static function getLockDaysPauseCancel(): int { - $days = (int) \App\Models\Setting::getContentBySlug('abo-lock-days-pause-cancel'); + $days = (int) Setting::getContentBySlug('abo-lock-days-pause-cancel'); return $days > 0 ? $days : self::DEFAULT_LOCK_DAYS_PAUSE_CANCEL; } @@ -51,6 +53,13 @@ class AboRepository extends BaseRepository if (isset($data['action'])) { if ($data['action'] === 'abo_update_settings') { if ($this->validate($data)) { + // Pause ist eine eigenständige Aktion: sie verschiebt nur next_date + // und darf nicht von der anschließenden Liefertag-Neuberechnung + // überschrieben werden. + if (isset($data['abo_pause']) && $data['abo_pause'] == 'true') { + return $this->pauseOneMonth($data); + } + $this->updateStatus($data); $this->model->abo_interval = (int) $data['abo_interval']; $nextDate = $this->isAdminUpdate($data) @@ -60,7 +69,7 @@ class AboRepository extends BaseRepository $this->model->save(); $daysUntilNext = AboHelper::calendarDaysUntil(now(), $nextDate); - \Session()->flash('alert-warning', __('abo.warning_next_date_info', ['days' => $daysUntilNext, 'date' => $nextDate->format('d.m.Y')])); + \Session()->flash('alert-warning', __('abo.warning_next_date_info', ['days' => $daysUntilNext, 'date' => $nextDate->format(\Util::formatDateDB())])); return true; } @@ -80,9 +89,18 @@ class AboRepository extends BaseRepository // Handle cancellation if (isset($data['abo_cancel']) && $data['abo_cancel'] == 'true') { + // Mindestlaufzeit serverseitig durchsetzen — die UI blendet den Button nur aus + if (! $isAdminUpdate && ! AboHelper::canCancelAbo($this->model, $data['view'] ?? 'user')) { + \Session()->flash('alert-error', __('abo.info_min_duration_orders_left', [ + 'count' => max(0, (int) AboHelper::getAboMinDuration() - $this->model->getCountPaidOrders()), + ])); + + return; + } + // Sperre: 3 Tage vor Ausführung kann nicht mehr pausiert/gekündigt werden if (! $isAdminUpdate && $this->model->next_date) { - $daysUntil = (int) now()->diffInDays(\Carbon\Carbon::parse($this->model->next_date), false); + $daysUntil = (int) now()->diffInDays(Carbon::parse($this->model->next_date), false); if ($daysUntil >= 0 && $daysUntil < self::getLockDaysPauseCancel()) { \Session()->flash('alert-error', __('abo.error_cancel_locked', ['days' => $daysUntil, 'lock' => self::getLockDaysPauseCancel()])); @@ -96,13 +114,15 @@ class AboRepository extends BaseRepository $this->model->cancel_date = now(); $this->model->save(); + $this->logStatusHistory(UserAboStatusHistory::ACTION_CANCELLED, $data); + return; } $active = (isset($data['abo_is_active']) && $data['abo_is_active']) ? true : false; // Sperre: 3 Tage vor Ausführung kann nicht mehr pausiert werden if (! $isAdminUpdate && $this->model->active && ! $active && $this->model->next_date) { - $daysUntil = (int) now()->diffInDays(\Carbon\Carbon::parse($this->model->next_date), false); + $daysUntil = (int) now()->diffInDays(Carbon::parse($this->model->next_date), false); if ($daysUntil >= 0 && $daysUntil < self::getLockDaysPauseCancel()) { \Session()->flash('alert-error', __('abo.error_pause_locked', ['days' => $daysUntil, 'lock' => self::getLockDaysPauseCancel()])); @@ -115,6 +135,8 @@ class AboRepository extends BaseRepository $this->model->status = 6; // inactive $this->model->active = false; $this->model->save(); + + $this->logStatusHistory(UserAboStatusHistory::ACTION_DEACTIVATED, $data); } } if (! $this->model->active && $active) { @@ -122,11 +144,88 @@ class AboRepository extends BaseRepository $this->model->status = 2; // okay $this->model->active = true; $this->model->save(); + + $this->logStatusHistory(UserAboStatusHistory::ACTION_REACTIVATED, $data); } } $this->model->active = $active; } + /** + * Pausiert das Abo um genau einen Ausführungs-Zyklus: next_date wandert auf den + * gleichen Liefertag des Folgemonats, das Abo bleibt aktiv (Status 2). + * Regeln (außer Admin): Sperrfrist vor der Ausführung, Mindestlaufzeit und + * max. 1 Pause pro X Monate ({@see AboHelper::canPauseAbo()}). + */ + private function pauseOneMonth(array $data): bool + { + // Zeilen-Lock + frisches Modell: zwei parallele Pause-Requests dürfen next_date + // nicht beide auf Basis des alten Standes verschieben (Doppel-Pause). + return \DB::transaction(function () use ($data): bool { + $this->model = UserAbo::whereKey($this->model->id)->lockForUpdate()->firstOrFail(); + + return $this->pauseOneMonthLocked($data); + }); + } + + private function pauseOneMonthLocked(array $data): bool + { + $isAdminUpdate = $this->isAdminUpdate($data); + + if (! $this->model->active || (int) $this->model->status !== 2 || ! $this->model->getRawOriginal('next_date')) { + \Session()->flash('alert-error', __('abo.error_pause_not_active')); + + return false; + } + + if (! $isAdminUpdate) { + $daysUntil = (int) now()->diffInDays(Carbon::parse($this->model->getRawOriginal('next_date')), false); + if ($daysUntil >= 0 && $daysUntil < self::getLockDaysPauseCancel()) { + \Session()->flash('alert-error', __('abo.error_pause_locked', ['days' => $daysUntil, 'lock' => self::getLockDaysPauseCancel()])); + + return false; + } + + if (! AboHelper::canCancelAbo($this->model, $data['view'] ?? 'user')) { + \Session()->flash('alert-error', __('abo.info_min_duration_orders_left', ['count' => (int) AboHelper::getAboMinDuration() - $this->model->getCountPaidOrders()])); + + return false; + } + + if (($nextPossible = AboHelper::nextPossiblePauseDate($this->model)) !== null) { + \Session()->flash('alert-error', __('abo.error_pause_interval', ['months' => AboHelper::getPauseIntervalMonths(), 'date' => $nextPossible->format(\Util::formatDateDB())])); + + return false; + } + } + + $previousNextDate = Carbon::parse($this->model->getRawOriginal('next_date')); + $newNextDate = AboHelper::setNextDate($previousNextDate, (int) $this->model->abo_interval); + + $this->model->next_date = $newNextDate; + $this->model->last_pause_date = now(); + $this->model->pause_count = (int) $this->model->pause_count + 1; + $this->model->save(); + + $this->logStatusHistory(UserAboStatusHistory::ACTION_PAUSED, $data, $previousNextDate, $newNextDate); + + \Session()->flash('alert-success', __('abo.pause_success', ['date' => $newNextDate->format(\Util::formatDateDB())])); + + return true; + } + + private function logStatusHistory(string $action, array $data, ?Carbon $previousNextDate = null, ?Carbon $newNextDate = null): void + { + UserAboStatusHistory::create([ + 'user_abo_id' => $this->model->id, + 'action' => $action, + 'view' => $data['view'] ?? null, + 'actor_user_id' => \Auth::id(), + 'previous_next_date' => $previousNextDate, + 'new_next_date' => $newNextDate, + ]); + } + private function validate($data) { if ($data['view'] !== 'admin' && $data['view'] !== 'portal') { @@ -151,7 +250,7 @@ class AboRepository extends BaseRepository return false; } } - if (! isset($data['abo_interval']) || ! in_array((int) $data['abo_interval'], \App\Models\UserAbo::$aboDeliveryDays, true)) { + if (! isset($data['abo_interval']) || ! in_array((int) $data['abo_interval'], UserAbo::$aboDeliveryDays, true)) { \Session()->flash('alert-error', __('abo.error_abo_interval')); return false; @@ -181,7 +280,7 @@ class AboRepository extends BaseRepository if ($intervalChanged) { // Sperre: X Tage vor nächster Ausführung kein Liefertag-Wechsel mehr (Pakete werden vorgepackt) if ($this->model->next_date) { - $daysUntilExecution = (int) now()->diffInDays(\Carbon\Carbon::parse($this->model->next_date), false); + $daysUntilExecution = (int) now()->diffInDays(Carbon::parse($this->model->next_date), false); if ($daysUntilExecution >= 0 && $daysUntilExecution < self::getLockDaysChange()) { \Session()->flash('alert-error', __('abo.error_change_locked', ['days' => $daysUntilExecution, 'lock' => self::getLockDaysChange()])); @@ -208,12 +307,12 @@ class AboRepository extends BaseRepository * Falls next_date bereits in einem zukünftigen Monat liegt, wird der Monatsanfang * dieses Monats als Referenz verwendet, sodass der neue Tag im selben Monat landet. */ - private function calculateNewNextDate(int $aboInterval): \Carbon\Carbon + private function calculateNewNextDate(int $aboInterval): Carbon { $referenceDate = now(); if ($this->model->next_date) { - $currentNextDate = \Carbon\Carbon::parse($this->model->next_date); + $currentNextDate = Carbon::parse($this->model->next_date); if ($currentNextDate->format('Y-m') > now()->format('Y-m')) { $referenceDate = $currentNextDate->startOfMonth(); diff --git a/app/Repositories/CreditRepository.php b/app/Repositories/CreditRepository.php index 5c9b25a9..c88f96c5 100644 --- a/app/Repositories/CreditRepository.php +++ b/app/Repositories/CreditRepository.php @@ -25,8 +25,8 @@ class CreditRepository extends BaseRepository public function create($request = []) { - // need invoice $data - $number = Credit::getCreditNumber(); + // Nummer atomar reservieren (gemeinsamer Nummernkreis mit Rechnungen) + $number = Credit::makeNextCreditNumber(); $credit_date = isset($request['credit_date']) ? $request['credit_date'] : \Carbon::now()->format('d.m.Y'); $credit_send_mail = isset($request['credit_send_mail']) ? true : false; $credit_number = Credit::createCreditNumber($number, $credit_date); @@ -131,8 +131,6 @@ class CreditRepository extends BaseRepository private function finishUserCredit($user_credit_id, $user_credit_items) { - // next credits - Credit::makeNextCreditNumber(); // mark as payed // $UserCreditItems = UserCreditItem::where('user_id', $this->model->id)->wherePaid(false)->get(); foreach ($user_credit_items as $user_credit_item) { diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index c3d9de8e..d5953a7c 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -2,20 +2,16 @@ namespace App\Repositories; -use Util; -use Request; -use App\User; -use Validator; -use App\Services\UserUtil; -use App\Models\UserAccount; use App\Models\PaymentMethod; +use App\Models\UserAccount; +use App\Services\UserUtil; +use App\Services\VatIdService; +use App\User; use Illuminate\Support\Facades\Hash; -use App\Http\Controllers\Api\KasController; +use Validator; class UserRepository extends BaseRepository { - - public function __construct(User $model) { $this->model = $model; @@ -24,7 +20,7 @@ class UserRepository extends BaseRepository public function update($data) { - if ($data['user_id'] === "new" || $data['user_id'] == 0) { + if ($data['user_id'] === 'new' || $data['user_id'] == 0) { $this->model = User::create([ 'email' => $data['email'], 'password' => env('APP_KEY'), @@ -35,16 +31,16 @@ class UserRepository extends BaseRepository $this->model = $this->getById($data['user_id']); } - if (!$this->model->account_id) { - $account = new UserAccount(); + if (! $this->model->account_id) { + $account = new UserAccount; } else { $account = $this->model->account; } - $data['same_as_billing'] = !isset($data['same_as_billing']) ? 0 : 1; + $data['same_as_billing'] = ! isset($data['same_as_billing']) ? 0 : 1; $account->fill($data)->save(); - if (!$this->model->account_id) { + if (! $this->model->account_id) { $this->model->account_id = $account->id; $this->model->save(); } @@ -73,7 +69,6 @@ class UserRepository extends BaseRepository $this->model->payment_methods = PaymentMethod::getDefaultAsArray(); $this->model->save(); - return $this->model; } @@ -91,31 +86,37 @@ class UserRepository extends BaseRepository { if (isset($data['action']) && $data['action'] == 'reverse_charge_validate') { - $rules = array( + $rules = [ 'tax_identification_number' => 'required', - ); + ]; $validator = Validator::make($data, $rules); if ($validator->fails()) { $data = [ 'user' => $user, ]; - return redirect($route . '#user-vat-validation')->withErrors($validator)->withInput($data); + + return redirect($route.'#user-vat-validation')->withErrors($validator)->withInput($data); } $ret = $this->reverse_charge_activate($data, $user); - if ($ret === 'error') { + if ($ret === 'error' || $ret === 'error_german') { $validator = Validator::make($data, []); - $validator->errors()->add('tax_identification_number_validated', __('msg.VATID_could_not_be_validated')); + $message = $ret === 'error_german' + ? __('msg.VATID_german_not_allowed') + : __('msg.VATID_could_not_be_validated'); + $validator->errors()->add('tax_identification_number_validated', $message); $data['reverse_charge'] = 0; $data = [ 'user' => $user, ]; - return redirect($route . '#user-vat-validation')->withErrors($validator)->withInput($data); + + return redirect($route.'#user-vat-validation')->withErrors($validator)->withInput($data); } if ($ret === 'valid') { \Session()->flash('alert-success', __('msg.VATID_successfully_entered')); - return redirect($route . '#user-vat-validation')->withInput($data); - return redirect($route . '#user-vat-validation')->withInput($data); + return redirect($route.'#user-vat-validation')->withInput($data); + + return redirect($route.'#user-vat-validation')->withInput($data); } } } @@ -125,12 +126,13 @@ class UserRepository extends BaseRepository if (isset($data['action']) && $data['action'] == 'reverse_charge_delete') { $user->account->tax_identification_number = ''; $user->account->reverse_charge = 0; - $user->account->reverse_charge_code = null; + $user->account->reverse_charge_code = null; $user->account->reverse_charge_valid = null; $user->account->save(); $data['tax_identification_number'] = ''; \Session()->flash('alert-success', __('msg.reverse_charge_procedure_and_VATID_deleted')); - return redirect($route . '#user-vat-validation')->withInput($data); + + return redirect($route.'#user-vat-validation')->withInput($data); } } @@ -165,42 +167,30 @@ class UserRepository extends BaseRepository 'SI' => 'SI-Slowenien', 'SK' => 'SK-Slowakei', 'XI' => 'XI-Nordirland', */ - $countryCode = 'DE'; + $accountCountryCode = 'DE'; if ($user->account->country_id) { - $countryCode = $user->account->country->code; + $accountCountryCode = $user->account->country->code; } - $vatid = str_replace(array(' ', '.', '-', ',', ', '), '', trim($data['tax_identification_number'])); - $cc = substr($vatid, 0, 2); - $vatNo = substr($vatid, 2); + $vatService = app(VatIdService::class); + $vatid = $vatService->normalize($data['tax_identification_number']); + $countryCode = $vatService->extractCountryCode($vatid, $accountCountryCode); - $options = [ - 'cache_wsdl' => WSDL_CACHE_NONE, - 'trace' => 1, - 'stream_context' => stream_context_create( - [ - 'ssl' => [ - 'verify_peer' => false, - 'verify_peer_name' => false, - 'allow_self_signed' => true - ] - ] - ) - ]; + if ($vatService->isGermanVatId($vatid) || $countryCode === 'DE') { + return 'error_german'; + } - $client = new \SoapClient("https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl", $options); - $result = $client->checkVat(['countryCode' => $countryCode, 'vatNumber' => $vatNo]); - - if ($result->valid == true) { + if ($vatService->checkVies($vatid, $accountCountryCode) === VatIdService::CHECK_VALID) { $user->account->tax_identification_number = $data['tax_identification_number']; $user->account->reverse_charge = 1; $user->account->reverse_charge_code = $countryCode; $user->account->reverse_charge_valid = now(); $user->account->save(); + return 'valid'; - } else { - return 'error'; } + + return 'error'; } } diff --git a/app/Services/Abo/PaylineForecastService.php b/app/Services/Abo/PaylineForecastService.php new file mode 100644 index 00000000..742b2e5d --- /dev/null +++ b/app/Services/Abo/PaylineForecastService.php @@ -0,0 +1,250 @@ +id}_{$month}_{$year}"; + $cached = Cache::get($cacheKey); + if (is_array($cached)) { + return $cached; + } + + [$context, $failed] = $this->buildPaylineContext($user, $month, $year); + + if (! $failed) { + Cache::put($cacheKey, $context, now()->addHours(self::CACHE_HOURS)); + } + + return $context; + } + + /** + * B8: Abo-Gesamtumsatz in der Payline — Soll und Ist, plus die Anzahl der + * dahinterstehenden Abos (Berater- und Kundenabos, Kundenwunsch 2026-07-24). + * + * @return array{paylines: int, members: int, target: float, actual: float, team_abo_count: int, team_customer_abo_count: int} + */ + public function aboTurnover(User $user, int $month, int $year): array + { + $context = $this->paylineContext($user, $month, $year); + $memberIds = $context['member_ids']; + + return [ + 'paylines' => $context['paylines'], + 'members' => count($memberIds), + 'target' => $this->aboTargetPoints($memberIds), + 'actual' => $this->aboActualPoints($memberIds, $month, $year), + 'team_abo_count' => $this->aboCount($memberIds, 'me', 'user_id'), + 'team_customer_abo_count' => $this->aboCount($memberIds, 'ot', 'member_id'), + ]; + } + + /** + * Anzahl aktiver Abos der Payline-Mitglieder (gleiche Filter wie Soll). + * + * @param int[] $memberIds + */ + private function aboCount(array $memberIds, string $isFor, string $userColumn): int + { + if ($memberIds === []) { + return 0; + } + + return UserAbo::query() + ->where('active', true) + ->whereNotIn('status', [4, 5, 6]) + ->where('is_for', $isFor) + ->whereIn($userColumn, $memberIds) + ->count(); + } + + /** + * B10: Prognose je Ausführungstermin des LAUFENDEN Monats. Basis ist der + * heutige Stand (Kundenumsatz + Payline-Punkte, vom Aufrufer übergeben); + * dazu kommen kumuliert die Abo-Punkte aller noch offenen Ausführungen bis + * zum jeweiligen Termin (next_date > heute, im laufenden Monat). Bereits + * ausgeführte Abos stecken im Ist-Umsatz und werden nicht doppelt gezählt. + * + * @return array{base: float, days: array} + */ + public function forecastDays(User $user, float $basePoints): array + { + $today = Carbon::today(); + $context = $this->paylineContext($user, (int) $today->month, (int) $today->year); + + $upcomingAbos = $this->upcomingAboQuery($user, $context['member_ids'], $today) + ->with('user_abo_items.product') + ->get(); + + $pointsByDay = []; + foreach ($upcomingAbos as $abo) { + $day = (int) Carbon::parse($abo->getRawOriginal('next_date'))->day; + $pointsByDay[$day] = ($pointsByDay[$day] ?? 0.0) + (float) $abo->getTotalPoints(); + } + + $days = []; + foreach (UserAbo::$aboDeliveryDays as $deliveryDay) { + $upcoming = 0.0; + foreach ($pointsByDay as $day => $points) { + if ($day <= $deliveryDay) { + $upcoming += $points; + } + } + + $days[] = [ + 'day' => $deliveryDay, + 'date' => $today->copy()->startOfMonth()->addDays($deliveryDay - 1)->format(\Util::formatDateDB()), + 'upcoming' => $upcoming, + 'total' => $basePoints + $upcoming, + 'is_past' => $deliveryDay < (int) $today->day, + ]; + } + + return [ + 'base' => $basePoints, + 'days' => $days, + ]; + } + + /** + * @return array{0: array{paylines: int, member_ids: int[]}, 1: bool} [Kontext, Lauf fehlgeschlagen] + */ + private function buildPaylineContext(User $user, int $month, int $year): array + { + $snapshot = $this->commissionService->snapshot($user, $month, $year); + $paylines = $snapshot['paylines']; + + if ($paylines <= 0) { + return [['paylines' => 0, 'member_ids' => []], (bool) ($snapshot['failed'] ?? false)]; + } + + $memberIds = collect($this->dashboardService->lineBuckets($user->id)) + ->filter(fn ($users, int $line) => $line <= $paylines) + ->flatMap(fn ($users) => $users->pluck('id')) + ->map(fn ($id) => (int) $id) + ->values() + ->all(); + + return [['paylines' => $paylines, 'member_ids' => $memberIds], false]; + } + + /** + * Soll: Abo-Punkte-Bestand (Produktpunkte × Menge, Hauptartikel comp = 0) + * aller aktiven Abos der Payline-Mitglieder — Berater-Abos und Kundenabos. + * + * @param int[] $memberIds + */ + private function aboTargetPoints(array $memberIds): float + { + if ($memberIds === []) { + return 0.0; + } + + return (float) UserAbo::query() + ->join('user_abo_items', 'user_abo_items.user_abo_id', '=', 'user_abos.id') + ->join('products', 'products.id', '=', 'user_abo_items.product_id') + ->whereNull('products.deleted_at') + ->where('user_abos.active', true) + ->whereNotIn('user_abos.status', [4, 5, 6]) + ->where('user_abo_items.comp', 0) + ->where(function (Builder $query) use ($memberIds) { + $query->where(fn (Builder $inner) => $inner->where('user_abos.is_for', 'me')->whereIn('user_abos.user_id', $memberIds)) + ->orWhere(fn (Builder $inner) => $inner->where('user_abos.is_for', 'ot')->whereIn('user_abos.member_id', $memberIds)); + }) + ->selectRaw('COALESCE(SUM(products.points * user_abo_items.qty), 0) as points') + ->value('points'); + } + + /** + * Ist: im Monat abgerechnete Abo-Punkte der Payline-Mitglieder. + * + * @param int[] $memberIds + */ + private function aboActualPoints(array $memberIds, int $month, int $year): float + { + if ($memberIds === []) { + return 0.0; + } + + return (float) UserSalesVolume::query() + ->leftJoin('shopping_orders', 'shopping_orders.id', '=', 'user_sales_volumes.shopping_order_id') + ->whereIn('user_id', $memberIds) + ->where('month', $month) + ->where('year', $year) + ->selectRaw(SalesVolumePoints::aboPoints().' as points') + ->value('points'); + } + + /** + * Noch offene Abo-Ausführungen des laufenden Monats: aktive Abos der + * Payline-Mitglieder plus — je nach {@see INCLUDE_OWN_ABOS} — die eigenen + * Abos/Kundenabos des Betrachters. + * + * @param int[] $memberIds + */ + private function upcomingAboQuery(User $user, array $memberIds, Carbon $today): Builder + { + $aboUserIds = self::INCLUDE_OWN_ABOS + ? array_values(array_unique(array_merge([(int) $user->id], $memberIds))) + : $memberIds; + + return UserAbo::query() + ->where('active', true) + ->where('status', 2) + ->where('next_date', '>', $today->copy()->endOfDay()) + ->where('next_date', '<=', $today->copy()->endOfMonth()) + ->where(function (Builder $query) use ($aboUserIds) { + $query->where(fn (Builder $inner) => $inner->where('is_for', 'me')->whereIn('user_id', $aboUserIds)) + ->orWhere(fn (Builder $inner) => $inner->where('is_for', 'ot')->whereIn('member_id', $aboUserIds)); + }); + } +} diff --git a/app/Services/Abo/TeamAboOverviewService.php b/app/Services/Abo/TeamAboOverviewService.php index dc798389..309d84d2 100644 --- a/app/Services/Abo/TeamAboOverviewService.php +++ b/app/Services/Abo/TeamAboOverviewService.php @@ -3,9 +3,14 @@ namespace App\Services\Abo; use App\Models\UserAbo; +use App\Models\UserSalesVolume; +use App\Services\AboHelper; use App\Services\Backoffice\BackofficeDashboardService; +use App\Services\Backoffice\SalesVolumePoints; +use App\Services\HTMLHelper; use App\User; use Carbon\Carbon; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Collection; /** @@ -59,6 +64,10 @@ class TeamAboOverviewService { $teamUserIds = $this->dashboardService->activeTeamUserIds($user->id); + // 1000-Punkte-Shop: der Berater selbst zählt mit (Kundenwunsch), alle + // übrigen Team-Kennzahlen bleiben ohne den Betrachter. + $shop1000UserIds = array_merge([(int) $user->id], $teamUserIds); + if ($teamUserIds === []) { return [ 'team_total_abos' => 0, @@ -66,7 +75,7 @@ class TeamAboOverviewService 'team_partner_abos_new' => 0, 'team_customer_abos' => 0, 'team_customer_abos_new' => 0, - 'shop_1000' => 0, + 'shop_1000' => $this->dashboardService->shop1000Count($shop1000UserIds, $month, $year), 'new_partners' => 0, ]; } @@ -80,7 +89,7 @@ class TeamAboOverviewService 'team_partner_abos_new' => $this->newAboCount($teamUserIds, 'user_id', 'me', $month, $year), 'team_customer_abos' => $customerAbos, 'team_customer_abos_new' => $this->newAboCount($teamUserIds, 'member_id', 'ot', $month, $year), - 'shop_1000' => $this->dashboardService->shop1000Count($teamUserIds, $month, $year), + 'shop_1000' => $this->dashboardService->shop1000Count($shop1000UserIds, $month, $year), 'new_partners' => $this->dashboardService->newPartnersCount($teamUserIds, $month, $year), ]; } @@ -117,7 +126,7 @@ class TeamAboOverviewService public function monthlyGrowth(User $user, int $year): array { $teamUserIds = $this->dashboardService->activeTeamUserIds($user->id); - $monthNames = \App\Services\HTMLHelper::getTransMonths(); + $monthNames = HTMLHelper::getTransMonths(); $ownByMonth = $teamUserIds === [] ? [] : $this->newAbosByMonth($teamUserIds, 'user_id', 'me', $year); $customerByMonth = $teamUserIds === [] ? [] : $this->newAbosByMonth($teamUserIds, 'member_id', 'ot', $year); @@ -191,7 +200,7 @@ class TeamAboOverviewService */ public function memberAboSummary(User $owner, int $memberId): ?array { - if (! \App\Services\AboHelper::isUserInTeam($owner->id, $memberId)) { + if (! AboHelper::isUserInTeam($owner->id, $memberId)) { return null; } @@ -245,7 +254,7 @@ class TeamAboOverviewService } /** - * @param \Illuminate\Support\Collection $users + * @param Collection $users * @return array */ private function buildLineRow(int $line, Collection $users, int $month, int $year): array @@ -303,6 +312,8 @@ class TeamAboOverviewService ]; } + $billedPoints = $this->aboBilledPoints($userIds, $month, $year); + return [ 'line' => $line, 'label' => __('abo.team_line', ['line' => $line]), @@ -315,16 +326,80 @@ class TeamAboOverviewService 'customer_abos' => $customerAbosCount, 'customer_abos_new' => $this->newAboCount($userIds, 'member_id', 'ot', $month, $year), 'customer_abo_points' => $customerAboPoints, + 'abo_points_billed' => $billedPoints, + 'abo_points_expected' => $billedPoints + $this->upcomingAboPointsUntilLastDeliveryDay($userIds, $month, $year), 'total_abos' => $ownAbosCount + $customerAbosCount, 'members' => $members, ]; } + /** + * Im Monat bereits abgerechnete Abo-Punkte (Eigen- und Kundenabos) der + * übergebenen Berater — gleiche Zählweise wie der Payline-Ist-Wert + * ({@see PaylineForecastService::aboActualPoints()}). + * + * @param int[] $userIds + */ + private function aboBilledPoints(array $userIds, int $month, int $year): float + { + if ($userIds === []) { + return 0.0; + } + + return (float) UserSalesVolume::query() + ->leftJoin('shopping_orders', 'shopping_orders.id', '=', 'user_sales_volumes.shopping_order_id') + ->whereIn('user_id', $userIds) + ->where('month', $month) + ->where('year', $year) + ->selectRaw(SalesVolumePoints::aboPoints().' as points') + ->value('points'); + } + + /** + * Abo-Punkte der noch offenen Ausführungen bis einschließlich zum letzten + * Liefertag (25.) des Monats: aktive Abos der Berater mit next_date nach + * heute und im angefragten Monat. Für vergangene/zukünftige Monate 0 — + * die Prognose ergibt nur für den laufenden Monat Sinn. + * + * @param int[] $userIds + */ + private function upcomingAboPointsUntilLastDeliveryDay(array $userIds, int $month, int $year): float + { + $today = Carbon::today(); + + if ($userIds === [] || (int) $today->month !== $month || (int) $today->year !== $year) { + return 0.0; + } + + $lastDeliveryDay = (int) max(UserAbo::$aboDeliveryDays); + $windowEnd = Carbon::create($year, $month, 1)->addDays($lastDeliveryDay - 1)->endOfDay(); + + if ($windowEnd->lte($today->copy()->endOfDay())) { + return 0.0; + } + + return (float) UserAbo::query() + ->join('user_abo_items', 'user_abo_items.user_abo_id', '=', 'user_abos.id') + ->join('products', 'products.id', '=', 'user_abo_items.product_id') + ->whereNull('products.deleted_at') + ->where('user_abos.active', true) + ->where('user_abos.status', 2) + ->where('user_abo_items.comp', 0) + ->where('user_abos.next_date', '>', $today->copy()->endOfDay()) + ->where('user_abos.next_date', '<=', $windowEnd) + ->where(function (Builder $query) use ($userIds) { + $query->where(fn (Builder $inner) => $inner->where('user_abos.is_for', 'me')->whereIn('user_abos.user_id', $userIds)) + ->orWhere(fn (Builder $inner) => $inner->where('user_abos.is_for', 'ot')->whereIn('user_abos.member_id', $userIds)); + }) + ->selectRaw('COALESCE(SUM(products.points * user_abo_items.qty), 0) as points') + ->value('points'); + } + /** * Eigene (me) aktive Abos je Berater, indiziert nach user_id (ein Abo pro Berater). * * @param int[] $userIds - * @return \Illuminate\Support\Collection + * @return Collection */ private function ownAbosByUser(array $userIds): Collection { @@ -341,7 +416,7 @@ class TeamAboOverviewService * Kundenabos (ot) je Berater, gruppiert nach member_id. * * @param int[] $userIds - * @return \Illuminate\Support\Collection> + * @return Collection> */ private function customerAbosByMember(array $userIds): Collection { @@ -399,6 +474,8 @@ class TeamAboOverviewService 'customer_abos' => 0, 'customer_abos_new' => 0, 'customer_abo_points' => 0.0, + 'abo_points_billed' => 0.0, + 'abo_points_expected' => 0.0, 'total_abos' => 0, 'members' => [], ]; @@ -411,7 +488,7 @@ class TeamAboOverviewService */ private function addToTotals(array $totals, array $row): array { - foreach (['consultants', 'members_total', 'members_with_own_abo', 'own_abos', 'own_abos_new', 'own_abo_points', 'customer_abos', 'customer_abos_new', 'customer_abo_points', 'total_abos'] as $key) { + foreach (['consultants', 'members_total', 'members_with_own_abo', 'own_abos', 'own_abos_new', 'own_abo_points', 'customer_abos', 'customer_abos_new', 'customer_abo_points', 'abo_points_billed', 'abo_points_expected', 'total_abos'] as $key) { $totals[$key] += $row[$key]; } diff --git a/app/Services/AboHelper.php b/app/Services/AboHelper.php index f0661516..8025d77d 100644 --- a/app/Services/AboHelper.php +++ b/app/Services/AboHelper.php @@ -32,6 +32,26 @@ class AboHelper */ public const DEFAULT_ONETIME_WINDOW_DAYS = 4; + /** + * Standard-Mindestlaufzeit (bezahlte Lieferungen) bis zur Kündigung, falls + * das Setting `abo-min-duration` nicht gepflegt ist. + */ + public const DEFAULT_ABO_MIN_DURATION = 6; + + /** + * Abo-Status, die ein Abo endgültig beenden (4 = gekündigt, 5 = beendet). + * Solche Abos blockieren die Anlage eines neuen Abos nicht mehr + * (Ein-Abo-Regel gilt nur für laufende Abos). + */ + public const ENDED_STATUSES = [4, 5]; + + /** + * Standard-Abstand (Monate) zwischen zwei Pausen, falls das Setting + * `abo-pause-interval-months` nicht gepflegt ist (max. 1 Pause pro X Monate, + * rollierend ab der letzten Pause). + */ + public const DEFAULT_PAUSE_INTERVAL_MONTHS = 6; + public static $txaction_filter_text = [ 'paid' => 'paymend_paid', 'appointed' => 'paymend_open', @@ -48,7 +68,7 @@ class AboHelper { $user = $user ? $user : \Auth::user(); - return UserAbo::where('user_id', $user->id)->where('is_for', 'me')->where('status', '>=', 1)->first() === null ? false : true; + return UserAbo::where('user_id', $user->id)->where('is_for', 'me')->where('status', '>=', 1)->whereNotIn('status', self::ENDED_STATUSES)->first() === null ? false : true; } public static function memberHasAbo(ShoppingUser $shopping_user) @@ -57,12 +77,12 @@ class AboHelper return false; } - return UserAbo::where('email', $shopping_user->billing_email)->where('is_for', 'ot')->where('status', '>=', 1)->first() === null ? false : true; + return UserAbo::where('email', $shopping_user->billing_email)->where('is_for', 'ot')->where('status', '>=', 1)->whereNotIn('status', self::ENDED_STATUSES)->first() === null ? false : true; } public static function hasAboByEmail($email) { - return UserAbo::where('email', $email)->where('status', '>=', 1)->first() === null ? false : true; + return UserAbo::where('email', $email)->where('status', '>=', 1)->whereNotIn('status', self::ENDED_STATUSES)->first() === null ? false : true; } public static function setAboStatus(ShoppingOrder $shopping_order, $status, $paid = false) @@ -97,7 +117,9 @@ class AboHelper public static function getAboMinDuration() { - return Setting::getContentBySlug('abo-min-duration'); + $minDuration = Setting::getContentBySlug('abo-min-duration'); + + return $minDuration === false || $minDuration === null || $minDuration === '' ? self::DEFAULT_ABO_MIN_DURATION : $minDuration; } public static function canCancelAbo(UserAbo $user_abo, $view = 'user') @@ -120,6 +142,59 @@ class AboHelper return ! self::canCancelAbo($user_abo, $view); } + /** + * Konfigurierter Mindestabstand (Monate) zwischen zwei Pausen. + */ + public static function getPauseIntervalMonths(): int + { + $months = (int) Setting::getContentBySlug('abo-pause-interval-months'); + + return $months > 0 ? $months : self::DEFAULT_PAUSE_INTERVAL_MONTHS; + } + + /** + * Darf das Abo aktuell um einen Monat pausiert werden? + * Voraussetzungen (außer Admin): Abo läuft (aktiv, Status 2), Mindestlaufzeit + * erreicht (gleiche Basis wie die Kündigung, Setting `abo-min-duration`) und + * die letzte Pause liegt mindestens {@see getPauseIntervalMonths()} Monate + * zurück (rollierend). Die Sperrfrist vor der Ausführung + * (`abo-lock-days-pause-cancel`) wird separat in der Pause-Aktion geprüft. + */ + public static function canPauseAbo(UserAbo $user_abo, $view = 'user'): bool + { + if (! $user_abo->active || (int) $user_abo->status !== 2) { + return false; + } + + if ($view === 'admin') { + return true; + } + + if (! self::canCancelAbo($user_abo, $view)) { + return false; + } + + return self::nextPossiblePauseDate($user_abo) === null; + } + + /** + * Frühestes Datum, ab dem wieder pausiert werden darf — oder null, wenn die + * Pause bereits jetzt möglich ist (keine oder ausreichend lange zurückliegende + * letzte Pause). Dient auch dem UI-Hinweis "wieder möglich ab". + */ + public static function nextPossiblePauseDate(UserAbo $user_abo): ?Carbon + { + $lastPauseDate = $user_abo->getRawOriginal('last_pause_date'); + + if (! $lastPauseDate) { + return null; + } + + $nextPossible = Carbon::parse($lastPauseDate)->startOfDay()->addMonthsNoOverflow(self::getPauseIntervalMonths()); + + return $nextPossible->lte(Carbon::today()) ? null : $nextPossible; + } + /** * Prüft, ob das Bearbeiten des Abos (Liefertag/Intervall) aktuell durch die * Sperrfrist vor der Ausführung blockiert ist. Admins umgehen die Sperre. diff --git a/app/Services/Backoffice/BackofficeDashboardService.php b/app/Services/Backoffice/BackofficeDashboardService.php index 0c263c39..e1c244a6 100644 --- a/app/Services/Backoffice/BackofficeDashboardService.php +++ b/app/Services/Backoffice/BackofficeDashboardService.php @@ -50,7 +50,11 @@ class BackofficeDashboardService ->first(); if ($snapshot) { - return $this->withMeta($snapshot->payload, 'snapshot', $snapshot->calculated_at?->format('d.m.Y H:i')); + return $this->withMeta( + $this->overlayCurrentAboStock($user, $snapshot->payload), + 'snapshot', + $snapshot->calculated_at?->format('d.m.Y H:i') + ); } } @@ -89,6 +93,10 @@ class BackofficeDashboardService $totals = $this->addToTotals($totals, $row); } + // 1000-Punkte-Shop: der VIP selbst zählt mit (Kundenwunsch), obwohl er in + // keiner Linie steckt — nur diese Kennzahl bekommt ihn zusätzlich. + $totals['shop_1000'] += $this->shop1000Count([(int) $user->id], $month, $year); + $totals['label'] = 'Summe'; return [ @@ -97,11 +105,91 @@ class BackofficeDashboardService 'metric_labels' => $this->metricLabels(), 'lines' => $lines, 'totals' => $totals, - 'new_customer_abos' => $this->newCustomerAboRanking($lineBuckets, $month, $year), + 'non_payline_points' => $this->nonPaylinePointsSum($totals['user_ids'], $month, $year), + 'new_customer_abos' => $this->newCustomerAboRanking($user, $lineBuckets, $month, $year), 'leader_abos' => $this->leaderAboOverview($lineBuckets), + 'top_customer_abos' => $this->topCustomerAboRanking($user, $lineBuckets, $month, $year), ]; } + /** + * Überlagert einen Snapshot-Payload mit den tagesaktuellen Abo-Bestandszahlen + * (Kundenentscheid F7): Teamabos/Teamkundenabos je Linie + Summe sowie die + * Führungskräfte- und Top-10-Listen sind Bestands-Kennzahlen ohne Monatsbezug + * und werden live nachgerechnet. Monatsbezogene Werte (Punkte, Umsätze, + * Neupartner, "+N neu", neue Kundenabos) bleiben eingefroren. + * + * @param array $payload + * @return array + */ + private function overlayCurrentAboStock(User $user, array $payload): array + { + $lineBuckets = $this->lineBuckets($user->id); + + $totalPartnerAbos = 0; + $totalCustomerAbos = 0; + + $snapshotLines = collect($payload['lines'] ?? []) + ->map(fn ($row, $key) => (int) ($row['line'] ?? $key)) + ->values() + ->all(); + + foreach ($payload['lines'] ?? [] as $key => $row) { + $line = (int) ($row['line'] ?? $key); + $userIds = ($lineBuckets[$line] ?? collect())->pluck('id')->map(fn ($id) => (int) $id)->all(); + + $partnerAbos = $userIds === [] ? 0 : $this->activeAboQuery()->whereIn('user_id', $userIds)->where('is_for', 'me')->count(); + $customerAbos = $userIds === [] ? 0 : $this->activeAboQuery()->whereIn('member_id', $userIds)->where('is_for', 'ot')->count(); + + $payload['lines'][$key]['team_partner_abos'] = $partnerAbos; + $payload['lines'][$key]['team_customer_abos'] = $customerAbos; + + $totalPartnerAbos += $partnerAbos; + $totalCustomerAbos += $customerAbos; + } + + // Linien, die erst nach dem Snapshot entstanden sind (Team ist heute tiefer), + // tragen ebenfalls aktuellen Abo-Bestand: als neue Zeile anhängen, Monatswerte 0. + foreach ($lineBuckets as $line => $users) { + if (in_array((int) $line, $snapshotLines, true)) { + continue; + } + + $userIds = $users->pluck('id')->map(fn ($id) => (int) $id)->all(); + if ($userIds === []) { + continue; + } + + $partnerAbos = $this->activeAboQuery()->whereIn('user_id', $userIds)->where('is_for', 'me')->count(); + $customerAbos = $this->activeAboQuery()->whereIn('member_id', $userIds)->where('is_for', 'ot')->count(); + + if ($partnerAbos === 0 && $customerAbos === 0) { + continue; + } + + $row = $this->emptyLine((int) $line, $userIds); + $row['team_partner_abos'] = $partnerAbos; + $row['team_customer_abos'] = $customerAbos; + $payload['lines'][(int) $line] = $row; + + $totalPartnerAbos += $partnerAbos; + $totalCustomerAbos += $customerAbos; + } + + $payload['lines'] = collect($payload['lines'] ?? [])->sortBy('line')->all(); + + if (isset($payload['totals'])) { + $payload['totals']['team_partner_abos'] = $totalPartnerAbos; + $payload['totals']['team_customer_abos'] = $totalCustomerAbos; + } + + $payload['leader_abos'] = $this->leaderAboOverview($lineBuckets); + $payload['top_customer_abos'] = $this->topCustomerAboRanking($user, $lineBuckets, (int) ($payload['month'] ?? now()->month), (int) ($payload['year'] ?? now()->year)); + $payload['abo_stock_live'] = true; + + return $payload; + } + /** * @param array $overview * @return array @@ -123,7 +211,7 @@ class BackofficeDashboardService } /** - * @return array> + * @return array> */ public function lineBuckets(int $rootUserId): array { @@ -206,7 +294,7 @@ class BackofficeDashboardService } /** - * @param \Illuminate\Support\Collection $users + * @param Collection $users * @return array */ private function buildLineRow(int $line, Collection $users, int $month, int $year): array @@ -286,7 +374,7 @@ class BackofficeDashboardService } /** - * @param \Illuminate\Support\Collection $users + * @param Collection $users */ private function activeConsultants(Collection $users): int { @@ -296,7 +384,7 @@ class BackofficeDashboardService } /** - * @param \Illuminate\Support\Collection $users + * @param Collection $users */ private function newPartners(Collection $users, int $month, int $year): int { @@ -376,6 +464,27 @@ class BackofficeDashboardService ]; } + /** + * Summe der Punkte des Teams, die nicht in die Payline fließen (nur-KP-Einträge + * wie Neupartner-Einschreibungspunkte) — erklärt die Differenz zwischen den + * Gesamtpunkten hier und der PP-Summe der Struktur-/Provisionsansicht. + * + * @param int[] $userIds + */ + private function nonPaylinePointsSum(array $userIds, int $month, int $year): float + { + if ($userIds === []) { + return 0.0; + } + + return (float) UserSalesVolume::query() + ->whereIn('user_id', $userIds) + ->where('month', $month) + ->where('year', $year) + ->selectRaw(SalesVolumePoints::nonPaylinePoints().' as points') + ->value('points'); + } + /** * Anzahl der Neupartner (aktiver Account, im Monat aktiv geworden). * Konsistent mit der Drilldown-Liste {@see BackofficeDrilldownService::newPartnerRows()}. @@ -404,14 +513,15 @@ class BackofficeDashboardService * Ranking: Wer im Team hat im Monat wie viele neue Kundenabos abgeschlossen? * Sortiert nach Anzahl absteigend (nicht nach Linie), Linie wird je Berater mitgeliefert, * dazu der aktuelle Gesamtbestand an Kundenabos des Beraters. + * Der Statistik-Nutzer selbst zählt mit (Kundenwunsch, Linie 0 / "ich"). * Zählweise identisch zu team_customer_abos_new {@see newAboCount()}. * - * @param array> $lineBuckets - * @return array + * @param array> $lineBuckets + * @return array */ - private function newCustomerAboRanking(array $lineBuckets, int $month, int $year): array + private function newCustomerAboRanking(User $rootUser, array $lineBuckets, int $month, int $year): array { - $usersByLine = $this->usersWithLine($lineBuckets); + $usersByLine = $this->usersWithLine($lineBuckets, $rootUser); if ($usersByLine === []) { return []; @@ -437,6 +547,7 @@ class BackofficeDashboardService 'name' => $this->userName($entry['user']), 'career_level' => $this->careerLevel($entry['user']), 'line' => $entry['line'], + 'is_self' => $entry['line'] === 0, 'abo_count' => (int) $counts->get($userId), 'total_abo_count' => (int) $totalCounts->get($userId, 0), ]) @@ -447,10 +558,21 @@ class BackofficeDashboardService /** * Abos der Führungskräfte (ab Stufe Vertriebsleiter) im Team: Gesamtzahlen plus - * Liste aller Führungskräfte inklusive Linie, eigener Abos und Kundenabos. + * Liste aller Führungskräfte inklusive Linie, eigener Abos, Kundenabos sowie + * Team-Abos und Team-Kundenabos ihres Teilbaums und der Gesamtsumme aller + * vier Kennzahlen (Kundenwunsch B7). * - * @param array> $lineBuckets - * @return array{level_name: string, total: int, total_own: int, total_customer: int, rows: array} + * Zwei Team-Sichten je Führungskraft (Kundenentscheid 2026-07-24, revidiert F9): + * - team_abo_count / team_customer_abo_count ("direkt"): Teilbaum wird an der + * nächsten Führungskraft abgeschnitten — überlappungsfrei, die Kopf-Summen + * (total_*) bleiben dadurch echte Gesamtwerte ohne Doppelzählung. + * - team_abo_count_total / team_customer_abo_count_total ("gesamt"): komplette + * Downline der Führungskraft; verschachtelte Führungskräfte zählen hier + * mehrfach, deshalb werden diese Spalten nicht aufsummiert. + * total_abo_count_full = eigene + Kundenabos + Team gesamt (Sortierung). + * + * @param array> $lineBuckets + * @return array{level_name: string, total: int, total_own: int, total_customer: int, total_team: int, total_team_customer: int, rows: array} */ private function leaderAboOverview(array $lineBuckets): array { @@ -458,54 +580,227 @@ class BackofficeDashboardService ->where('name', self::LEADER_LEVEL_NAME) ->value('pos'); - $leadersByLine = $leaderMinPos === null ? [] : collect($this->usersWithLine($lineBuckets)) - ->filter(fn (array $entry) => ($entry['user']->user_level?->pos ?? 0) >= $leaderMinPos) + $usersWithLine = $this->usersWithLine($lineBuckets); + $isLeader = fn (User $user): bool => $leaderMinPos !== null && ($user->user_level?->pos ?? 0) >= $leaderMinPos; + + $leadersByLine = $leaderMinPos === null ? [] : collect($usersWithLine) + ->filter(fn (array $entry) => $isLeader($entry['user'])) ->all(); if ($leadersByLine === []) { - return ['level_name' => self::LEADER_LEVEL_NAME, 'total' => 0, 'total_own' => 0, 'total_customer' => 0, 'rows' => []]; + return ['level_name' => self::LEADER_LEVEL_NAME, 'total' => 0, 'total_own' => 0, 'total_customer' => 0, 'total_team' => 0, 'total_team_customer' => 0, 'rows' => []]; } $leaderIds = array_keys($leadersByLine); + $teamIdsByLeader = $this->teamIdsPerLeader($usersWithLine, $leaderIds, $isLeader); + $fullTeamIdsByLeader = $this->teamIdsPerLeader($usersWithLine, $leaderIds, fn (User $user): bool => false); + $allCountIds = array_values(array_unique(array_merge($leaderIds, ...array_values($fullTeamIdsByLeader)))); $ownCounts = $this->activeAboQuery() - ->whereIn('user_id', $leaderIds) + ->whereIn('user_id', $allCountIds) ->where('is_for', 'me') ->selectRaw('user_id, COUNT(*) as abo_count') ->groupBy('user_id') ->pluck('abo_count', 'user_id'); - $customerCounts = $this->customerAboCounts($leaderIds); + $customerCounts = $this->customerAboCounts($allCountIds); $rows = collect($leadersByLine) + ->map(function (array $entry, int $userId) use ($ownCounts, $customerCounts, $teamIdsByLeader, $fullTeamIdsByLeader) { + $teamIds = $teamIdsByLeader[$userId] ?? []; + $fullTeamIds = $fullTeamIdsByLeader[$userId] ?? []; + $own = (int) $ownCounts->get($userId, 0); + $customer = (int) $customerCounts->get($userId, 0); + $team = (int) collect($teamIds)->sum(fn (int $teamUserId) => (int) $ownCounts->get($teamUserId, 0)); + $teamCustomer = (int) collect($teamIds)->sum(fn (int $teamUserId) => (int) $customerCounts->get($teamUserId, 0)); + $teamTotal = (int) collect($fullTeamIds)->sum(fn (int $teamUserId) => (int) $ownCounts->get($teamUserId, 0)); + $teamCustomerTotal = (int) collect($fullTeamIds)->sum(fn (int $teamUserId) => (int) $customerCounts->get($teamUserId, 0)); + + return [ + 'user_id' => $userId, + 'name' => $this->userName($entry['user']), + 'career_level' => $this->careerLevel($entry['user']), + 'line' => $entry['line'], + 'own_abo_count' => $own, + 'customer_abo_count' => $customer, + 'team_abo_count' => $team, + 'team_customer_abo_count' => $teamCustomer, + 'team_abo_count_total' => $teamTotal, + 'team_customer_abo_count_total' => $teamCustomerTotal, + 'total_abo_count' => $own + $customer + $team + $teamCustomer, + 'total_abo_count_full' => $own + $customer + $teamTotal + $teamCustomerTotal, + ]; + }) + ->sortByDesc('total_abo_count_full') + ->values(); + + $totalOwn = (int) $rows->sum('own_abo_count'); + $totalCustomer = (int) $rows->sum('customer_abo_count'); + $totalTeam = (int) $rows->sum('team_abo_count'); + $totalTeamCustomer = (int) $rows->sum('team_customer_abo_count'); + + return [ + 'level_name' => self::LEADER_LEVEL_NAME, + 'total' => $totalOwn + $totalCustomer + $totalTeam + $totalTeamCustomer, + 'total_own' => $totalOwn, + 'total_customer' => $totalCustomer, + 'total_team' => $totalTeam, + 'total_team_customer' => $totalTeamCustomer, + 'rows' => $rows->all(), + ]; + } + + /** + * Teilbaum-User-IDs je Führungskraft aus der gemeinsamen Sponsor-Map + * (ein Durchlauf über die bereits geladene Downline, keine Abfragen pro + * Führungskraft). Der Abstieg stoppt an jedem Kind, für das $isLeader true + * liefert (dieses und sein Team werden übersprungen); mit einem immer-false + * Callable ergibt sich die komplette Downline. + * + * @param array $usersWithLine + * @param int[] $leaderIds + * @return array + */ + private function teamIdsPerLeader(array $usersWithLine, array $leaderIds, callable $isLeader): array + { + $childrenBySponsor = []; + + foreach ($usersWithLine as $entry) { + $childrenBySponsor[(int) $entry['user']->m_sponsor][] = $entry['user']; + } + + $teamIdsByLeader = []; + + foreach ($leaderIds as $leaderId) { + $teamIds = []; + $queue = $childrenBySponsor[$leaderId] ?? []; + + while ($queue !== []) { + $child = array_shift($queue); + + if ($isLeader($child)) { + continue; + } + + $teamIds[] = (int) $child->id; + + foreach ($childrenBySponsor[(int) $child->id] ?? [] as $grandChild) { + $queue[] = $grandChild; + } + } + + $teamIdsByLeader[$leaderId] = $teamIds; + } + + return $teamIdsByLeader; + } + + /** + * Top-10-Ranglisten der Kundenabos im eigenen Team (Kundenwunsch B5/B6, + * "unabhängig vom Incentive" = aktueller Gesamtbestand aktiver Kundenabos): + * + * - by_count: nach Anzahl aktiver Kundenabos je Berater + * - by_points: nach Umsatz mit Ist (im gewählten Monat abgerechnete + * Kundenabo-Punkte aus user_sales_volumes, Hauptwert und Sortierung — + * Kundenentscheid 2026-07-24) und Soll (Abo-Punkte-Bestand, Produktpunkte + * × Menge der laufenden Kundenabos) als Zweitwert + * + * Der Statistik-Nutzer selbst zählt in beiden Listen mit (Linie 0 / "ich"). + * + * @param array> $lineBuckets + * @return array{by_count: array>, by_points: array>} + */ + private function topCustomerAboRanking(User $rootUser, array $lineBuckets, int $month, int $year): array + { + $usersWithLine = $this->usersWithLine($lineBuckets, $rootUser); + + if ($usersWithLine === []) { + return ['by_count' => [], 'by_points' => []]; + } + + $memberIds = array_keys($usersWithLine); + $aboCounts = $this->customerAboCounts($memberIds); + $targetPoints = $this->customerAboTargetPoints($memberIds); + $actualPoints = $this->customerAboActualPoints($memberIds, $month, $year); + + $rows = collect($usersWithLine) ->map(fn (array $entry, int $userId) => [ 'user_id' => $userId, 'name' => $this->userName($entry['user']), 'career_level' => $this->careerLevel($entry['user']), 'line' => $entry['line'], - 'own_abo_count' => (int) $ownCounts->get($userId, 0), - 'customer_abo_count' => (int) $customerCounts->get($userId, 0), - ]) - ->sortByDesc(fn (array $row) => $row['own_abo_count'] + $row['customer_abo_count']) - ->values(); - - $totalOwn = (int) $rows->sum('own_abo_count'); - $totalCustomer = (int) $rows->sum('customer_abo_count'); + 'is_self' => $entry['line'] === 0, + 'abo_count' => (int) $aboCounts->get($userId, 0), + 'points_target' => (float) $targetPoints->get($userId, 0.0), + 'points_actual' => (float) $actualPoints->get($userId, 0.0), + ]); return [ - 'level_name' => self::LEADER_LEVEL_NAME, - 'total' => $totalOwn + $totalCustomer, - 'total_own' => $totalOwn, - 'total_customer' => $totalCustomer, - 'rows' => $rows->all(), + 'by_count' => $rows + ->filter(fn (array $row) => $row['abo_count'] > 0) + ->sortByDesc('abo_count') + ->take(10) + ->values() + ->all(), + 'by_points' => $rows + ->filter(fn (array $row) => $row['points_target'] > 0 || $row['points_actual'] > 0) + ->sortByDesc('points_actual') + ->take(10) + ->values() + ->all(), ]; } + /** + * Soll-Punkte je Berater: Abo-Punkte-Bestand der aktiven Kundenabos + * (Produktpunkte × Menge, nur Hauptartikel comp = 0 — gleiche Logik wie + * {@see UserAbo::getTotalPoints()}). + * + * @param int[] $memberIds + * @return Collection + */ + private function customerAboTargetPoints(array $memberIds): Collection + { + return UserAbo::query() + ->join('user_abo_items', 'user_abo_items.user_abo_id', '=', 'user_abos.id') + ->join('products', 'products.id', '=', 'user_abo_items.product_id') + ->whereNull('products.deleted_at') + ->where('user_abos.active', true) + ->whereNotIn('user_abos.status', [4, 5, 6]) + ->whereIn('user_abos.member_id', $memberIds) + ->where('user_abos.is_for', 'ot') + ->where('user_abo_items.comp', 0) + ->selectRaw('user_abos.member_id, COALESCE(SUM(products.points * user_abo_items.qty), 0) as points') + ->groupBy('user_abos.member_id') + ->pluck('points', 'member_id') + ->map(fn ($points) => (float) $points); + } + + /** + * Ist-Punkte je Berater: im Monat tatsächlich abgerechnete Kundenabo-Punkte. + * + * @param int[] $memberIds + * @return Collection + */ + private function customerAboActualPoints(array $memberIds, int $month, int $year): Collection + { + return UserSalesVolume::query() + ->leftJoin('shopping_orders', 'shopping_orders.id', '=', 'user_sales_volumes.shopping_order_id') + ->whereIn('user_id', $memberIds) + ->where('month', $month) + ->where('year', $year) + ->select('user_sales_volumes.user_id') + ->selectRaw(SalesVolumePoints::customerAboPoints().' as points') + ->groupBy('user_sales_volumes.user_id') + ->pluck('points', 'user_id') + ->map(fn ($points) => (float) $points); + } + /** * Aktueller Bestand aktiver Kundenabos je Berater (member_id). * * @param int[] $memberIds - * @return \Illuminate\Support\Collection + * @return Collection */ private function customerAboCounts(array $memberIds): Collection { @@ -522,13 +817,20 @@ class BackofficeDashboardService } /** - * @param array> $lineBuckets - * @return array + * Downline-User mit ihrer Linie; optional inklusive des Statistik-Nutzers + * selbst als Linie 0 (er steckt in keinem lineBucket, {@see lineBuckets()}). + * + * @param array> $lineBuckets + * @return array */ - private function usersWithLine(array $lineBuckets): array + private function usersWithLine(array $lineBuckets, ?User $rootUser = null): array { $usersByLine = []; + if ($rootUser !== null) { + $usersByLine[(int) $rootUser->id] = ['user' => $rootUser, 'line' => 0]; + } + foreach ($lineBuckets as $line => $users) { foreach ($users as $user) { $usersByLine[(int) $user->id] = ['user' => $user, 'line' => $line]; diff --git a/app/Services/Backoffice/BackofficeDrilldownService.php b/app/Services/Backoffice/BackofficeDrilldownService.php index c4ac5a7b..5830cb6a 100644 --- a/app/Services/Backoffice/BackofficeDrilldownService.php +++ b/app/Services/Backoffice/BackofficeDrilldownService.php @@ -7,15 +7,16 @@ use App\Models\UserSalesVolume; use App\User; use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; +use Illuminate\Support\Collection; class BackofficeDrilldownService { public function __construct(private BackofficeDashboardService $dashboardService) {} /** - * @return array{metric: string, metric_label: string, line: int, line_label: string, month: int, year: int, rows: array>, summary: array} + * @return array{metric: string, metric_label: string, only_new: bool, line: int, line_label: string, month: int, year: int, rows: array>, summary: array} */ - public function details(User $viewer, int $line, string $metric, int $month, int $year): array + public function details(User $viewer, int $line, string $metric, int $month, int $year, bool $onlyNew = false): array { $metricLabels = $this->dashboardService->metricLabels(); @@ -23,19 +24,31 @@ class BackofficeDrilldownService abort(404); } + $onlyNew = $onlyNew && in_array($metric, ['team_partner_abos', 'team_customer_abos'], true); + $userIds = $this->dashboardService->lineUserIds($viewer->id, $line); + + if ($metric === 'shop_1000' && $line === 0) { + $userIds[] = (int) $viewer->id; + } + $rows = match ($metric) { 'consultants' => $this->consultantRows($userIds), 'new_partners' => $this->newPartnerRows($userIds, $month, $year), - 'team_partner_abos' => $this->partnerAboRows($userIds, $month, $year), - 'team_customer_abos' => $this->customerAboRows($userIds, $month, $year), + 'team_partner_abos' => $this->partnerAboRows($userIds, $month, $year, $onlyNew), + 'team_customer_abos' => $this->customerAboRows($userIds, $month, $year, $onlyNew), 'own_points', 'external_points', 'customer_abo_points', 'customer_single_order_points', 'customer_other_points', 'total_points', 'shop_1000' => $this->pointsRows($userIds, $month, $year, $metric), default => [], }; + if ($metric === 'shop_1000') { + $rows = $this->markViewerRow($rows, (int) $viewer->id); + } + return [ 'metric' => $metric, - 'metric_label' => $metricLabels[$metric], + 'metric_label' => $metricLabels[$metric].($onlyNew ? ' – nur neue' : ''), + 'only_new' => $onlyNew, 'line' => $line, 'line_label' => $line > 0 ? 'Linie '.$line : 'Alle Linien', 'month' => $month, @@ -46,8 +59,26 @@ class BackofficeDrilldownService } /** + * Kennzeichnet die eigene Zeile des Betrachters (der VIP zählt beim + * 1000-Punkte-Shop selbst mit und soll in der Liste erkennbar sein). + * * @param array> $rows - * @return array{count: int, abo_count: int, points: float, own_points: float, external_points: float, customer_abo_points: float, customer_single_order_points: float, customer_other_points: float, total_points: float, deliveries: int} + * @return array> + */ + private function markViewerRow(array $rows, int $viewerId): array + { + return array_map(function (array $row) use ($viewerId): array { + if ((int) ($row['user_id'] ?? 0) === $viewerId) { + $row['name'] .= ' (ich)'; + } + + return $row; + }, $rows); + } + + /** + * @param array> $rows + * @return array{count: int, abo_count: int, points: float, customer_points: float, own_points: float, external_points: float, customer_abo_points: float, customer_single_order_points: float, customer_other_points: float, total_points: float, deliveries: int} */ private function summary(array $rows): array { @@ -55,6 +86,7 @@ class BackofficeDrilldownService 'count' => count($rows), 'abo_count' => (int) collect($rows)->sum('abo_count'), 'points' => (float) collect($rows)->sum('points'), + 'customer_points' => (float) collect($rows)->sum('customer_points'), 'own_points' => (float) collect($rows)->sum('own_points'), 'external_points' => (float) collect($rows)->sum('external_points'), 'customer_abo_points' => (float) collect($rows)->sum('customer_abo_points'), @@ -102,7 +134,7 @@ class BackofficeDrilldownService $startDate = Carbon::create($year, $month, 1)->startOfMonth(); $endDate = Carbon::create($year, $month, 1)->endOfMonth(); - return User::query() + $partners = User::query() ->with(['account', 'user_level']) ->whereIn('id', $userIds) ->whereNotNull('m_level') @@ -111,12 +143,25 @@ class BackofficeDrilldownService ->orderBy('active_date') ->get() ->filter(fn (User $user) => Carbon::parse($user->payment_account)->isFuture()) + ->values(); + + $sponsors = User::query() + ->with('account') + ->whereIn('id', $partners->pluck('m_sponsor')->filter()->unique()) + ->get() + ->keyBy('id'); + + $customerPoints = $this->externalPointsByUser($partners->pluck('id')->map(fn ($id) => (int) $id)->all(), $month, $year); + + return $partners ->map(fn (User $user) => [ 'type' => 'user', 'user_id' => $user->id, 'name' => $this->userName($user), 'email' => $user->email, 'career_level' => $this->careerLevel($user), + 'sponsor' => $user->m_sponsor && $sponsors->has((int) $user->m_sponsor) ? $this->userName($sponsors->get((int) $user->m_sponsor)) : '-', + 'customer_points' => (float) $customerPoints->get((int) $user->id, 0.0), 'active_date' => $this->formatDate($user->active_date), 'payment_account' => $this->formatDate($user->payment_account), ]) @@ -124,16 +169,41 @@ class BackofficeDrilldownService ->all(); } + /** + * Externe Kundenpunkte (Shop + Abo) je User im gewählten Monat — tagesaktuell + * aus user_sales_volumes summiert (gleiche Status-Logik wie die Übersicht). + * + * @param int[] $userIds + * @return Collection + */ + private function externalPointsByUser(array $userIds, int $month, int $year): Collection + { + if ($userIds === []) { + return collect(); + } + + return UserSalesVolume::query() + ->whereIn('user_id', $userIds) + ->where('month', $month) + ->where('year', $year) + ->select('user_id') + ->selectRaw(SalesVolumePoints::externalPoints().' as external_points') + ->groupBy('user_id') + ->pluck('external_points', 'user_id') + ->map(fn ($points) => (float) $points); + } + /** * @param int[] $userIds * @return array> */ - private function partnerAboRows(array $userIds, int $month, int $year): array + private function partnerAboRows(array $userIds, int $month, int $year, bool $onlyNew = false): array { return $this->activeAboQuery() ->with(['user.account', 'user.user_level', 'user_abo_items.product', 'user_abo_orders.shopping_order.shopping_payments.payment_transactions']) ->whereIn('user_id', $userIds) ->where('is_for', 'me') + ->when($onlyNew, fn (Builder $query) => $this->whereNewInMonth($query, $month, $year)) ->orderBy('next_date') ->get() ->map(fn (UserAbo $abo) => [ @@ -165,12 +235,13 @@ class BackofficeDrilldownService * @param int[] $userIds * @return array> */ - private function customerAboRows(array $userIds, int $month, int $year): array + private function customerAboRows(array $userIds, int $month, int $year, bool $onlyNew = false): array { return $this->activeAboQuery() ->with(['member.account', 'member.user_level', 'user_abo_items.product']) ->whereIn('member_id', $userIds) ->where('is_for', 'ot') + ->when($onlyNew, fn (Builder $query) => $this->whereNewInMonth($query, $month, $year)) ->orderBy('member_id') ->orderBy('next_date') ->get() @@ -279,6 +350,17 @@ class BackofficeDrilldownService ->whereNotIn('status', [4, 5, 6]); } + /** + * Nur Abos, die im gewählten Monat gestartet sind (gleiche Zählweise wie + * die "+N neu"-Badges, {@see BackofficeDashboardService::newAboCount()}). + */ + private function whereNewInMonth(Builder $query, int $month, int $year): Builder + { + $startDate = Carbon::create($year, $month, 1)->startOfMonth(); + + return $query->whereBetween('start_date', [$startDate, $startDate->copy()->endOfMonth()]); + } + private function userName(User $user): string { $name = trim(($user->account?->first_name ?? '').' '.($user->account?->last_name ?? '')); diff --git a/app/Services/Backoffice/SalesVolumePoints.php b/app/Services/Backoffice/SalesVolumePoints.php index 99cfc32d..00f35df1 100644 --- a/app/Services/Backoffice/SalesVolumePoints.php +++ b/app/Services/Backoffice/SalesVolumePoints.php @@ -2,6 +2,8 @@ namespace App\Services\Backoffice; +use App\Services\BusinessPlan\SalesPointsVolume; + /** * Liefert SQL-Aggregat-Ausdrücke für die monatliche Punkte-/Umsatzauswertung * der Backoffice-Statistik. @@ -11,7 +13,7 @@ namespace App\Services\Backoffice; * kumulative Monats-Laufstand zum Zeitpunkt der Bestellung – KEINE Einzelbeträge. * Eine SUM() über diese Spalten zählt mehrfach. Korrekt wird je Zeile die * `points`/`total_net`-Spalte summiert und nach `status` gefiltert – analog zu - * {@see \App\Services\BusinessPlan\SalesPointsVolume::reCalculateSalesPointsVolume()}. + * {@see SalesPointsVolume::reCalculateSalesPointsVolume()}. * * Status-Zuordnung: * - Eigenpunkte (KP): status 1, 4, 5, 6 @@ -59,6 +61,26 @@ class SalesVolumePoints return self::ownPoints().' + '.self::externalPoints(); } + /** + * Punkte aus Abo-Bestellungen (eigene wie Kundenabos) — alle zählbaren Status. + * Benötigt den Join auf shopping_orders. + */ + public static function aboPoints(): string + { + return self::sumWhere(self::TURNOVER_PREDICATE.' AND shopping_orders.is_abo = 1', 'user_sales_volumes.points'); + } + + /** + * Punkte, die nur als Karrierepunkte (KP) des Beraters zählen und NICHT als + * Teampunkte in die Payline fließen (status_points = 2, z. B. + * Neupartner-Einschreibungspunkte, manuelle Gutschriften) — vgl. + * {@see SalesPointsVolume::add_KP_TP_Points()}. + */ + public static function nonPaylinePoints(): string + { + return self::sumWhere(self::OWN_PREDICATE.' AND user_sales_volumes.status_points = 2', 'user_sales_volumes.points'); + } + public static function turnoverNet(): string { return self::sumWhere(self::TURNOVER_PREDICATE, 'user_sales_volumes.total_net'); diff --git a/app/Services/BusinessPlan/LiveCommissionService.php b/app/Services/BusinessPlan/LiveCommissionService.php new file mode 100644 index 00000000..e05bcc9a --- /dev/null +++ b/app/Services/BusinessPlan/LiveCommissionService.php @@ -0,0 +1,145 @@ +id) + ->where('month', $month) + ->where('year', $year) + ->first(); + + if ($stored) { + return $this->buildSnapshot( + (float) ($stored->payline_points ?? 0), + $this->paylinesFromQualLevel($stored->qual_user_level), + (float) ($stored->commission_pp_total ?? 0), + (float) ($stored->commission_shop_sales ?? 0), + (float) ($stored->commission_growth_total ?? 0), + false + ); + } + + $cacheKey = "live_business_{$user->id}_{$month}_{$year}"; + $cached = Cache::get($cacheKey); + if (is_array($cached)) { + return $cached; + } + + $snapshot = $this->calculateLive($user, $month, $year); + if ($snapshot !== null) { + Cache::put($cacheKey, $snapshot, now()->addHours(self::CACHE_HOURS)); + + return $snapshot; + } + + return $this->buildSnapshot(0.0, 0, 0.0, 0.0, 0.0, true, failed: true); + } + + /** + * Provision "Stand heute" (B1) — alle Bestandteile plus Summe. + * + * @return array{total: float, pp: float, shop: float, growth: float, is_live: bool} + */ + public function commission(User $user, int $month, int $year): array + { + $snapshot = $this->snapshot($user, $month, $year); + + return [ + 'total' => round($snapshot['pp'] + $snapshot['shop'] + $snapshot['growth'], 2), + 'pp' => $snapshot['pp'], + 'shop' => $snapshot['shop'], + 'growth' => $snapshot['growth'], + 'is_live' => $snapshot['is_live'], + ]; + } + + /** + * @return array{payline_points: float, paylines: int, pp: float, shop: float, growth: float, is_live: bool, failed: bool}|null + */ + private function calculateLive(User $user, int $month, int $year): ?array + { + try { + $treeCalcBot = new TreeCalcBotOptimized($month, $year, 'member'); + $treeCalcBot->initBusinesslUserDetail($user); + $businessUser = $treeCalcBot->business_user; + + if (! $businessUser) { + return null; + } + + // Kein `?? 0` auf den Magic-Properties: die Items haben kein __isset, + // isset() wäre dort immer false und das Ergebnis damit immer 0. + return $this->buildSnapshot( + (float) $businessUser->payline_points, + $this->paylinesFromQualLevel($businessUser->qual_user_level), + (float) $businessUser->commission_pp_total, + (float) $businessUser->commission_shop_sales, + (float) $businessUser->commission_growth_total, + true + ); + } catch (\Throwable $e) { + \Log::warning("LiveCommissionService: Live-Berechnung fehlgeschlagen für User {$user->id}: ".$e->getMessage()); + + return null; + } + } + + /** + * Payline-Tiefe (Anzahl bezahlter Ebenen) aus dem Qualifikationslevel. + * + * @param array|object|null $qualUserLevel + */ + private function paylinesFromQualLevel(mixed $qualUserLevel): int + { + if (is_array($qualUserLevel)) { + return (int) ($qualUserLevel['paylines'] ?? 0); + } + + if (is_object($qualUserLevel)) { + return (int) ($qualUserLevel->paylines ?? 0); + } + + return 0; + } + + /** + * @return array{payline_points: float, paylines: int, pp: float, shop: float, growth: float, is_live: bool, failed: bool} + */ + private function buildSnapshot(float $paylinePoints, int $paylines, float $pp, float $shop, float $growth, bool $isLive, bool $failed = false): array + { + return [ + 'payline_points' => round($paylinePoints, 2), + 'paylines' => $paylines, + 'pp' => round($pp, 2), + 'shop' => round($shop, 2), + 'growth' => round($growth, 2), + 'is_live' => $isLive, + 'failed' => $failed, + ]; + } +} diff --git a/app/Services/BusinessPlan/TreeHtmlRenderer.php b/app/Services/BusinessPlan/TreeHtmlRenderer.php index ed59e7da..35601a3f 100644 --- a/app/Services/BusinessPlan/TreeHtmlRenderer.php +++ b/app/Services/BusinessPlan/TreeHtmlRenderer.php @@ -2,7 +2,9 @@ namespace App\Services\BusinessPlan; +use App\Models\UserAbo; use App\Services\TranslationHelper; +use App\User; /** * Klasse für die HTML-Darstellung von Business-Trees @@ -11,8 +13,16 @@ use App\Services\TranslationHelper; class TreeHtmlRenderer { private string $initFrom; + private bool $forceLiveCalculation; + /** + * Abo-Kennzeichen je User-ID (gebatcht geladen, nicht pro Knoten). + * + * @var array + */ + private array $aboBadges = []; + public function __construct(string $initFrom = 'member', bool $forceLiveCalculation = false) { $this->initFrom = $initFrom; @@ -28,6 +38,8 @@ class TreeHtmlRenderer return '
Keine Business-User gefunden.
'; } + $this->loadAboBadges($this->collectUserIds($businessUsers)); + $html = '
    '; foreach ($businessUsers as $businessUser) { $html .= $this->renderUserItem($businessUser, 0); @@ -46,6 +58,8 @@ class TreeHtmlRenderer return '
    Keine parentlosen User gefunden.
    '; } + $this->loadAboBadges($this->collectUserIds($parentless)); + $html = ''; foreach ($parentless as $item) { $html .= $this->renderParentlessItem($item); @@ -59,14 +73,14 @@ class TreeHtmlRenderer */ public function renderSponsor($sponsor): string { - if (!$sponsor) { - return '
    ' . __('team.no_sponsor_assigned') . '
    '; + if (! $sponsor) { + return '
    '.__('team.no_sponsor_assigned').'
    '; } - return '
  1. ' . - '
    ' . - $this->renderUserInfo($sponsor, false, true) . - '
    ' . + return '
  2. '. + '
    '. + $this->renderUserInfo($sponsor, false, true). + '
    '. '
  3. '; } @@ -91,9 +105,9 @@ class TreeHtmlRenderer /** * Rendert User Sponsor (für UserTeamCalcBot) */ - public function renderUserSponsor(\App\User $sponsor): string + public function renderUserSponsor(User $sponsor): string { - if (!$sponsor || !$sponsor->account) { + if (! $sponsor || ! $sponsor->account) { return '
    Kein Sponsor gefunden.
    '; } @@ -103,19 +117,19 @@ class TreeHtmlRenderer // Sponsor Info $html .= '
    '; - $html .= '' . e($sponsor->account->first_name . ' ' . $sponsor->account->last_name) . '
    '; - $html .= '' . e($sponsor->email) . ''; + $html .= ''.e($sponsor->account->first_name.' '.$sponsor->account->last_name).'
    '; + $html .= ''.e($sponsor->email).''; $html .= '
    '; // Account Info $html .= '
    '; - $html .= '' . e($sponsor->account->m_account ?? '') . ''; + $html .= ''.e($sponsor->account->m_account ?? '').''; $html .= '
    '; // Level Info $html .= '
    '; if ($sponsor->user_level) { - $html .= '' . e($sponsor->user_level->getLang('name')) . ''; + $html .= ''.e($sponsor->user_level->getLang('name')).''; } $html .= '
    '; @@ -136,7 +150,7 @@ class TreeHtmlRenderer */ private function renderTeamMemberItem($member, int $depth): string { - $html = '
  4. '; + $html = '
  5. '; $html .= '
    '; $html .= '
    '; @@ -146,19 +160,19 @@ class TreeHtmlRenderer // Name und Email $html .= '
    '; $html .= $indent; - $html .= '' . e(($member->first_name ?? '') . ' ' . ($member->last_name ?? '')) . '
    '; - $html .= $indent . '' . e($member->email ?? '') . ''; + $html .= ''.e(($member->first_name ?? '').' '.($member->last_name ?? '')).'
    '; + $html .= $indent.''.e($member->email ?? '').''; $html .= '
    '; // Account ID $html .= '
    '; - $html .= '' . e($member->m_account ?? '') . ''; + $html .= ''.e($member->m_account ?? '').''; $html .= '
    '; // Level $html .= '
    '; - if (!empty($member->user_level_name)) { - $html .= '' . e($member->user_level_name) . ''; + if (! empty($member->user_level_name)) { + $html .= ''.e($member->user_level_name).''; if ($member->next_qual_user_level) { $html .= ''; @@ -168,12 +182,12 @@ class TreeHtmlRenderer // Qualifikation $html .= '
    '; - if (!empty($member->qual_kp)) { + if (! empty($member->qual_kp)) { $pointsSum = (float) ($member->sales_volume_points_KP_sum ?? 0); $qualKP = (float) $member->qual_kp; $isQual = $pointsSum >= $qualKP; $badgeClass = $isQual ? 'badge-success' : 'badge-warning'; - $html .= 'KU ' . $qualKP . ''; + $html .= 'KU '.$qualKP.''; } $html .= '
    '; @@ -186,7 +200,7 @@ class TreeHtmlRenderer $html .= '
    '; // Kinder rendern - if (!empty($member->businessUserItems) && is_array($member->businessUserItems)) { + if (! empty($member->businessUserItems) && is_array($member->businessUserItems)) { $html .= '
      '; foreach ($member->businessUserItems as $child) { $html .= $this->renderTeamMemberItem($child, $depth + 1); @@ -213,11 +227,11 @@ class TreeHtmlRenderer $childrenHtml .= '
    '; } - return '
  6. ' . - '
    ' . - $this->renderUserCardWithDepth($item, $deep) . - '
    ' . - $childrenHtml . + return '
  7. '. + '
    '. + $this->renderUserCardWithDepth($item, $deep). + '
    '. + $childrenHtml. '
  8. '; } @@ -226,10 +240,10 @@ class TreeHtmlRenderer */ private function renderParentlessItem($item): string { - return '
  9. ' . - '
    ' . - $this->renderUserInfo($item, true, false) . - '
    ' . + return '
  10. '. + '
    '. + $this->renderUserInfo($item, true, false). + '
    '. '
  11. '; } @@ -240,16 +254,16 @@ class TreeHtmlRenderer { $depthBadge = ''; if ($deep > 0) { - $depthBadge = '
    ' . - '
    ' . $deep . '
    ' . + $depthBadge = '
    '. + '
    '.$deep.'
    '. '
    '; } - return '
    ' . - $depthBadge . - '
    ' . - $this->renderUserInfo($item, false, false) . - '
    ' . + return '
    '. + $depthBadge. + '
    '. + $this->renderUserInfo($item, false, false). + '
    '. '
    '; } @@ -263,35 +277,35 @@ class TreeHtmlRenderer \Log::debug("TreeHtmlRenderer: Rendering user info for user {$item->user_id}"); - $html = ''; + $html = ''; // User Link - $html .= '' . - ' ' . - '' . e($item->first_name . ' ' . $item->last_name) . '' . + $html .= ''. + ' '. + ''.e($item->first_name.' '.$item->last_name).''. ''; // Email - $html .= ' ' . e($item->email) . ''; + $html .= ' '.e($item->email).''; // Optional: Geburtstag $birthday = $item->user_birthday; // Magic Method __get() verwenden if ($birthday && trim($birthday) !== '') { - $html .= ' | ' . e($birthday); + $html .= ' | '.e($birthday); } // Optional: Telefon $phone = $item->user_phone; // Magic Method __get() verwenden if ($phone && trim($phone) !== '') { - $html .= ' | ' . e($phone); + $html .= ' | '.e($phone); } // Level Badge $levelName = $item->user_level_name ? TranslationHelper::transUserLevelName($item->user_level_name) : ''; $account = $item->m_account ?: ''; - $html .= ' ' . e($levelName . ' | ' . $account) . ''; + $html .= ' '.e($levelName.' | '.$account).''; // Karriere-Aufstiegs-Icon für qualifizierte User (nur in Struktur-Ansicht)# @@ -299,15 +313,18 @@ class TreeHtmlRenderer $html .= ''; } + // Abo-Kennzeichen (eigenes Abo + eigene Kundenabos) + $html .= $this->renderAboBadges((int) $item->user_id); + // Details für aktive Accounts if ($item->active_account) { $html .= '
    '; - if (!$isSponsor) { + if (! $isSponsor) { $html .= $this->renderAccountDetails($item); } // Action Button (außer für Sponsor-Ansicht) - if (!$isSponsor && $this->shouldShowActionButton()) { + if (! $isSponsor && $this->shouldShowActionButton()) { $html .= $this->renderActionButton($item->user_id); } @@ -315,12 +332,12 @@ class TreeHtmlRenderer } else { // Inaktive Accounts $paymentDate = $item->payment_account_date ?: ''; - $html .= '
    ' . __('team.account_to') . ': ' . e($paymentDate) . ''; + $html .= '
    '.__('team.account_to').': '.e($paymentDate).''; } // Sponsor für parentlose User if ($showSponsor && $item->m_sponsor_name) { - $html .= '
    ' . e($item->m_sponsor_name); + $html .= '
    '.e($item->m_sponsor_name); } $html .= '
    '; @@ -341,12 +358,12 @@ class TreeHtmlRenderer $eSum = $item->sales_volume_total ?: 0; $sSum = $item->sales_volume_total_shop ?: 0; - return '' . __('team.total_points') . ': ' . formatNumber($totalPoints) . ' | ' . - __('team.e') . ': ' . formatNumber($ePoints) . ' | ' . - __('team.s') . ': ' . formatNumber($sPoints) . ' | ' . - __('team.net_turnover') . ': ' . formatNumber($totalSum) . ' € | ' . - __('team.e') . ': ' . formatNumber($eSum) . ' € | ' . - __('team.s') . ': ' . formatNumber($sSum) . ' €'; + return ''.__('team.total_points').': '.formatNumber($totalPoints).' | '. + __('team.e').': '.formatNumber($ePoints).' | '. + __('team.s').': '.formatNumber($sPoints).' | '. + __('team.net_turnover').': '.formatNumber($totalSum).' € | '. + __('team.e').': '.formatNumber($eSum).' € | '. + __('team.s').': '.formatNumber($sSum).' €'; } /** @@ -354,15 +371,15 @@ class TreeHtmlRenderer */ private function renderActionButton(int $userId): string { - return ' | '; } @@ -380,12 +397,100 @@ class TreeHtmlRenderer } } + /** + * Lädt die Abo-Kennzeichen für alle übergebenen User-IDs gebatcht + * (zwei Group-by-Queries statt Einzelabfragen pro Knoten). + * + * Zählweise konsistent zur Backoffice-Statistik: aktive Abos = active=true + * und status NOT IN (4,5,6) via {@see UserAbo::scopeActiveAbo()}. + * + * @param array $userIds + */ + public function loadAboBadges(array $userIds): void + { + $userIds = array_values(array_unique(array_filter($userIds))); + + if (empty($userIds)) { + return; + } + + $ownAboUserIds = UserAbo::query() + ->activeAbo() + ->where('is_for', 'me') + ->whereIn('user_id', $userIds) + ->distinct() + ->pluck('user_id'); + + foreach ($ownAboUserIds as $userId) { + $this->aboBadges[(int) $userId]['own'] = true; + } + + $customerAboCounts = UserAbo::query() + ->activeAbo() + ->where('is_for', 'ot') + ->whereIn('member_id', $userIds) + ->groupBy('member_id') + ->selectRaw('member_id, COUNT(*) as abo_count') + ->pluck('abo_count', 'member_id'); + + foreach ($customerAboCounts as $userId => $count) { + $this->aboBadges[(int) $userId]['customer_count'] = (int) $count; + } + } + + /** + * Rendert die Abo-Kennzeichen für einen User: + * grünes "A"-Badge bei eigenem aktiven Abo, rotes "(n)"-Badge bei n > 0 eigenen aktiven Kundenabos. + */ + public function renderAboBadges(int $userId): string + { + $hasOwnAbo = $this->aboBadges[$userId]['own'] ?? false; + $customerAboCount = $this->aboBadges[$userId]['customer_count'] ?? 0; + + $html = ''; + + if ($hasOwnAbo) { + $html .= ' A'; + } + + if ($customerAboCount > 0) { + $html .= ' ('.$customerAboCount.')'; + } + + return $html; + } + + /** + * Sammelt rekursiv alle User-IDs aus den Business-User-Items. + * + * @return array + */ + private function collectUserIds(array $items): array + { + $userIds = []; + + foreach ($items as $item) { + $userId = (int) $item->user_id; + if ($userId > 0) { + $userIds[] = $userId; + } + + if (isset($item->businessUserItems) && is_array($item->businessUserItems) && count($item->businessUserItems) > 0) { + $userIds = array_merge($userIds, $this->collectUserIds($item->businessUserItems)); + } + } + + return $userIds; + } + /** * Setzt den Kontext für die Darstellung */ public function setInitFrom(string $initFrom): self { $this->initFrom = $initFrom; + return $this; } } diff --git a/app/Services/Credit.php b/app/Services/Credit.php index 40a3e572..99c7bee9 100644 --- a/app/Services/Credit.php +++ b/app/Services/Credit.php @@ -15,14 +15,14 @@ class Credit return (int) Setting::getContentBySlug('invoice-number'); } + /** + * Vergibt atomar die nächste Gutschriftsnummer aus dem gemeinsamen + * Nummernkreis (Setting 'invoice-number') — gleicher Lock-Mechanismus wie + * bei Rechnungen, damit parallele Läufe keine doppelten Nummern erzeugen. + */ public static function makeNextCreditNumber() { - $credit_number = self::getCreditNumber(); - $credit_number = $credit_number + 1; - // Setting::setContentBySlug('credit-number', $credit_number, 'int'); - Setting::setContentBySlug('invoice-number', $credit_number, 'int'); - - return $credit_number; + return Invoice::makeNextInvoiceNumber(); } public static function createCreditNumber($credit_number, $credit_date) diff --git a/app/Services/DatevExportService.php b/app/Services/DatevExportService.php index c6db121b..73f737df 100644 --- a/app/Services/DatevExportService.php +++ b/app/Services/DatevExportService.php @@ -282,13 +282,13 @@ class DatevExportService $isEu = $this->isEuCountry($country); $euUstid = $this->resolveEuUstid($order, $isDomestic); - $hasValidUstid = ! empty($euUstid); if (! $isDomestic && $country) { $euLand = $country->code ?? null; } - // Tax-Split vorhanden? -> Mehrere Zeilen pro Steuersatz + // Tax-Split vorhanden? -> Bestellung wurde MIT USt berechnet: + // Mehrere Zeilen pro Steuersatz, nie steuerfreie igL. if ($order->tax_split && is_array($order->tax_split) && count($order->tax_split) > 0) { $netSplit = $this->resolveNetSplit($order); @@ -307,7 +307,7 @@ class DatevExportService continue; } - $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $hasValidUstid); + $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, false); $lines->push([ 'source_type' => DatevExportLine::SOURCE_INVOICE, @@ -327,15 +327,18 @@ class DatevExportService ]); } } else { - // Kein Tax-Split: Gesamtbetrag als eine Zeile + // Kein Tax-Split -> Bestellung wurde OHNE USt verkauft (igL/Drittland) + // oder Inland-Altfall. EU-Lieferungen ohne USt sind steuerfreie igL, + // unabhängig davon, ob die USt-ID heute noch am Account hinterlegt ist. $grossAmount = floatval($order->total_shipping ?? $order->total ?? 0); if ($grossAmount <= 0) { continue; } + $soldTaxFree = $isEu && ! $isDomestic; $taxRate = intval($order->tax_rate ?? 19); - $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $hasValidUstid); + $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $soldTaxFree); $lines->push([ 'source_type' => DatevExportLine::SOURCE_INVOICE, @@ -390,8 +393,8 @@ class DatevExportService $user = $credit->user; $account = $user ? $user->account : null; - // Steuerstatus des Beraters ermitteln - $taxStatus = $this->determineCommissionTaxStatus($account); + // Steuerstatus aus dem Snapshot der Gutschrift (nicht aktueller Account-Stand) + $taxStatus = $this->determineCommissionTaxStatus($account, $credit); $buSchluessel = config('datev.commission_tax_keys.'.$taxStatus, 9); // USt-ID für Reverse Charge @@ -424,10 +427,10 @@ class DatevExportService $konto = $commissionAccounts[$type] ?? $commissionAccounts['shop']; // Bei USt-pflichtigen Beratern: Brutto berechnen + // (Steuersatz aus dem Snapshot der Gutschrift, wie auf dem Beleg ausgewiesen) $grossAmount = $totalAmount; - if ($taxStatus === 'normal' && $credit->taxable == 1) { - // Netto + USt = Brutto - $taxRate = config('app.main_tax_rate', 19); + if ($taxStatus === 'normal') { + $taxRate = floatval($credit->tax_rate) ?: config('app.main_tax_rate', 19); $grossAmount = round($totalAmount * (1 + $taxRate / 100), 2); } @@ -513,7 +516,6 @@ class DatevExportService $isEu = $this->isEuCountry($country); $euLand = (! $isDomestic && $country) ? ($country->code ?? null) : null; $euUstid = $this->resolveEuUstid($order, $isDomestic); - $hasValidUstid = ! empty($euUstid); if ($order->tax_split && is_array($order->tax_split) && count($order->tax_split) > 0) { $netSplit = $this->resolveNetSplit($order); @@ -532,7 +534,7 @@ class DatevExportService continue; } - $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $hasValidUstid); + $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, false); // Storno: Negativer Betrag $lines->push([ @@ -558,8 +560,9 @@ class DatevExportService continue; } + $soldTaxFree = $isEu && ! $isDomestic; $taxRate = intval($order->tax_rate ?? 19); - $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $hasValidUstid); + $revenueMapping = $this->determineRevenueAccount($taxRate, $isDomestic, $isEu, $soldTaxFree); $lines->push([ 'source_type' => DatevExportLine::SOURCE_CANCELLATION, @@ -831,12 +834,15 @@ class DatevExportService */ /** - * Bestimmt das Erlöskonto und den BU-Schlüssel basierend auf Steuersatz, Land und USt-ID. + * Bestimmt das Erlöskonto und den BU-Schlüssel basierend auf Steuersatz, Land + * und der tatsächlichen Besteuerung der Bestellung. * - * EU-steuerfreie IG-Lieferung (BU 1 / Konto 8125) nur wenn eine gültige USt-ID vorliegt. - * Ohne USt-ID wird auch bei EU-Lieferungen die reguläre Inlandsbesteuerung angewendet. + * Maßgeblich ist, wie die Rechnung ausgestellt wurde ($soldTaxFree = ohne USt + * verkauft), nicht der aktuelle Account-Zustand: EU-Bestellungen ohne USt sind + * steuerfreie IG-Lieferungen (BU 1 / Konto 8125); mit USt berechnete + * EU-Bestellungen werden wie Inland gebucht. */ - private function determineRevenueAccount(int $taxRate, bool $isDomestic, bool $isEu, bool $hasValidUstid = false): array + private function determineRevenueAccount(int $taxRate, bool $isDomestic, bool $isEu, bool $soldTaxFree = false): array { $accounts = config('datev.revenue_accounts'); @@ -844,7 +850,7 @@ class DatevExportService return $accounts['third_country_exempt']; } - if ($isEu && ! $isDomestic && $hasValidUstid) { + if ($isEu && ! $isDomestic && $soldTaxFree) { return $accounts['eu_exempt']; } @@ -884,33 +890,55 @@ class DatevExportService } /** - * Bestimmt den Steuerstatus eines Beraters für die Provision. + * Bestimmt den Steuerstatus einer Provisions-Gutschrift. + * + * Maßgeblich ist der taxable-Snapshot der Gutschrift (Zustand zum + * Ausstellungszeitpunkt, wie auf dem Beleg ausgewiesen), NICHT der aktuelle + * Account-Zustand. Nur Alt-Gutschriften ohne Snapshot (taxable=0) fallen + * auf die Account-Logik zurück. */ - private function determineCommissionTaxStatus($account): string + private function determineCommissionTaxStatus($account, $credit = null): string { + $taxable = intval($credit->taxable ?? 0); + + if ($taxable === 1) { + return 'normal'; + } + + if ($taxable === 2) { + return 'kleinunternehmer'; + } + + if ($taxable === 3) { + // Ausland: EU -> Reverse Charge, Drittland -> kein BU nötig, KU als Fallback + $country = $account?->country; + if ($country && $country->eu_country) { + return 'reverse_charge'; + } + + return 'kleinunternehmer'; + } + + // Fallback für Alt-Gutschriften ohne taxable-Snapshot if (! $account) { return 'normal'; } - // Reverse Charge hat Vorrang if ($account->reverse_charge) { return 'reverse_charge'; } - // Kleinunternehmer (taxable_sales = 2) if ($account->taxable_sales == 2) { return 'kleinunternehmer'; } - // Ausland nicht USt-pflichtig (taxable_sales = 3) - // Wird wie Reverse Charge behandelt, falls aus EU if ($account->taxable_sales == 3) { $country = $account->country; if ($country && $country->eu_country) { return 'reverse_charge'; } - return 'kleinunternehmer'; // Drittland: kein BU nötig, aber KU als Fallback + return 'kleinunternehmer'; } return 'normal'; @@ -970,8 +998,8 @@ class DatevExportService /** * Ermittelt die USt-ID des Bestellers (auth_user). - * Nur registrierte Berater mit hinterlegter USt-ID qualifizieren sich - * für steuerfreie innergemeinschaftliche Lieferungen. + * Deutsche oder formal unplausible USt-IDs werden verworfen — sie + * qualifizieren nie für steuerfreie innergemeinschaftliche Lieferungen. */ private function resolveEuUstid($order, bool $isDomestic): ?string { @@ -979,7 +1007,13 @@ class DatevExportService return null; } - return $order->auth_user?->account?->tax_identification_number ?: null; + $ustid = $order->auth_user?->account?->tax_identification_number ?: null; + + if ($ustid && ! app(VatIdService::class)->qualifiesForReverseCharge($ustid)) { + return null; + } + + return $ustid; } /** @@ -1064,10 +1098,11 @@ class DatevExportService } /** - * Parst einen formatierten Zahlenwert (z.B. "5.00" oder "5,00") zu float. + * Parst einen formatierten Zahlenwert (z.B. "5.00", "5,00" oder "1,434.70") zu float. * Behandelt sowohl einfache Werte als auch tax_split Arrays (homeparty). + * Tausendertrennzeichen ("1,434.70" oder "1.434,70") werden korrekt entfernt. */ - private function parseNumber($value, ?string $preferredArrayKey = null): float + public function parseNumber($value, ?string $preferredArrayKey = null): float { if (is_array($value)) { $arrayKeys = $this->getSplitArrayKeys($preferredArrayKey); @@ -1081,7 +1116,38 @@ class DatevExportService return 0.0; } - return floatval(str_replace(',', '.', $value)); + if (is_int($value) || is_float($value)) { + return (float) $value; + } + + $value = trim((string) $value); + if ($value === '') { + return 0.0; + } + + $hasComma = str_contains($value, ','); + $hasDot = str_contains($value, '.'); + + if ($hasComma && $hasDot) { + if (strrpos($value, ',') > strrpos($value, '.')) { + // Deutsches Format: 1.434,70 + $value = str_replace('.', '', $value); + $value = str_replace(',', '.', $value); + } else { + // US-Format: 1,434.70 + $value = str_replace(',', '', $value); + } + } elseif ($hasComma) { + if (preg_match('/^-?\d{1,3}(,\d{3})+$/', $value)) { + // Nur Tausendertrenner: 1,434 + $value = str_replace(',', '', $value); + } else { + // Komma als Dezimaltrenner: 5,00 + $value = str_replace(',', '.', $value); + } + } + + return floatval($value); } /** diff --git a/app/Services/GdprDeletionService.php b/app/Services/GdprDeletionService.php new file mode 100644 index 00000000..885de012 --- /dev/null +++ b/app/Services/GdprDeletionService.php @@ -0,0 +1,353 @@ + Zusammenfassung der ausgeführten Schritte + * + * @throws GdprDeletionException wenn Sperrgründe vorliegen (Admin-Account, aktives Abo) + */ + public function deleteUser(User $user, ?int $executedByUserId = null): array + { + if ($user->admin >= 2) { + throw new GdprDeletionException(__('msg.gdpr_error_is_admin')); + } + + $activeAbos = UserAbo::where('user_id', $user->id)->where('active', true)->count(); + if ($activeAbos > 0) { + throw new GdprDeletionException(__('msg.gdpr_error_active_abo')); + } + + $originalEmail = $user->email; + + $summary = DB::transaction(function () use ($user) { + $summary = ['user_id' => $user->id]; + + // MLM-Struktur erhalten: Downline und Kunden auf den nächsten aktiven Sponsor + // übertragen. Bewusst beim Sponsor starten, nicht beim User selbst — ein noch + // aktiver User würde sonst sich selbst als neuen Sponsor erhalten. + $active_sponsor = UserUtil::findNextActiveSponsor($user->m_sponsor ?: $user->pre_sponsor); + if ($active_sponsor && $active_sponsor->id !== $user->id) { + UserUtil::setNewSponsorToChilds($user->id, $active_sponsor->id); + UserUtil::setShoppingUserToNewMember($user->id, $active_sponsor->id); + $summary['new_sponsor_id'] = $active_sponsor->id; + } + + // Bestehende Komplett-Löschung: E-Mail randomisieren, Zugangsdaten entwerten, + // Account + Shop soft-deleten + UserUtil::deleteUser($user, true); + + $this->anonymizeUserRow($user); + $this->anonymizeUserAccount($user); + $this->anonymizeUserShop($user); + $summary['files_deleted'] = $this->deleteUserFiles($user); + $summary['update_emails_deleted'] = UserUpdateEmail::where('user_id', $user->id)->delete(); + $summary['abos_anonymized'] = $this->anonymizeUserAbos('user_id', $user->id); + $summary['business_rows_anonymized'] = $this->anonymizeUserBusinessRows($user); + $summary['shopping_users_anonymized'] = $this->anonymizeShoppingUserRows( + ShoppingUser::withTrashed()->where('auth_user_id', $user->id)->get() + ); + + return $summary; + }); + + $this->logDeletion('gdpr-delete-user', $user->id, User::class, $executedByUserId, $originalEmail, $summary); + + return $summary; + } + + /** + * Endkunden (ShoppingUser) DSGVO-konform löschen. + * + * Anonymisiert alle Datensätze des Kunden (Einträge mit gleicher Kundennummer). + * + * @return array + * + * @throws GdprDeletionException wenn der Datensatz zu einem Berater gehört oder ein aktives Abo besteht + */ + public function deleteShoppingUser(ShoppingUser $shoppingUser, ?int $executedByUserId = null): array + { + if ($shoppingUser->auth_user_id) { + throw new GdprDeletionException(__('msg.gdpr_error_customer_is_member')); + } + + $rows = $this->getCustomerRows($shoppingUser); + + $activeAbos = UserAbo::whereIn('shopping_user_id', $rows->pluck('id'))->where('active', true)->count(); + if ($activeAbos > 0) { + throw new GdprDeletionException(__('msg.gdpr_error_active_abo')); + } + + $originalEmail = $shoppingUser->billing_email; + + $summary = DB::transaction(function () use ($shoppingUser, $rows) { + $summary = ['shopping_user_id' => $shoppingUser->id]; + $summary['abos_anonymized'] = 0; + foreach ($rows as $row) { + $summary['abos_anonymized'] += $this->anonymizeUserAbos('shopping_user_id', $row->id); + } + $summary['shopping_users_anonymized'] = $this->anonymizeShoppingUserRows($rows); + + return $summary; + }); + + $this->logDeletion('gdpr-delete-customer', $shoppingUser->id, ShoppingUser::class, $executedByUserId, $originalEmail, $summary); + + return $summary; + } + + /** + * Alle Datensätze eines Endkunden (gleiche Kundennummer), inkl. soft-deleted. + * + * @return \Illuminate\Database\Eloquent\Collection + */ + public function getCustomerRows(ShoppingUser $shoppingUser) + { + if ($shoppingUser->number > 0) { + return ShoppingUser::withTrashed()->where('number', $shoppingUser->number)->get(); + } + + return ShoppingUser::withTrashed()->where('id', $shoppingUser->id)->get(); + } + + protected function anonymizeUserRow(User $user): void + { + $user->notes = null; + $user->settings = null; + $user->payment_methods = null; + $user->last_login = null; + $user->save(); + } + + protected function anonymizeUserAccount(User $user): void + { + if (! $user->account_id) { + return; + } + $account = UserAccount::withTrashed()->find($user->account_id); + if (! $account) { + return; + } + + $account->m_salutation = null; + $account->m_first_name = self::ANONYMIZED_FIRSTNAME; + $account->m_last_name = self::ANONYMIZED_LASTNAME; + $account->m_notes = null; + $account->company = null; + $account->salutation = null; + $account->first_name = self::ANONYMIZED_FIRSTNAME; + $account->last_name = self::ANONYMIZED_LASTNAME; + $account->address = null; + $account->address_2 = null; + $account->zipcode = null; + $account->city = null; + $account->pre_phone_id = null; + $account->phone = null; + $account->pre_mobil_id = null; + $account->mobil = null; + $account->tax_number = null; + $account->tax_identification_number = null; + $account->shipping_salutation = null; + $account->shipping_company = null; + $account->shipping_firstname = null; + $account->shipping_lastname = null; + $account->shipping_address = null; + $account->shipping_address_2 = null; + $account->shipping_zipcode = null; + $account->shipping_city = null; + $account->shipping_pre_phone_id = null; + $account->shipping_phone = null; + $account->shipping_postnumber = null; + $account->birthday = null; + $account->website = null; + $account->facebook = null; + $account->facebook_fanpage = null; + $account->instagram = null; + $account->bank_owner = null; + $account->bank_iban = null; + $account->bank_bic = null; + $account->payment_data = null; + $account->notice = null; + $account->save(); + } + + protected function anonymizeUserShop(User $user): void + { + $shop = UserShop::withTrashed()->where('user_id', $user->id)->first(); + if (! $shop) { + return; + } + + if ($shop->filename) { + Storage::disk('public')->delete('images/shop/'.$shop->filename); + } + $shop->title = null; + $shop->contact = null; + $shop->accessibility = null; + $shop->about = null; + $shop->trans = null; + $shop->filename = null; + $shop->originalname = null; + $shop->ext = null; + $shop->mine = null; + $shop->size = null; + $shop->save(); + } + + protected function deleteUserFiles(User $user): int + { + $count = 0; + foreach ($user->files()->get() as $file) { + Storage::disk('user')->delete($file->dir.$file->filename); + $file->delete(); + $count++; + } + + return $count; + } + + /** + * Zahlungs-Tokens und Kontaktdaten aller Abos entfernen (auch soft-deleted). + */ + protected function anonymizeUserAbos(string $column, int $id): int + { + $count = 0; + $abos = UserAbo::withTrashed()->where($column, $id)->get(); + foreach ($abos as $abo) { + $abo->email = null; + $abo->carddata = null; + $abo->payone_userid = 0; + $abo->stripe_customer_id = null; + $abo->stripe_payment_method_id = null; + $abo->active = false; + $abo->save(); + $count++; + } + + return $count; + } + + /** + * Denormalisierte Personendaten in den monatlichen Provisions-Snapshots + * anonymisieren; die Finanzdaten (Umsätze, Provisionen) bleiben erhalten. + */ + protected function anonymizeUserBusinessRows(User $user): int + { + return UserBusiness::where('user_id', $user->id)->update([ + 'email' => null, + 'first_name' => self::ANONYMIZED_FIRSTNAME, + 'last_name' => self::ANONYMIZED_LASTNAME, + 'user_birthday' => null, + 'user_phone' => null, + ]); + } + + /** + * Kunden-Datensätze anonymisieren. Datensätze mit Bestellungen behalten + * Name und Rechnungsadresse (Aufbewahrungspflicht Buchungsbeleg), + * verlieren aber alle Kontaktdaten. Datensätze ohne Bestellung werden + * vollständig anonymisiert. + * + * @param Collection $rows + */ + protected function anonymizeShoppingUserRows($rows): int + { + $count = 0; + foreach ($rows as $row) { + $hasOrders = $row->shopping_orders()->withTrashed()->count() > 0; + if ($hasOrders) { + $this->anonymizeShoppingUserContactData($row); + } else { + $this->anonymizeShoppingUserComplete($row); + } + $count++; + } + + return $count; + } + + protected function anonymizeShoppingUserContactData(ShoppingUser $row): void + { + $row->billing_phone = null; + $row->billing_email = 'geloescht_'.$row->id.'@dsgvo.invalid'; + $row->shipping_phone = null; + $row->shipping_email = null; + $row->remarks = ''; + $row->notice = []; + $row->subscribed = false; + $row->faker_mail = true; + $row->save(); + } + + protected function anonymizeShoppingUserComplete(ShoppingUser $row): void + { + $row->billing_salutation = null; + $row->billing_company = null; + $row->billing_firstname = self::ANONYMIZED_FIRSTNAME; + $row->billing_lastname = self::ANONYMIZED_LASTNAME; + $row->billing_address = null; + $row->billing_address_2 = null; + $row->billing_zipcode = null; + $row->billing_city = null; + $row->shipping_salutation = null; + $row->shipping_company = null; + $row->shipping_firstname = null; + $row->shipping_lastname = null; + $row->shipping_address = null; + $row->shipping_address_2 = null; + $row->shipping_zipcode = null; + $row->shipping_city = null; + $row->shipping_postnumber = null; + $this->anonymizeShoppingUserContactData($row); + } + + /** + * Nachweis der Löschung (Art. 5 Abs. 2 DSGVO) ohne personenbezogene Daten. + * + * @param array $summary + */ + protected function logDeletion(string $action, int $modelId, string $modelClass, ?int $executedByUserId, ?string $originalEmail, array $summary): void + { + SysLog::action($action, 'gdpr', 4) + ->setUserId($executedByUserId) + ->setModel($modelId, $modelClass) + ->setMessage('DSGVO-Löschung ausgeführt. Umfang: '.json_encode($summary)) + ->save(); + + Log::channel('cleanup')->info($action.' id:'.$modelId.' email-hash:'.hash('sha256', (string) $originalEmail).' summary:'.json_encode($summary)); + } +} diff --git a/app/Services/Incentive/IncentiveTracker.php b/app/Services/Incentive/IncentiveTracker.php index 1be9c96d..803e067c 100644 --- a/app/Services/Incentive/IncentiveTracker.php +++ b/app/Services/Incentive/IncentiveTracker.php @@ -316,12 +316,15 @@ class IncentiveTracker /** * Update ranking for all participants of an incentive. + * Der Rang entspricht der Anzeigereihenfolge des Leaderboards: Qualifizierte zuerst (1..n), + * dahinter Nicht-Qualifizierte, jeweils nach Punkten absteigend. */ public static function updateRanking(Incentive $incentive): void { // Nur Teilnehmer mit Punkten bekommen einen Rang (bei Punktgleichstand: Teilnahme bestaetigt vor anonym) $with_points = IncentiveParticipant::where('incentive_id', $incentive->id) ->where('total_points', '>', 0) + ->orderByDesc('is_qualified') ->orderByDesc('total_points') ->orderByRaw('accepted_terms_at IS NOT NULL DESC') ->get(); diff --git a/app/Services/SyS/DomainSSL.php b/app/Services/SyS/DomainSSL.php deleted file mode 100644 index d45508b5..00000000 --- a/app/Services/SyS/DomainSSL.php +++ /dev/null @@ -1,198 +0,0 @@ -get(); - $text = ""; - - $kas = new KasController(); - //$domain = 'mivita.care'; - // $ssl = KasSLLController::getApiSSLParameter(); - $SubDomains = []; - - $get_subdomains = $kas->action('get_subdomains'); - foreach ($get_subdomains as $subdomain){ - if(isset($subdomain['subdomain_name'])){ - if(strpos($subdomain['subdomain_name'], 'www.') !== false){ - continue; - } - if(strpos($subdomain['subdomain_name'], 'api.') !== false){ - continue; - } - if(strpos($subdomain['subdomain_name'], 'checkout.') !== false){ - continue; - } - $SubDomains[$subdomain['subdomain_name']] = - [ - 'ssl_certificate_sni' => $subdomain['ssl_certificate_sni'], - 'php_version' => $subdomain['php_version'], - ]; - - }else{ - @dump($subdomain); - } - - - /* if($subdomain['ssl_certificate_sni'] !== "Y"){ - $pra = array( - 'hostname' => $subdomain['subdomain_name'], - ); - $pra = array_merge($pra, $ssl); - $value = $kas->action('update_ssl', $pra); - $text .= $value; - }else{ - if(isset($subdomain['ssl_certificate_sni_is_active'])){ - $text .= $subdomain['ssl_certificate_sni_is_active'].'-is_active'; - }else{ - $text .= '-CHECK!'; - - } - }*/ - - //$text .= "\n"; - } - - $dobbleDomains = []; - - foreach($user_shops as $user_shop){ - $user_shop->hasSubdomain = false; - $user_shop->hasSSL = false; - $user_shop->PHPversion = ""; - if(array_key_exists($user_shop->slug.'.mivita.care', $SubDomains)){ - $user_shop->hasSubdomain = true; - $user_shop->hasSSL = $SubDomains[$user_shop->slug.'.mivita.care']['ssl_certificate_sni'] === 'Y' ? true : false; - $user_shop->PHPversion = $SubDomains[$user_shop->slug.'.mivita.care']['php_version']; - unset($SubDomains[$user_shop->slug.'.mivita.care']); - } - $dobbleDomains[$user_shop->user_id][$user_shop->id] = $user_shop->slug.'.mivita.care'; - } - foreach($dobbleDomains as $key => $dobbleDomain){ - if(count($dobbleDomain) === 1){ - unset($dobbleDomains[$key]); - } - } - $data = [ - 'values' => $user_shops, - 'text' => $text, - 'SubDomains' => $SubDomains, - 'dobbleDomains' => $dobbleDomains, - - ]; - - return view('sys.tools.domain-ssl', $data); - } - - - public static function store() - { - $data = Request::all(); - if(isset($data['delete_sub_kas'])){ - $kas = new KasController(); - $pra = array( - 'subdomain_name' => $data['delete_sub_kas'], - ); - $value = $kas->action('delete_subdomain', $pra); - \Session()->flash('alert-success', 'subdomain: '.$value.' gelöscht'); - - } - if(isset($data['delete_user_shop'])){ - $user_shop = UserShop::findOrFail($data['delete_user_shop']); - $subdomain_name = $user_shop->slug.'.mivita.care'; - $user_shop->name = "delete".$user_shop->id; - $user_shop->slug = "delete".$user_shop->id; - $user_shop->save(); - $user_shop->delete(); - $kas = new KasController(); - $pra = array( - 'subdomain_name' => $subdomain_name, - ); - $value = $kas->action('delete_subdomain', $pra); - \Session()->flash('alert-success', 'shop/subdomain: '.$value.' gelöscht'); - - } - - if(isset($data['update_ssl'])){ - - //prüfen ob subdomain existiert - $user_shop = UserShop::findOrFail($data['update_ssl']); - $subdomain_name = $user_shop->slug.'.mivita.care'; - - $kas = new KasController(); - $subdomain = $kas->action('get_subdomains', ['subdomain_name' => $subdomain_name]); - if(!isset($subdomain[0]['subdomain_name'])){ //not found - self::makeNewSubDomain($user_shop->slug); - \Session()->flash('alert-danger', 'subdomain: '.$subdomain_name.' nicht gefunden'); - return back(); - }else{ - self::updateSubDomain($subdomain_name); - } - - - - } - - - return back(); - } - - private static function updateSubDomain($subdomain_name){ - - $kas = new KasController(); - $ssl = KasSLLController::getApiSSLParameter(); - $pra = array( - 'hostname' => $subdomain_name - ); - $pra = array_merge($pra, $ssl); - $value = $kas->action('update_ssl', $pra); - \Session()->flash('alert-success', 'update SSL: '.$value.''); - return $value; - } - - private static function makeNewSubDomain($slug){ - - $kas = new KasController(); - $domain = 'mivita.care'; - - //check if exisist - $subdomains = $kas->action('get_subdomains'); - foreach ($subdomains as $subdomain){ - if(!isset($subdomain['subdomain_name'])){ - continue; - } - $sub = str_replace(".".$domain, '', $subdomain['subdomain_name']); - if($sub == $slug){ - \Session()->flash('alert-danger', __('shop.error_subdomain_exists')); - return; - } - } - - //add - $full_subdomain_name = $slug.".".$domain; - $pra = array( - 'subdomain_name' => $slug, - 'domain_name' => $domain, - 'subdomain_path' => '/mein.mivita.care/public/', - 'php_version' => config('app.php_version'), - //'ssl_proxy' => 'Y', - //'redirect_status' => 0 - ); - $add_subdomain = $kas->action('add_subdomain', $pra); - if($add_subdomain == $full_subdomain_name){ - \Session()->flash('alert-success', 'Add Subdomain: '.$add_subdomain.''); - return $add_subdomain; - } - \Session()->flash('alert-danger', 'Fehler: '.$add_subdomain.''); - return $add_subdomain; - - - } -} diff --git a/app/Services/SyS/ShoppingOrders.php b/app/Services/SyS/ShoppingOrders.php index dd1ee65f..754e1649 100644 --- a/app/Services/SyS/ShoppingOrders.php +++ b/app/Services/SyS/ShoppingOrders.php @@ -1,17 +1,13 @@ $shopping_users, 'text' => '', ]; + return view('sys.tools.shopping-orders', $data); } - public static function store() { abort(403, 'STOP funtion not online'); - dd(""); - + dd(''); $data = Request::all(); - - if($data['action'] === 'first_run'){ - $shopping_users = ShoppingUser::whereHas('shopping_order', function($q) { + + if ($data['action'] === 'first_run') { + $shopping_users = ShoppingUser::whereHas('shopping_order', function ($q) { $q->where('txaction', 'paid')->OrWhere('txaction', 'appointed'); })->get(); $order_email = []; $order_number = []; - foreach ($shopping_users as $shopping_user){ + foreach ($shopping_users as $shopping_user) { $order_email[$shopping_user->billing_email] = isset($order_email[$shopping_user->billing_email]) ? $order_email[$shopping_user->billing_email] + 1 : 1; - if($shopping_user->number) { + if ($shopping_user->number) { $order_number[$shopping_user->number] = isset($order_number[$shopping_user->number]) ? $order_number[$shopping_user->number] + 1 : 1; $shopping_user->orders = $order_number[$shopping_user->number]; - }else { + } else { $shopping_user->orders = $order_email[$shopping_user->billing_email]; } $shopping_user->save(); @@ -55,11 +50,11 @@ class ShoppingOrders \Session()->flash('alert-save', true); } - if($data['action'] === 'next_run'){ + if ($data['action'] === 'next_run') { ShoppingUserService::snycOrdersByShoppingUser($shopping_user); \Session()->flash('alert-save', true); } + return back(); } - } diff --git a/app/Services/UserService.php b/app/Services/UserService.php index 753e7335..19d8f90b 100644 --- a/app/Services/UserService.php +++ b/app/Services/UserService.php @@ -121,6 +121,10 @@ class UserService if ($user->account->reverse_charge && $user->account->reverse_charge_valid) { // Rechnungsland ist auch Lieferland, dann RSV if (strtolower($user->account->reverse_charge_code) == strtolower($ShippingCountry->country->code)) { + // USt-ID bei jeder Verwendung erneut prüfen (VIES, gecacht) + if (! self::verifyReverseChargeVatId($user)) { + return false; + } self::$user_reverse_charge = true; return true; @@ -132,6 +136,49 @@ class UserService return false; } + /** + * Prüft die hinterlegte USt-ID bei jeder Verwendung erneut. + * Deutsche, formal ungültige oder laut VIES ungültige USt-IDs verlieren den + * Reverse-Charge-Status; bei VIES-Ausfall gilt der gespeicherte Status weiter. + */ + public static function verifyReverseChargeVatId(User $user): bool + { + $vatService = app(VatIdService::class); + $vatId = $user->account->tax_identification_number; + + if (! $vatService->qualifiesForReverseCharge($vatId)) { + self::revokeReverseCharge($user); + + return false; + } + + $result = $vatService->checkViesCached($vatId, $user->account->country->code ?? null); + + if ($result === VatIdService::CHECK_INVALID) { + self::revokeReverseCharge($user); + + return false; + } + + // valid oder VIES nicht erreichbar (Fallback auf gespeicherten Status) + return true; + } + + /** + * Entzieht den Reverse-Charge-Status und informiert den User im Checkout, + * dass die Bestellung mit Umsatzsteuer berechnet wird. + */ + private static function revokeReverseCharge(User $user): void + { + $user->account->reverse_charge = 0; + $user->account->reverse_charge_valid = null; + $user->account->save(); + + if (app()->bound('request') && request()->hasSession()) { + request()->session()->flash('alert-error', __('msg.VATID_no_longer_valid_taxes_applied')); + } + } + public static function getYardInfo() { return [ diff --git a/app/Services/UserUtil.php b/app/Services/UserUtil.php index 5e70c72a..483b979d 100644 --- a/app/Services/UserUtil.php +++ b/app/Services/UserUtil.php @@ -2,7 +2,6 @@ namespace App\Services; -use App\Http\Controllers\Api\KasController; use App\Models\ShoppingUser; use App\Models\ShoppingUserMemberLog; use App\Models\UserCleanUpLog; @@ -171,19 +170,10 @@ class UserUtil { // shop wird gelöscht if ($user->shop) { - // $subdomain_name = $user->shop->slug . '.mivita.care'; $user->shop->name = 'delete'.$user->shop->id; $user->shop->slug = 'delete'.$user->shop->id; $user->shop->save(); $user->shop->delete(); - // isset KAS - delete Subdomain - /*if (!Util::isTestSystem()) { - $kas = new KasController(); - $pra = array( - 'subdomain_name' => $subdomain_name, - ); - $kas->action('delete_subdomain', $pra); - }*/ } // user soll nicht komplett gelöscht werden diff --git a/app/Services/VatIdService.php b/app/Services/VatIdService.php new file mode 100644 index 00000000..a165a54a --- /dev/null +++ b/app/Services/VatIdService.php @@ -0,0 +1,173 @@ + + */ + private const EU_COUNTRY_CODES = [ + 'AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'EL', 'ES', 'FI', 'FR', 'HR', 'HU', + 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK', 'XI', + ]; + + /** + * Entfernt Leerzeichen, Punkte, Kommas und Bindestriche und wandelt in Großbuchstaben um. + */ + public function normalize(?string $vatId): string + { + return strtoupper(str_replace([' ', '.', '-', ','], '', trim((string) $vatId))); + } + + /** + * Liefert den Ländercode aus dem USt-ID-Präfix, sonst den Fallback (Account-Land). + */ + public function extractCountryCode(?string $vatId, ?string $fallbackCountryCode = null): ?string + { + $normalized = $this->normalize($vatId); + $prefix = substr($normalized, 0, 2); + + if (in_array($prefix, self::EU_COUNTRY_CODES, true)) { + return $prefix; + } + + $fallback = strtoupper((string) $fallbackCountryCode); + + return in_array($fallback, self::EU_COUNTRY_CODES, true) ? $fallback : null; + } + + /** + * Liefert den Nummernteil ohne Ländercode-Präfix. + */ + public function extractVatNumber(?string $vatId): string + { + $normalized = $this->normalize($vatId); + + if (in_array(substr($normalized, 0, 2), self::EU_COUNTRY_CODES, true)) { + return substr($normalized, 2); + } + + return $normalized; + } + + /** + * Grobe Formatprüfung: EU-Länderpräfix + 2-13 Zeichen Nummernteil. + */ + public function isPlausibleFormat(?string $vatId): bool + { + $normalized = $this->normalize($vatId); + + return (bool) preg_match('/^[A-Z]{2}[A-Z0-9+*]{2,13}$/', $normalized) + && in_array(substr($normalized, 0, 2), self::EU_COUNTRY_CODES, true); + } + + /** + * Nur ausländische EU-USt-IDs qualifizieren für steuerfreie igL / Reverse-Charge. + * Deutsche USt-IDs (DE...) werden grundsätzlich abgelehnt. + */ + public function qualifiesForReverseCharge(?string $vatId): bool + { + return $this->isPlausibleFormat($vatId) && ! $this->isGermanVatId($vatId); + } + + public function isGermanVatId(?string $vatId): bool + { + return str_starts_with($this->normalize($vatId), 'DE'); + } + + /** + * Live-Prüfung gegen VIES. + * + * @return string self::CHECK_VALID | self::CHECK_INVALID | self::CHECK_UNAVAILABLE + */ + public function checkVies(?string $vatId, ?string $fallbackCountryCode = null): string + { + if (! $this->isPlausibleFormat($vatId)) { + return self::CHECK_INVALID; + } + + $countryCode = $this->extractCountryCode($vatId, $fallbackCountryCode); + $vatNumber = $this->extractVatNumber($vatId); + + if (! $countryCode || $vatNumber === '') { + return self::CHECK_INVALID; + } + + if (! config('services.vies.enabled', true)) { + return self::CHECK_UNAVAILABLE; + } + + $timeout = (int) config('services.vies.timeout', 10); + + try { + $client = new \SoapClient(self::VIES_WSDL, [ + 'cache_wsdl' => WSDL_CACHE_NONE, + 'connection_timeout' => $timeout, + 'exceptions' => true, + 'stream_context' => stream_context_create([ + 'http' => ['timeout' => $timeout], + ]), + ]); + + $result = $client->checkVat([ + 'countryCode' => $countryCode, + 'vatNumber' => $vatNumber, + ]); + + return $result->valid ? self::CHECK_VALID : self::CHECK_INVALID; + } catch (\Throwable $e) { + Log::warning('VIES-Prüfung nicht erreichbar', [ + 'vat_id' => $this->normalize($vatId), + 'error' => $e->getMessage(), + ]); + + return self::CHECK_UNAVAILABLE; + } + } + + /** + * VIES-Prüfung mit Cache (24h). CHECK_UNAVAILABLE wird nur kurz gecacht (10 Min.), + * damit ein VIES-Ausfall den Checkout nicht bei jedem Aufruf blockiert. + */ + public function checkViesCached(?string $vatId, ?string $fallbackCountryCode = null): string + { + if (! $this->isPlausibleFormat($vatId)) { + return self::CHECK_INVALID; + } + + $cacheKey = 'vies-check:'.$this->normalize($vatId); + + $cached = Cache::get($cacheKey); + if ($cached !== null) { + return $cached; + } + + $result = $this->checkVies($vatId, $fallbackCountryCode); + + $ttl = $result === self::CHECK_UNAVAILABLE ? now()->addMinutes(10) : now()->addHours(24); + Cache::put($cacheKey, $result, $ttl); + + return $result; + } +} diff --git a/app/Services/Yard.php b/app/Services/Yard.php index ad578ccb..0d91dab7 100644 --- a/app/Services/Yard.php +++ b/app/Services/Yard.php @@ -320,7 +320,7 @@ class Yard extends Cart $this->shipping_price = $price; $this->shipping_tax_rate = $shipping_price->tax_rate; $this->shipping_price_net = round($price / ((100 + $shipping_price->tax_rate) / 100), 2); - $this->shipping_tax = round($price / (100 + $shipping_price->tax_rate) * 100, 2); + $this->shipping_tax = round($price - $this->shipping_price_net, 2); $this->putYardExtra('num_comp', $this->num_comp); $this->putYardExtra('shipping_price', $this->shipping_price); diff --git a/config/services.php b/config/services.php index d5219f2d..24fed224 100755 --- a/config/services.php +++ b/config/services.php @@ -1,5 +1,7 @@ [ - 'model' => App\User::class, + 'model' => User::class, 'key' => env('STRIPE_KEY'), 'secret' => env('STRIPE_SECRET'), ], + 'vies' => [ + 'enabled' => env('VIES_ENABLED', true), + 'timeout' => env('VIES_TIMEOUT', 10), + ], + 'openai' => [ 'api_key' => env('OPENAI_API_KEY'), 'url' => env('OPENAI_API_URL', 'https://api.openai.com/v1/chat/completions'), diff --git a/database/migrations/2026_07_22_160651_add_pause_fields_to_user_abos_table.php b/database/migrations/2026_07_22_160651_add_pause_fields_to_user_abos_table.php new file mode 100644 index 00000000..27bb0bbb --- /dev/null +++ b/database/migrations/2026_07_22_160651_add_pause_fields_to_user_abos_table.php @@ -0,0 +1,29 @@ +date('last_pause_date')->nullable()->after('cancel_date'); + $table->unsignedInteger('pause_count')->default(0)->after('cancel_date'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('user_abos', function (Blueprint $table) { + $table->dropColumn(['last_pause_date', 'pause_count']); + }); + } +}; diff --git a/database/migrations/2026_07_22_160652_create_user_abo_status_histories_table.php b/database/migrations/2026_07_22_160652_create_user_abo_status_histories_table.php new file mode 100644 index 00000000..acafef5b --- /dev/null +++ b/database/migrations/2026_07_22_160652_create_user_abo_status_histories_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->unsignedInteger('user_abo_id'); + $table->string('action', 32); + $table->string('view', 16)->nullable(); + $table->unsignedInteger('actor_user_id')->nullable(); + $table->date('previous_next_date')->nullable(); + $table->date('new_next_date')->nullable(); + $table->timestamps(); + + $table->index(['user_abo_id', 'created_at']); + $table->foreign('user_abo_id')->references('id')->on('user_abos')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('user_abo_status_histories'); + } +}; diff --git a/database/migrations/2026_07_24_120000_deactivate_soft_deleted_user_abos.php b/database/migrations/2026_07_24_120000_deactivate_soft_deleted_user_abos.php new file mode 100644 index 00000000..d9b6c6f1 --- /dev/null +++ b/database/migrations/2026_07_24_120000_deactivate_soft_deleted_user_abos.php @@ -0,0 +1,27 @@ +whereNotNull('deleted_at') + ->where('active', true) + ->update(['active' => false]); + } + + public function down(): void + { + // Nicht umkehrbar: welche gelöschten Abos zuvor active=1 trugen, ist + // nach der Bereinigung nicht mehr feststellbar (bewusster Daten-Fix). + } +}; diff --git a/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-4764.csv b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-4764.csv new file mode 100644 index 00000000..a166b5e5 --- /dev/null +++ b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-4764.csv @@ -0,0 +1,3 @@ +Rechnung;Betrag Test;Betrag gebucht;Delta_1;Delta;Fehler;Kategorie;Bemerkung +GS202536995;56,7;67,47;-10,77;-10,77;Test;Testdaten fehlerhaft: Betrag;gebuchte Gutschrift stimmt mit Beleg überein +GS202538597;12,5;14,88;-2,38;-2,38;Test;Testdaten fehlerhaft: Betrag;gebuchte Gutschrift stimmt mit Beleg überein \ No newline at end of file diff --git a/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8125.csv b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8125.csv new file mode 100644 index 00000000..dc2cad99 --- /dev/null +++ b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8125.csv @@ -0,0 +1,15 @@ +Rechnung;Betrag Test;Betrag gebucht;Delta_1;Delta;Fehler;Kategorie;Bemerkung +202536858;#NV;-207,87;207,87;Fehler;Test;Testdaten unvollständig ;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202536910;#NV;-131,43;131,43;Fehler;Test;Testdaten unvollständig ;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202537173;#NV;-139,13;139,13;Fehler;Test;Testdaten unvollständig ;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202538144;#NV;-131,83;131,83;Fehler;Test;Testdaten unvollständig ;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202536841;-111,18;#NV;-111,18;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8400 verbucht nicht 8125 +202538398;-180,09;#NV;-180,09;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8400 verbucht nicht 8125 +202536848;#NV;-277,92;277,92;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202537290;#NV;-269,46;269,46;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202537430;#NV;-78,18;78,18;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202537832;#NV;-153,93;153,93;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202538011;#NV;-308,35;308,35;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202538445;#NV;-270,6;270,6;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202538446;#NV;-427,16;427,16;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein +202539399;#NV;-295,12;295,12;Fehler;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein \ No newline at end of file diff --git a/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8300.csv b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8300.csv new file mode 100644 index 00000000..6ff76ee4 --- /dev/null +++ b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto-8300.csv @@ -0,0 +1,7 @@ +Rechnung;Betrag Test;Betrag gebucht;Delta_1;Delta;Fehler;Kategorie;Bemerkung +202535876;#NV;46,64;-46,64;Fehler;Test;Testdaten unvollständig;Für Rechnung aus Juli wurde eine Gutschrift im September erfasst +202537567;#NV;-75,42;75,42;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202538398;#NV;-9,75;9,75;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202538182;-64,24;-46,64;-17,6;-17,6;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537572;-75,42;#NV;-75,42;Fehler;Test;Test fehlerhaft: Logik;Rechnung korrekterweise auf 8400 (gebucht), da Stl. Kennung nicht vorhanden, Betrag nicht korrekt +202539011;-61,89;#NV;-61,89;Fehler;;Buchungsdaten unvollständig;Rechnung liegt uns nicht vor \ No newline at end of file diff --git a/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto8400.csv b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto8400.csv new file mode 100644 index 00000000..bc659713 --- /dev/null +++ b/dev/2026-07-17-steuern/Abgleich 08._09.2025-Konto8400.csv @@ -0,0 +1,37 @@ +Rechnung;Betrag Test;Betrag gebucht;Delta_1;Delta;Fehler;Kategorie;Bemerkung +202506145;#NV;-265,8;265,8;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202506147;#NV;-115,5;115,5;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202536821;#NV;-444,54;444,54;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202536841;#NV;-93,43;93,43;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202537460;#NV;-221,09;221,09;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202537543;#NV;-791,8;791,8;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202538398;#NV;-142,57;142,57;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202538744;#NV;-87,9;87,9;Fehler;Test;Testdaten unvollständig;Testdaten unvollständig, Rechnung liegt uns vor und wurde korrekt verbucht +202536978;-95,29;0;-95,29;-95,29;Test;Testdaten fehlerhaft: Storno;Rg. Wurde storniert wegen Doppeltbestellung +202537144;-146,97;0;-146,97;-146,97;Test;Testdaten fehlerhaft: Storno;Rg. Wurde storniert wegen Falschbestellung +202537513;-101,68;-22,27;-79,41;-79,41;Test;Testdaten fehlerhaft: Storno;Rg. Wurde teilweise storniert +202539501;-93,43;0;-93,43;-93,43;Test;Testdaten fehlerhaft: Storno;Rg. Wurde storniert wegen Generalumkehr +202536858;-174,68;#NV;-174,68;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 verbucht nicht auf 8400, Test: Betrag nicht korrekt (207,87€) +202536910;-110,45;#NV;-110,45;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 verbucht nicht auf 8400, Test: Betrag nicht korrekt (131,43€) +202537173;-116,92;#NV;-116,92;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 verbucht nicht auf 8400, Test: Betrag nicht korrekt (139,13€) +202537430;-65,7;#NV;-65,7;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 verbucht nicht auf 8400, Test: Betrag nicht korrekt (78,14€) +202538144;-110,78;#NV;-110,78;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 verbucht nicht auf 8400, Test: Betrag nicht korrekt (131,83€) +202536848;-233,55;#NV;-233,55;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202537290;-226,44;#NV;-226,44;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202537832;-129,35;#NV;-129,35;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202538445;-227,39;#NV;-227,39;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202538446;-358,96;#NV;-358,96;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202538774;-87,9;#NV;-87,9;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 (Beleg nicht angehängt) +202539011;-239,65;#NV;-239,65;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 (Beleg nicht angehängt) +202539399;-248;#NV;-248;Fehler;Test;Testdaten fehlerhaft: Logik;Rechnung korrekterweise auf 8125 gebucht nicht 8400 +202537251;#NV;-42,3;42,3;Fehler;Test;Testdaten fehlerhaft: Logik;von 8125 auf 8400 gebucht, obwohl spanische USt-IdNr. Vorhanden, diese ist ungültig +202536817;-230,28;-1434,71;1204,43;1204,43;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein (abgesehen von netto 0,01 EUR) +202536968;-167,67;-1044,69;877,02;877,02;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537208;-122,52;-101,68;-20,84;-20,84;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537532;-172,55;-1075,04;902,49;902,49;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537567;-18,32;-86,72;68,4;68,4;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537572;-177,06;-90,34;-86,72;-86,72;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht +202537808;-86,22;-86,13;-0,09;-0,09;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein (abgesehen von netto 0,09 EUR) +202538011;-259,12;-239,65;-19,47;-19,47;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein (abgesehen von netto 0,01 EUR) +202538182;-231,04;-134,54;-96,5;-96,5;Test;Testdaten fehlerhaft: Betrag;gebuchte Rechnung stimmt mit Beleg überein (abgesehen von netto 0,01 EUR) +202538332;-40,84;-4,12;-36,72;-36,72;Test;Testdaten fehlerhaft: Betrag;Testdaten fehlerhaft, Rechnung liegt uns vor und wurde korrekt verbucht \ No newline at end of file diff --git a/dev/2026-07-17-steuern/INFO-Steuerberater.md b/dev/2026-07-17-steuern/INFO-Steuerberater.md new file mode 100644 index 00000000..9c658dd8 --- /dev/null +++ b/dev/2026-07-17-steuern/INFO-Steuerberater.md @@ -0,0 +1,135 @@ +# Rückmeldung zum Abgleich 08+09/2025 (DATEV-Export MIVITA) + +**Datum:** 17.07.2026 +**Bezug:** Abgleich-Listen zu den Konten 4764, 8125, 8300 und 8400 für August/September 2025 + +Vielen Dank für den detaillierten Abgleich. Alle gemeldeten Abweichungen wurden im System +nachvollzogen. Es handelte sich um **fünf technische Ursachen im Export bzw. in der +Datenhaltung** — die Buchungen im Steuerbüro waren in nahezu allen Fällen korrekt, die +Testdaten (unser DATEV-Export) fehlerhaft. Die Ursachen sind behoben; die Exporte für +08/2025 und 09/2025 werden neu erstellt und ersetzt. + +--- + +## 1. Beträge über 1.000 € waren im Export drastisch zu niedrig + +**Betraf:** 202536817, 202536968, 202537532 (Konto 8400) + +Ein Formatierungsfehler beim Speichern der Steuer-/Nettobeträge (Tausendertrennzeichen) +führte dazu, dass z. B. aus 1.434,70 € netto im Export 1,43 € wurden. Die Rechnungen +selbst (PDF/Beleg) waren korrekt — nur der Exportbetrag war falsch. + +**Jetzt:** Der Fehler ist an der Quelle und im Export behoben. Im neuen Export stimmen +diese Positionen mit den Belegen überein. + +--- + +## 2. Kontenzuordnung 8125 (steuerfreie igL) ↔ 8400/8300 + +**Betraf u. a.:** 202536848, 202536858, 202536910, 202537173, 202537290, 202538011, +202538144, 202538445, 202538446, 202539399 (gehörten auf 8125) sowie +202536841, 202537251, 202537460, 202537543, 202538398 (gehörten auf 8400/8300) + +Zwei Ursachen: + +1. Der Export ermittelte die Steuerbehandlung aus dem **heutigen** Kundenstammsatz statt + aus der tatsächlichen Rechnungsstellung. Hatte ein Berater seine USt-ID nach dem Kauf + wieder entfernt, buchte der Export die (korrekt steuerfrei ausgestellte) Rechnung + fälschlich auf 8400 — und umgekehrt. +2. Hinterlegte USt-IDs wurden **nicht validiert**: Auch deutsche USt-IDs, offensichtliche + Platzhalter (z. B. „DE123456789") und formal ungültige Nummern führten zur + igL-Buchung auf 8125. + +**Jetzt:** +- Maßgeblich für die Kontenzuordnung ist, **wie die Rechnung tatsächlich ausgestellt + wurde**: ohne USt verkaufte EU-Lieferungen → 8125 (BU 1); mit USt berechnete + Lieferungen → 8400/8300 nach Steuersatz. Der Export entspricht damit dem Beleg. +- **Deutsche USt-IDs werden systemweit nicht mehr als Grundlage für steuerfreie + Lieferungen akzeptiert** (weder bei der Eingabe noch im Export). +- Die USt-ID wird **bei jeder Bestellung erneut live über die EU-Datenbank (VIES) + geprüft**. Ist sie ungültig oder abgelaufen, wird die Bestellung automatisch **mit + Umsatzsteuer** berechnet und der Kunde darauf hingewiesen. Der Fall „einmal validiert, + dauerhaft steuerfrei trotz abgelaufener ID" (z. B. ESY9284953M, validiert 2023) kann + damit nicht mehr auftreten. + +--- + +## 3. Doppelt vergebene Rechnungsnummern + +**Betraf:** 202537208, 202537572, 202538182, 202538332 + +Diese vier Nummern wurden im Zeitraum tatsächlich **jeweils für zwei verschiedene +Rechnungen** vergeben (technischer Fehler bei zeitgleicher Rechnungserstellung). Im +Export erschienen deshalb unter einer Belegnummer die Positionen beider Rechnungen — +daher die nicht zuordenbaren Beträge. + +**Jetzt:** Die Nummernvergabe ist technisch gegen Doppelvergabe gesichert (für Rechnungen +bereits seit längerem, jetzt auch für Gutschriften, die denselben Nummernkreis nutzen). +Die vier Altfälle bleiben in den Daten bestehen; im neuen Export sind die betroffenen +Positionen weiterhin unter derselben Nummer als getrennte Zeilen erkennbar. Falls für die +Verbuchung eine Aufstellung der jeweils zwei Einzelrechnungen benötigt wird, liefern wir +diese gern nach. + +--- + +## 4. Gutschriften auf Konto 4764 (GS202536995, GS202538597) + +Beide Provisionsgutschriften wurden **ohne Umsatzsteuer** ausgestellt (Empfänger nicht +USt-pflichtig / Ausland). Der Export übergab sie jedoch mit dem Steuerschlüssel für 19 %, +wodurch DATEV rechnerisch die USt herausrechnete (56,70 statt 67,47 bzw. 12,50 statt +14,88). + +**Jetzt:** Der Steuerschlüssel wird aus dem Steuerstatus **zum Zeitpunkt der +Gutschriftserstellung** übernommen — also so, wie er auf dem Beleg ausgewiesen ist. + +--- + +## 5. Stornierte Rechnungen aus 2025 + +**Betraf:** 202536978, 202537144, 202539501 (voll storniert), 202537513 (teilstorniert) + +Diese Stornierungen wurden 2025 außerhalb des Systems abgewickelt und sind dort nicht +als Storno erfasst; der Export enthielt daher die vollen Beträge. Systemseitige +Stornorechnungen gibt es erst seit Anfang 2026 — seither erscheinen Stornos automatisch +als eigene Belegzeilen im Export. + +**Für die Altfälle:** Die Verbuchung im Steuerbüro (Betrag 0 bzw. Teilbetrag) ist +korrekt; hier bitten wir, die Abweichung zum Export einmalig manuell zu berücksichtigen. + +--- + +## 6. Belege außerhalb unseres Nummernkreises + +**Betraf:** 202506145, 202506147 (ggf. weitere, inkl. einzelner Stornorechnungen) + +Diese Rechnungen stammen **nicht aus dem Shopsystem**, sondern aus einem separaten +Rechnungskreislauf des Unternehmens. Sie können und werden im DATEV-Export des Shops +nicht auftauchen und sollten im Abgleich als „extern" gekennzeichnet werden. + +--- + +## Einzelfälle + +- **202539011** („Rechnung liegt uns nicht vor"): Die Rechnung existiert im System + (Positionen 66,22 € zu 7 % und 285,18 € zu 19 %); das PDF wird nachgereicht. +- **Cent-Differenzen (0,01–0,09 €**, z. B. 202537808, 202538011, 202538182): + Rundungsdifferenzen bei der Netto-Aufteilung je Steuersatz; im neuen Export + weitgehend bereinigt, Restdifferenzen im Centbereich können vereinzelt verbleiben. + +--- + +## Zusammenfassung / nächste Schritte + +| Thema | Status | +| --- | --- | +| Beträge > 1.000 € | behoben, neuer Export korrekt | +| Kontenzuordnung 8125/8400/8300 | behoben, folgt jetzt dem Beleg | +| USt-ID-Prüfung | ab sofort Live-Prüfung (VIES) bei jeder Bestellung, keine deutschen USt-IDs | +| Doppelte Rechnungsnummern | Ursache behoben; 4 Altfälle dokumentiert | +| Gutschriften 4764 | behoben, Steuerschlüssel laut Beleg | +| Stornos 2025 | Altfälle: bitte manuell berücksichtigen; ab 2026 automatisch im Export | +| Externe Belege | nicht Teil des Shop-Exports, als „extern" markieren | + +Die **korrigierten DATEV-Exporte für 08/2025 und 09/2025** werden nach Einspielen der +Änderungen neu generiert und bereitgestellt. Bei Rückfragen zu einzelnen Belegen liefern +wir gern Detailauswertungen nach. diff --git a/dev/2026-07-17-steuern/UMSETZUNG-fixes.md b/dev/2026-07-17-steuern/UMSETZUNG-fixes.md new file mode 100644 index 00000000..dcd3a314 --- /dev/null +++ b/dev/2026-07-17-steuern/UMSETZUNG-fixes.md @@ -0,0 +1,181 @@ +# Steuerberater-Abgleich 08+09/2025 — Analyse & Umsetzung der Fixes + +**Datum:** 17.07.2026 +**Anlass:** Korrektur-CSVs des Steuerberaters (`Abgleich 08._09.2025-Konto-*.csv` in diesem Ordner) zum DATEV-Export aus `admin/payments/taxadvisor`. +**Betroffene Exporte:** `datev_exports` #9 (08/2025) und #10 (09/2025), generiert am 08.05.2026. + +--- + +## Lesehilfe zu den Abgleich-CSVs + +Die Spalte **„Betrag Test"** des Steuerberaters ist **nicht** unser Exportbetrag, sondern der +Saldo auf dem Erlöskonto **nach DATEV-Steuerautomatik**: Wir exportieren Bruttobeträge mit +BU-Schlüssel (9 = 19 %, 8 = 7 %), DATEV rechnet die USt automatisch heraus. + +> Beispiel: Export 277,92 € brutto (BU 9) → 233,55 € netto auf 8400 = „Betrag Test". + +Mit diesem Schlüssel lassen sich fast alle gemeldeten Zeilen exakt nachvollziehen. + +--- + +## Befund 1: Beträge ≥ 1.000 € massiv zu niedrig (kritisch) + +**Gemeldete Fälle:** 202536817 (1.434,71 statt 230,28), 202536968 (1.044,69 statt 167,67), 202537532 (1.075,04 statt 172,55) + +**Ursache:** `ShoppingOrder::makeTaxSplit()` speicherte `net_split`/`tax_split` mit +`number_format($value, 2)` — also **mit Tausendertrennzeichen** (`"1,434.70"`). +`DatevExportService::parseNumber()` machte daraus per `str_replace(',', '.')` den String +`"1.434.70"` → `floatval()` = **1,43 €**. Jede Rechnung mit ≥ 1.000 € Netto pro Steuersatz +war im Export um den Faktor ~1000 zu niedrig. + +**Fix:** +- `app/Services/DatevExportService.php` → `parseNumber()` erkennt jetzt US-Format + (`1,434.70`), deutsches Format (`1.434,70`) und reine Tausendertrenner (`1,434`) korrekt. + Nötig, weil die **Altdaten in der DB** das fehlerhafte Format behalten. +- `app/Models/ShoppingOrder.php` → `makeTaxSplit()` und `makeHomepartyTaxSplit()` schreiben + neu mit `number_format($value, 2, '.', '')` (ohne Tausendertrenner). + +--- + +## Befund 2: Falsche Kontenzuordnung 8125 (igL) ↔ 8400/8300 + +**Gemeldete Fälle (Auswahl):** 202536848, 202536858, 202536910, 202537173, 202537290, +202538011, 202538144, 202538445/446, 202539399 (gehörten auf 8125, standen auf 8400) — +umgekehrt 202536841, 202537251, 202537460, 202537543, 202538398 (standen auf 8125, gehörten auf 8400/8300). + +**Ursachen (mehrere):** + +1. **Export nutzte den aktuellen Account-Zustand statt des Rechnungszustands.** + Die betroffenen Berater (z. B. User 781, 850, 974) hatten ihre USt-ID nach dem Kauf + wieder gelöscht (`reverse_charge_delete` leert alle Felder). Die Rechnungen wurden + damals korrekt **ohne USt** (igL) ausgestellt, der Export fand aber keine USt-ID mehr + und buchte auf 8400. +2. **Keinerlei Validierung der USt-ID:** `hasValidUstid` prüfte nur „nicht leer". + Dadurch lösten auch **deutsche** USt-IDs (202536841: `DE296797691`), offensichtliche + Dummy-IDs (202538398: `DE123456789`) und formal ungültige Werte + (202537460: `53618009` — gar kein USt-ID-Format) eine igL-Buchung auf 8125 aus. +3. **Abgelaufene/ungültige IDs:** Die VIES-Prüfung lief nur **einmalig bei der Eingabe** + (202537251: `ESY9284953M`, validiert 08/2023, laut StB inzwischen ungültig). + +**Datenlage als Beleg:** In 08+09/2025 hat **jede** DE-Bestellung ein `tax_split`; +EU-Bestellungen **ohne** `tax_split` sind exakt die steuerfrei verkauften (AT: 71, ES: 14). + +**Fix:** +- `app/Services/DatevExportService.php` → `determineRevenueAccount()`: Maßgeblich ist + jetzt, **wie die Rechnung tatsächlich ausgestellt wurde**: + - EU-Bestellung **ohne** `tax_split` (= ohne USt verkauft) → 8125 / BU 1 (igL) — + unabhängig vom heutigen Account-Zustand. + - EU-Bestellung **mit** `tax_split` (= mit USt berechnet) → 8400/8300 nach Steuersatz, + nie 8125. + - Drittland unverändert 8120 / BU 11. +- `resolveEuUstid()` verwirft deutsche und formal unplausible USt-IDs (neuer zentraler + `App\Services\VatIdService`). Fehlt bei einer igL-Zeile die USt-ID, erscheint wie bisher + eine Validierungs-Warnung im Export (`validation_summary`). + +--- + +## Befund 3: „Betrag fehlerhaft" durch doppelte Rechnungsnummern + +**Gemeldete Fälle:** 202537208, 202537572, 202538182, 202538332 — exakt die vier Nummern, +die in 08+09/2025 **doppelt vergeben** wurden (je zwei verschiedene Rechnungen/Bestellungen). +Der StB sah unter einer Belegnummer die Summe zweier Rechnungen. + +**Ursache:** Historisches Race bei der Nummernvergabe (Zähler-Setting `invoice-number`). +Für **Rechnungen** ist das seit `Invoice::makeNextInvoiceNumber()` behoben +(`DB::transaction` + `lockForUpdate`). **Gutschriften** nutzten aber denselben Zähler +weiterhin **ungesichert**: `CreditRepository::create()` las die Nummer (plain read) und +zählte erst viel später in `finishUserCredit()` hoch — dazwischen konnten parallele Läufe +dieselbe Nummer ziehen. Folge in den Bestandsdaten: 38 Gutschriften teilen sich ihre +laufende Nummer mit einer Rechnung. + +**Fix:** +- `app/Services/Credit.php` → `makeNextCreditNumber()` delegiert an + `Invoice::makeNextInvoiceNumber()` (atomar, gelockt). +- `app/Repositories/CreditRepository.php` → Nummer wird direkt bei der Erstellung atomar + reserviert; das nachträgliche Hochzählen in `finishUserCredit()` entfällt. + +Bestehende Duplikate in den Altdaten bleiben unverändert (nicht rückwirkend korrigierbar). + +--- + +## Befund 4: Gutschriften auf 4764 mit falschem BU-Schlüssel + +**Gemeldete Fälle:** GS202536995 (67,47 statt 56,70), GS202538597 (14,88 statt 12,50) + +**Ursache:** Beide Gutschriften wurden mit `taxable = 3` (nicht USt-pflichtig / Ausland) +ausgestellt — der Beleg weist **keine USt** aus. Der Export leitete den BU-Schlüssel aber +vom **aktuellen** Account-Status ab und exportierte BU 9 (19 %) → DATEV rechnete fälschlich +19 % aus dem steuerfreien Betrag heraus. + +**Fix:** +- `app/Services/DatevExportService.php` → `determineCommissionTaxStatus()` nutzt jetzt den + `taxable`-Snapshot der Gutschrift (1 = BU 9, 2 = Kleinunternehmer BU 50, 3 = Ausland → + Reverse Charge BU 94 bei EU). Nur Alt-Gutschriften ohne Snapshot (`taxable = 0`) fallen + auf die Account-Logik zurück. Der Brutto-Aufschlag nutzt den in der Gutschrift + gespeicherten `tax_rate`. + +--- + +## Befund 5: USt-ID-Prüfung nur einmalig (Anforderung Kevin) + +**Anforderung:** USt-ID bei **jeder Verwendung** prüfen (v. a. im Checkout); bei ungültiger +ID Hinweis anzeigen und mit USt berechnen; **deutsche USt-IDs nie anerkennen**. + +**Umsetzung — neuer zentraler Service `app/Services/VatIdService.php`:** +- `normalize()`, `isPlausibleFormat()` (EU-Länderpräfix + Nummernteil), + `qualifiesForReverseCharge()` (Format ok **und** nicht `DE...`), + `checkVies()` (SOAP gegen `ec.europa.eu` VIES, Timeout konfigurierbar), + `checkViesCached()` (24 h Cache; VIES-Ausfall nur 10 Min. gecacht). +- **Eingabe im Account** (`UserRepository::reverse_charge_activate`): + nutzt den Service; deutsche USt-IDs → eigene Fehlermeldung + (`msg.VATID_german_not_allowed`, in de/en/es/fr ergänzt). SSL-Verifikation ist jetzt + aktiv (vorher deaktiviert). +- **Checkout** (`UserService::performUserTaxShippingCountry`): Wenn Reverse-Charge greifen + würde, wird die USt-ID live (gecacht) geprüft: + - **ungültig / DE / Format falsch** → Reverse-Charge-Status wird entzogen + (`reverse_charge = 0`, `reverse_charge_valid = null`; die USt-ID selbst bleibt zur + Neu-Validierung erhalten), Growl-Hinweis + `msg.VATID_no_longer_valid_taxes_applied`, Bestellung läuft **mit USt** weiter. + - **VIES nicht erreichbar** → gespeicherter Status gilt (Checkout wird nie blockiert), + Log-Warnung. +- **Konfiguration:** `services.vies.enabled` (`VIES_ENABLED`, Default `true`) und + `services.vies.timeout` (`VIES_TIMEOUT`, Default 10 s). In `phpunit.xml` deaktiviert. + +--- + +## Nicht im Code fixbar / offene Punkte + +| Punkt | Status | +| --- | --- | +| **202506145 / 202506147**: existieren nicht in `user_invoices` — stammen aus einem **fremden Nummernkreis** des Kunden (dort werden teils eigene Rechnungen + Stornorechnungen erstellt) | Im Abgleich ignorieren und als „extern" markieren (Vorgabe Kevin) | +| **Stornos 2025** (202536978, 202537144, 202537513 teilweise, 202539501): im System nicht als Storno erfasst — Stornorechnungen (`cancellation = 1`) existieren erst ab 01/2026 | Manuelle Abstimmung mit dem StB / Datenpflege | +| **202535876**: Juli-Rechnung, Gutschrift im September — monatsübergreifende Korrekturen kennt der Export konzeptionell nicht | Offen, bei Bedarf separates Konzept | +| **202539011**: „Rechnung liegt uns nicht vor" — Daten sind im System vorhanden (66,22 € + 285,18 €) | PDF an StB nachliefern | +| **Exporte 08+09/2025 neu generieren**, sobald die Fixes deployed sind | To-do nach Merge | + +--- + +## Tests + +- `tests/Unit/Services/DatevExportServiceTest.php` — erweitert: Tausendertrenner-Parsing, + igL-Semantik (`soldTaxFree`), Ablehnung deutscher/unplausibler USt-IDs, + `taxable`-Snapshot-Logik der Gutschriften. +- `tests/Unit/Services/VatIdServiceTest.php` — **neu**: Normalisierung, Formatprüfung, + DE-Ablehnung, VIES-Verhalten (deaktiviert/unplausibel). +- `tests/Feature/CheckoutVatIdRevalidationTest.php` — **neu**: 6 Checkout-Szenarien + (VIES ok / ungültig / ausgefallen, DE-ID, Format-Müll, Ländercode-Mismatch). + +Alle 63 betroffenen Tests grün; `./vendor/bin/pint` sauber. Vorbestehende, unabhängige +Testfehler (`InvoiceServiceTest`, `tests/Unit/BusinessPlan/*`, `makeUser()`-Kollision der +Gesamtsuite) bestehen unverändert auch auf dem Stand vor diesen Änderungen. + +## Geänderte Dateien + +- `app/Services/DatevExportService.php` — parseNumber, Kontenlogik, USt-ID-Filter, Gutschrift-BU +- `app/Services/VatIdService.php` — **neu**, zentrale USt-ID-Prüfung +- `app/Services/UserService.php` — Live-Prüfung im Checkout + Entzug + Hinweis +- `app/Services/Credit.php`, `app/Repositories/CreditRepository.php` — atomare Nummernvergabe +- `app/Repositories/UserRepository.php` — VIES via Service, DE-Ablehnung bei Eingabe +- `app/Models/ShoppingOrder.php` — number_format ohne Tausendertrenner +- `config/services.php`, `phpunit.xml` — VIES-Konfiguration +- `resources/lang/{de,en,es,fr}/msg.php` — neue Meldungen diff --git a/dev/2026-07-22/Statistiken kontrolliert.pdf b/dev/2026-07-22/Statistiken kontrolliert.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9e310a7e1eff9e72e59f71891e03e9943b8f4f1c GIT binary patch literal 1506944 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

    bJ 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

    uw(6K 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

    )|S{k>R3k|9J${3-r9<+(%bxafCqLnVpmH_>2c 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

    9sG_q}?D&tiR%1!(h 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

    +y5 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

    e#RF!-B%PwX@02KTmJxz zWZGqT@lStWJZWz-hHWt(gpwrcr5x3m{e_J9Q~z!@^Jca! zP|TTPa|rsQ7sY*G5Zvtbty7+%cgPn640;FnanKPk)Sh~vf+SusJn8iYqy@8T0`v0p z492u_hz!BLVmP$lz)kHUp1=`}VP+hrJAIdxs!0mrr{taVNOTCy>1#cD`M}_{?8op7 zjc-#RL9mptBd~4G$6wOY(x^8cS0t~+Lx46<2=wNBARr;To~X460hPM8k%|)&`~;lq zi)Ps@*enGYQbxd=a-ncrELEg2Tm0eQ2{szXs8sE89IQKlJEB#ur*JsQPm;i>)b6r% zI!uSRP^qRQr+A`;To?r6tT3q6w;gmPFlcLMX^1>F;*%`UD^we~C>lxtPa*C;dS}Mg`xX}`v9mo6dh6OMKD=N0wN0Ekt6YvGs(2i>YtC}q zPG-#+Dxw-;-c!G}wRtc4;iipss{h{I>)OL=4pw z-2c_T0W{O2H-mKr0w?C|{v`Jc%m&2l&XtOP<&!5li}1*;!clAMj0;lfROy#|v$!D^ zDkMz7;TV3BH#E%ujUJ{|HV7UfU2MPV%E%gANhP~}xlfxl#1N6@5}Av$6L?(x~5=NCs!cadZlbf>kgr# z(DjYL;WK+-SjIC1N0VgE*&h zoR7x$`~4Z7i&e~*+l&3qO4=!&1=>E9)t-)*UlbroYJ<5J*cNPhe*}fU{N}u0+5AHx zFvvgb0Ht}0XKp?Ag$kA(m5r4Y;`6+Inn+gMX-N{4vlhoHTI%EA;DB^|A37bkldd8T z1v79t^^`~<8f@M&%L?=ldXxqzJz0awh9;hdHfeVF@@$WJJ-G0zL_h}kXC2~&?J%#o z<2=Qs#5RE2yt*(AO@2;?J*0zEg!o2?2W;U2%w;#98Gd#u&N+|s+TSyQ6A!ETV?Zop zWIHBEoO+jlI~e5m)f&PZgkZUu%u=~;O7^Hs_`?aKu}rG=0wYVq$i)(V_1p4DOB~t! zVE9>(1Ve~_H!5=M^q$P**Gv@R{&zcU6AIwV2(8u;g*PEA06krJoO;1!s5&&OabY*6 z1!UIfgOD4=0faVPxw2vhFapVKn238X!E9?Qn-U)z3YKC)2)wFkYpE$Jp0iI1o_k;Q zuShQQe+~Cv9b>RrLSt@p8#G$%QaApb>Z;|Knh3WIXJIB@LQGaU>Y_WGO

    EpQ~`r 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�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%0D{o3 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%0A9D<+Zny)jz z{)9U(0laweWMt${@2rlQS zu1g|@oDI#4+!PB>sZbst8!xm4!CpDOcdrtak;+TG=t6>ms-|d_5aOC?zov{lXY$VE zW5lB^dsM%ANCz6F(f5NmI4lcS?nlWXiGHqN33N@jVXA_v@NmRSHA)+J1+X-K5>CVb zxP#>YO*t0mk%M?^DNLu59jO;;rP9DkfNA0-Yc?4Q^*I63BAyry7HSB)86iSCDba8^ zs+~SX9*bGh+UXOxbb^b7E`ius*kpGSBBpy31E^MCc{~)|{68gSVkCRMA*! zY}1_Ff*_PtTjA$$M>$K2DD|JlLdZ0H?;gO(%!NyjxOBR4G9ne z1ZX6`wlzv6GylX`PrEodX_|AK2oepc&s|>gjpl6oVd#>ctg> zy2B!y4{2Sgkzz)+sru)_j?@fi@78$Y;lyd(EkF)Qml>xD!P+eX{TpJ#nqE}Qb}qi%Q|4MP>;s$b}L5Z!C+^y&5pBnskKO^5 zR7!YoLGeB(G6d7RoX;CRq!9FDW|gB?|H21M${8y(D046LR6JtwnElC;2tNw`);Js} zWzYhgUZSKS&V)eSWdwEQc89q3c3@;N!KU@JL_u8C3ih28T@xzXtS}j}k!`b>;YiT9 z73v872+#v>+dq@c5h}EPTaq3nl&9VcUaAPY)gd+)BSAi#De--OdnpjTm`UZ4zOiA5 zMI}WUe$JB#2jkINo2%K(N$@auJ=$-EKIZK=O8AoAe(pU3Cy=#6!Q(eMwvy>1w~wZk z79%`vdxvrNU#Ah!ONvSkZAwrgOIVCCs-RZk11!2TsWWh7BdUk9jf}r^MA_ z<~P7JpF-3PNLXgD+ZikZx;U-YVAbR-trinGrzx=>*ZKxv?B0Sm7WJH{&}@hpPiM8F zowH~;@&D!q8E*x^|7oD+nv04|f%*b6eo5UG&ZY1ZT1FJ@+5!NlHpR;x$MyTf3GT>W ztI1ZW_JP>o4{{N)_CvXLOS}^9d0y6PZaownx@CNb2AsRmteJE^Z*Pc~I}spQ8+`;XAilmF`5}Pt!X$u?JFEAjN!uJ&}7% z`Lg0{Fe8X&J~`t=gP;y+=!I#39D|~PwV%XkKAj7+K!H>fwFJF};|RTq!m&k`>MSkY z4I0eD!BT+JuLSyyWpHMlA#wf7?eru{E!g{Zq!`dG`<+*cfWm6e%cmGz?zsXr~5u>Hd(k%G%SsAo1E5DDiu=~ub|O#xt_3D z+|Jvqx!QlMGFTt88s8sL;v{H!f9p*D0i3%Wl_~7QWw<$nVsla7(AYELSTBm9lls3cu<2Ili7s+K^em%%c0h)}r=x`Sj9%rSi z#)0W+LV+z1T3!5XccFd&B&bEOfLX?F#_It3=e->NPkJ!LmsK729$h|&6Ist0%)~hG zH^ATopVQ;K6d|ki;rP#qnVw7zW0_Gg-9OaeA+6TT0MOc$&3SePA{O6EAkX$nPxAkE z*?e~?;cl~RPxd)-;AiIPE6`uV|6-qsrP5>6-q>+>`CRs{PHnX1gJ`qbZgO1K$AIXv z+F^DDoWN%$fj<^*j@T+U@_BtcwI2__RgS0sNkXA(mMDzc4A~q$$AOi=q?{MUNsLgz zW)dWZ%G8$+-vMb()$pK~!y^U`FZL!7)$|0bs1q+%So3(|eu9SAZylE7o7_|^a*kGs zrIAwNC>slO5_ETgo)pS84?WzbrPJ5MdmE zs3E*Aq?PqV6oXU^=>galn$WrWx<&4eaF_B#rLX=1;abmwQI&59pAk4H_NQkH#{h}; zrWY>IyfuLia1Hng+g>_RCs$*&T>izb>^y9>>wL{dV>}E*)F8m{)46$p3yi_7GO4MS z2NYVbBb^5vK10&pk(VnPQpnzUgEWq+Qt1@iuJ_Jdoo57$a0BM&BhJ**?VrSZd~eEW zGGO7**xLM5Ni2SY-u};c$HhtrRSpa}`IdQmFFbd0^2OES+XCLdv9N5h592IUSok!< zKGRrEhiTE8G1$MYSLyLjrWG>t_jXX(_T#b1Foc^#MuWJiKtGjL`47i!=x$CLQ|l@olcmsd}z-5zwJ?h`iGZ&n*8gvl(|O>e-~g09;rchuhFpjIEk zwnFlSyPuVzMV(l&X470(+X>4*UU1&6eFsN3LnoO^E(S&j#zqvb{dn!xv0EumOFL-b{l#76NQ(p=E^9SmG0rS%d7G7zWrq zcrej*>x{9PZet<_Ip?blLzrzbS$TdKeQ;S^+*{TIu%YH%1REM@6k%X}N|N3Xhtq?q zuE{!H0I&OrlEZ5Mp8L`;Iu`_onOIwE>b&Nn#=HIwZa8Bb*Q@T%9?b2buhX(^xIA7o zdJU0PWgq_RumWEnS7W%^?oPdEXtbPGqZP1{3`7d{4vI4DdL-5wuW+7sI2MP=b9_4A zy9J@+FTGxFieuU|o9%0g@Hib=5Vl0b7wH-i)Xz7oy(*Z`E1-nDwI{Bjxh(|=erR(? zT8PjKJ?PkA)#0BzhoRgJC(W4T)~Ia8Xp*9i)f<-5pHui?n{Uc z@I^_L!AR$UsRCAzA|ld&X1RF4WWvF^R%t4jV0lp+l4c;g1Ab`kJIC|7HfT!>{xfg` zcp#+<_U02d0FzdJMBdfCP#Oyca8QQSaL5Hc6LRbi&+M58eKGiYI~u2^rM)uxcYrK> z*y)pAH*@x;+bk*@L2v{(xqfMXt>>5?FW=`T9#DlCzf^Xg9>NL&g0E3rx&EIU9Z6vGA5C%Gv z)!bh&->U~sl^9y(hoC%5iN&JyLpl7Q8KuaL$oo}N{>&G5z{7uo6NVb$(D=k9lL(l+ zK2~YsQ;O^;G=zzU2FEJZn@)~TLetI_)Oi=!?*poWS)^8A5_@hiV?~3#+xsh{+#;Q| zw;Pxf&NMRmA3Y!%`ysr!j)q)5n<_@E9RP0e@i)9*4`LJZKcB;wbSsw z#9f4O?OSfWefsSIh-U~mJjM@ub%2`3a8C@~w`jvnCZA?%AoQAs#BAp6d_8TjR-NO^ z=yO!btJP%lZoW=VL(~{|=>7VqNmX96`NxT4BqiC))g3y5XVzENQ8Si(L^F$_Vz~@L zleYj-TOiF*_tjE-p&c zZ!K6BtYPR$VkhuQ988&FUhpQsmWT{rvdt>eB|~?!%u8{eVygGKp<9rWZzwmT(wOIV zk*dUr?dkICsAoPQ1Ru= zZd*Umhkd6&Q((y&`RgPVi!}w;I0^o76rs6stjTjbPposV zOgLi_P9%h6vFQz#K#-c+kQ-)vW>i%52Ba-1o7}13@ zjB^3P$CL(j;8VkhULkEUGr1?1w3dr89gQ!`{+;M-Vln9O@nL2pNWSL%p-hY1{ls|X zLeELLmch-X0TINI;i)9BBC-;ax=SbxYkW2=Wf^fkSsuE;LN%v+>!awDlPp4un zU|6aNscd3&gA_vph87USrXy#Fkl?!q#eg{0Mma3k167hErYjM6Sb9bFXJz z=J#|*U}abo5n-@Z7kiCI=%BuiDVH-?2`!lyhbK=xVF{yoel)Y({+`;-}>pQl3p8rZOCCMsdnByM|C zALZkw9;u`fQeRDQ;?a<0g*=1`!rYLaKNbIt$0QU&k|taA6J}wp&;DzcMYEiM%Dj5T zR==4KV;ek-O!*fbOi{ssrxVLmcm$>rLZ$^SSXAOac`oFiJjb^CtLuw@=|89MXG&DH<M?D1!ip^-Om~eAd2=;1nLG@*Hng!{fB?? znY{BxXo0)QJJGH@E5Pj8$v^m|#_H5Sp(QNdkqr@X+3pJ6>_wgLIACp%VSM6vW-2lx zuksEXqAl?Tt9&{4oDi9Otkx~**LzWC-y5{wk1g6oC!N7^XD6P7BD7Kzl(e>c7Lql{ zaKXm>yGlMUZ*mdz9n_2RPcYLTNsZ%+=Sd=na!FalD~Ba~w%!6)&=2bj>vA#$VyknK zMUqQ8ICN*TL!96SkKLletX{aLRGwu&f&3uJNWO@8{GN<`d`V4F_X6`l=0ScO*ho|$ z1gCi2#!|L- zc|^#NyK2tGZ%nEht=7T#=g$?D?O{-svmBZ{C2 zQ=walD+6~dL}2AVk{C_88TZD42)0WFz;U2h-N<1&wc+hds=S}}f5@cQdC$SsvL# z-*GFj<%8ogFr|Djx`rQIMwlOIG~`Bb0;Kjjmo8f#-X4ac4hA8?_9#HR3}bXjy{*wL z0$VrC6+R%=?NKC+9UNtQ(*5mq9|qhOYhAwYfSqz#sd9TK3eqjk6DaR>Hz2+G)$I$~ zs%Qtos7qn()I+z+Ur=ZC{DvooK;#nbyj?H1V=DcEw6OC3*5OopN$Tk}I?xz;3usVV zlQ0atkDq>sB_)(nfGvb+LMV4__kwp>Nkj;B=|G5*n1#|`gxPmnKBP(fY$TD!Drb_y zHWfCQ0b6iwl>(;G@lFA#D$V-jZ#$eUPS*XsqSA%~`;Xz- z9hDYyjksHSup~GTWUwH5mLyWgmovN0J%aQr*2@`&k-`*K?AOCJn8PgBr|^r>6*ZQq zOYKA_L*8hyO7v1)O z?%M>8?iQ(|J4rt=pW2f$Bmrbz7ZDGEGhowuzUm4^q$?#t&@8n1&o-Tg4&_D25~E}o zQ!x&4X8?G}#^ZqqDA4i=km7Y&kh@;*wU{S%l*&{q;*Xa>O+^u5BYihyOIwFOXEM2* zPlv(zhZE1<$J0w<(O473m|G@+pSxI0$3J_8rO8>c=$PR1xK&f3(haaCPSOQB5$Srk z!w~x`)dsLSW`5~$;x0C;<>(G*GPphDr03Es!?ZlAkS3x%40w!Y-(=_jEN>MuvhkJ0 z*4Uljo}!Pez=DR7yRpRPl^Ni`1Ur}WWlpb0?5+zo!`~ zdYGrf;a9$oU!1L1S}$(Mv#}muB6*rOUEg2j9(PSpZ-lmiZn-5A)>3wlABV(_grpF8 zt*IZzKjjxq^aN?rMd5J97uSYK7e5DR84C5g^E0c+U=vFWD(Q&*Y1(kXegnt%_*i-- zx8%t%-NsiLnl0ol|Cb0DkNnuFFZ1=a+y7Grs}&nC-^s_fQg`w@SgAFU)|4E7E(8V% z@H$?*>ff#a$NF=vmfLSM8EiA#!4Wb?2Pcn+t<4 zGQD@JzZ6e#JOyA|(uHRh>=A^sS}k&Ah(SinWHWu;S@+!fwB`Mt-`=QxGa_H-d$O4y zYC273*5SUsZAy__kzx@$N2JQ8j*aRR)lNE7VnK;q}>A2zN$geJw$WRtC*7(^GZFhW8Bj zlgJ@EoWoRz;C_Pw2XKvlW(ir=E=yy$TK-|DH~w!T$4hFcBZy^)^lvlEBNj>NKfhH5roqMpEjL??b-q5^ zHQ$)ZZMa@+u3hznTKug&pq3boY>-i7A-c3it>QQ3EFOhNj(tQiWld9_ymrQ}Y+dHQ z7Y^xSyw!W}>_1_))X=E2JgGh4;hai+LSyQ|=Aph9r_5@*6`cyKhrU}nwT463Z?fK? z<6f#tjXrauE(hmt?qhsQYX>UphLiJVXd00q=Ow)Br~izH?tPR#WXWrA;q0y4vs=*( z^`Ax`(<0x+)Mg2|{u=#*P%Pp@Uh`$^**6+>g37vCC>Xa4f(WD-&O=JZz=3`pfTDRO zx=D4<{?GQqvzF&)S3Ut@X`YKoD7KZkvxRNM5dcZ}9Z6dARDVZcYXX8^8}{rmejBqs z5J?8lj+CqiIDpzq15WX8^tz=lp?IghfPWB(nYjWHvx#(8-)(;%?VstMqrTTYpJkQp zC{)zp`bm@%JK(4hbki#YQ@_fEEmu3-`HAD@x62JNzhaQ!#9J|7DIlzgp|{Ii9Hri2 zjVRudp)K>snT#HFebgWxeKMJ>D$g>@@qD{*-E=zhg3Uf!k@M=1%jRiNDyHL+exG`O z8N2y5`RO3Pb6a=wh*P}08b<5$ilIrGKJpk*2$uj-IT?hMk@g>*u;G=Mv0(5L4_b>5 zUg?b6@5rEupykH+V@jczxo+Wc>lykJQ@B;aUvZhb@DMK=9LA9H`Cesmfdc_1cMKqu zXzf&m&JPV3-aX~j3;J~%J^>EmFo~k;REIW2w0Kec;LpjPHi+kB?+fBS^zYzfczv!Iq3|LS`VCBfG*C!O!y_fDzSfPWh2 zVcT4Sn|$$ELVgb}VI7^{68F~#f=2BR%r+r^Sl87mG+69U8#QxF9JFOtuEj?j_(uRE z&-P4v`yO}G&4{G6oAX{c6@S#>K6;LVWoq`IqG>B6Dn_aGJ4-}<)-Gn}S09B>ylbWY z$Q7>8K^OGVO%^l?B6+da|9pu}t@&15!!#l@1`!hIe&?XNYrrHA&*&tXCvNM%$BdOx zQyR%s#?hBlC266c^zX4tA#5Fj;h_|;aGG=)2i}HYgMOa-1_`x;xNcz%Nsm#PobGATrsCYy`*U#{&A0Hv) zN6ye8jCMYm6sq8UQ=w*_84k|mch~7gkE#NhIWAWgv;IKJQ78URk@%* zsdR{VmMBP_G9}B?Fw3Yl4HFHA_48z2X@~8oVa#qpv2wAxGzn(SS4mG>jvkh7 z!cj)&j%Q`TlnE|olsn#;W<1>tWD35Qpn6!gefdGq zVA_92K#C(O$wCyt6yxr}qX=TWF6~W6Egf!*@GAi<252`tWqDE7@J%TVU+jKQpo~Sh z>0zLw2ooU_=!g3MO-MO*CME*U*04y3xs0RSjuH~+&^d%dryC-NN%1NDr1smyH`YWsjmw%zXfTlp>>{YttInFH_>)5UX?(jh`X80I>+TfabJzxQK)V z^1@VqN$5JG^}nw_#OXw|BcstFEsE!O^of6}jutA2q!tOBviwe$YR@vxnqE4AH0OFO z=>Uhs%OqC)m83$qCR9r&(621+0Ynf2Z|FuALg`zewEMA~Cm7ATY*}f+B3xmbN>-)$ z9*!{}T^Xl-t|A#`;KZE=uVoZZFau2*WY`M*L&e%RpKi2zkmW;e7$qc2_%(Yj4r z{S+Z+529I77>QU)@+t{DH5kk$_a{iAwnPcnqz#)W3lcF{$s{Qdh)B9V!H;0Z=BI@( zTWl0k5^|i{^n7XuAr4ceg0l8OinPB%zDQ4n5U}e}qlBHOcQ}~|DG6&A`T5<<1(Z^< z9LBOtiT>3odhm##nH5Fbd78B-$max{^%a|pk=M9D+k=WIOn{82wiyjp{>@lH{u2?J zBzjferAWvB?mkV7g8_)IrPsg&L?Cj)kW#`>g;iLvmkgDYOrALMNUC!{Gr=xpO=>h) zEiHh@N#~6qEJ{X5wH9g z_of*J`5p>7A_e?>dx!X0ofFO9Dew?#Cy+#N{t_V0J5Wnp{7kiZanYc9bF|zE*zLCj z$?oPbgu-tH9=|^sm+-wyGp5<9;MHe6k6@-dc!P!@}BUqbKwwvHJv{ zUaaCyEWdW!$^?#oV5BFEMKuc-SqgJg#v$sUQXA;ypOH}MmI($j#AN>l0f)`Sy5x|h z|8Nyl0cjCZFf6kF1_2We@*Q$8%KuOjDv-=*Nl51D|Dwg|d)XdYNG1PR6{RqyR8)l1 zEI?LymSu?d4;SJ0|6mxPab;zpTni##4q*}FnWj6$PU20eK#=TfFk4ZjC?0pYxbKjm zCmG^J@|Vlifwtdkf?IJnV{^9?1HX4*%XzA+xS|^dtmYD%w@Fdj{8e#X>}fPAEJ~;! zdrT$pkEYcgJJbxiS~y-fB#gsZ>E7%g-uJH`AqXLFFC&8r;&~_L%05c75CGEvD*ZQR zSVqD-O3T?++VN5TViUe-;V5G|8X}PBqmE^NBn0Cek=?lc(qp)W#OSd_C5Uhj+>aE- z)^C$Y4ClUpMjnzX4kOjxI;yyyb%&0a`$M)X&$Sihy8w+3c>fntZm`Ua4INE9F@aFF zefO@Jx5~K?YW6>SHrsuk;bqHV-4Y2%$bIkE+Og?+JiI|d8ab)0*o$G77b9wI+|GA% zAiAnlBm*i2?I$q+H!9m#ZBl4*q!{RZP;5WiSU#4oUnZ)9LK&ooV9SdsEj_K&cjx(I z&Go1dd_=N>LmVi3U|WS6``}PkY`;yRZ%POpu#AA@;B_X0LBNmi^YioeyZyW~qe;|- zFzyecF!sX))Osp_y{D826~Y<#bqlR7M~?b(TG_(Pr!`nZA2xv;z8ZoU??3@sHvpXK zni5s_d&JK$ZJxTDkp3PJ;A0Xy-Rkgs03OLaUUBJ9mWdL&B5B}VDb{Ar-JR$?;?8h4 znLId13WNtfZER6&39*`5xKT=5vA$R<<{T=qpLScFFK`axBP*!vsoe$@R}=~$MKP?o=ix@Nzx zNlr+qvov~F8p4u~C2H_klO1MU1yd9t_WyjWeoUZ5E`XJMCEEM8W}hCaf5Y?Okl7{Z z_d&e#Wd_YvkLW{-IPnMfC}mLr)JooeOUA;8W|Sq&G{eo5EGH;2>p{r>v)ZQPqm?K^ zebSZ5kqYn4{#?wglNkK_l%iX#Yl&>rC2vyS3BKkvpNg`~vkWz?zXijOV=KV+H9*_6 z?lLE<9bzgz%B7YkpQF|0dUnE-g}dh3WVPn7Y(;$D&Q(!lGRCHuOk3eF+YhM1F&K=c zfSL^W6b`dBM}W4lBiU;p;W;nC+RD`%&pYLw4?Tw(9d5OU1)3Pd0Cpdzs}0mxKd*K< zlK<|(hV>{uKy~a%-}!&W6JWLd(l%NK$%hPb?#7dEL0~SYVegMLJ*Xg}u~b(3@2?9Z zlId&Sis>)+<3B_G4D!Y6G){KFFOrOkA4>nmh%~aby=g!C;!fz%k>iAz2g74T)$|wvg2{7zfb0K zU7v27n#A?2>bfi%qqn-5SmO8MxvXonsnl#ZMHIi_xfbXeqq90Zt_03*F(x9O<=Gf7 z6fwcEZOaVjUPHzuV7at4_a&^cW^>MUKhw`6SpDe(jkCk}$sgu=CQE{_G(O5goSbz<}W9d95m?UX{d zfn&mIG)N<^K^PQ+%eCb-XA_Eu>v=ZuP-#5_?WyfCg0|6mkM+1784K_B0wlQ#kktL1 z7A@vX*L}P8K61MNKM2q#)%uQS>{g>|=3zzQDrVkF*snB=FmW%IK%U}WKh~-a2k{H~ zLJ>a~$+=T~P`auvoa6FW+EtiL$PvU9|%C6q zR|@ShPUMA(x0U}^tG@lsyB$BIXg7Z9H&%ya*(gzXr7oXWYbI&H<{U;#dH-eWHtsXj zeH>kLLrD$9^WU>7VhT?^MSy3n4F2zKKA0yHXx{im@{ghK)KTM(?S^%I-%1%$rgAU~ z&QOc@keu0%O^2fmK%87}H_-y}(3s@4+(TcZ)%8*rRK-+Y%WvVvnOzWDS z`_mO|m#yMsTL3yE*6tj+WClC!<1DvB`fj>wMNJf3Im_A*9Rhsbt*woR`Vt1}IKgp> ztsxp)ssp2Lz>mYcJCT3T{ykDuW9FR?TNfn?`R8f-SHV;tcf-bd^n8*=obpblnmw(X8wY$4M*^ckER9@X8`^ ziqdVy!)LQ@?tA`5r+xl`j;EWT=L^EVgQ1@Mg#Z2`g{=}Dj; zPQG4*VB7XmA!1}2KkOz!Jp3aw>zMFqFnNJZDC&r3`oThK< z%^L*9>%LwEkz57O_M<9GUf=f4@MmPV1u#Sz^mh|k+9o0h{}U!s9Snj$1-4(lYZ68_S);$mxO=fKa%=t? z=k)XME^-=9Xx6glV@a0EA*@n=FHD*BW_!{;5a<9>h$>2T9=9GZ+LO?xA%0s8!hWLqRajuR3i z7@o0Sb%yC%5O0iBzzc$6~d}Ci0}et<}OmswD8Cu zxiTKqf{Z^XHa*V@N{P{dpj1KMg3Gux{`c9vnLbEX8g9@ToM z`({#kAag{wLDx~fq9o7XW@hJN55EIrS}u`@5=`-{8?C5SFVujliz!m?-aUK4@U~1@ zo6|C?`3Lx;-J@LO)!g4!nxY6<(RR>yf`azuYC8*9j2*`xZ#^iC*ag?$%nN%+z>S3T zZ`ocsxxvRa61Q`S!p~ey$(Gl zr-U~33wbIufWd9-Ua5AN1Gx(xV z25o-7qKf!p8G(;~ZG+oYf=K^IU&v5aIFxrVSM-+8ngB6;{;re<#)(7aq=t;(6nQDX zCEM|Z2lnJ|jKb~;T=C}ndEJ}9L62p2T8yNDoN)RW3D~3`htRNc5Kd43`}hCL*VRL4 z#714Aptj8J8;*L_df?vSx_*vv6TQB8gJisKaL=0$lNOnGBdz{Cm6=_jleP&48TdqB zl?*kle60zi?+`C2aL4;A>L;Sqt+)Qy28`)=$}V*yU1%M@@6M|dOu(2SJYu7OAd3?D zC>fj+o$6^Cu#JxPHjb*4&u}$fc7D}9D={wCFhtK?%KGuoPMl0WmWp3CJ_H1V?$;33 zdMytJkyccufh_86eBmjpysb-4?O4}Qn&5K$b`&XsbYrGL*mv;o#`R#DuGwAWY7bmKQN z7N>&e?fAR$YO|2w8S@sLAXXep`OR7@hKbKONyuo*F}E+xG0`Rg>~?stKu?MgExBW+ zAljg4kMEl*S6sMZVAad*fKnG$C6W2)Qq=E^bSfc_>k^w7!T|fpgS0x)Na{A%tC1ms;sBoXx0gGdE3!HK% zRAj83F9}xWwsUTwdn%m;%YWAasS?oxovDfvR7I7oAX}}bi&<;*SuH3O$YiaQYdG=E zcEmr{?FeQS&jEm$$+xGJ3vQR2Q-4Ock7>*gO(RN06RDh5fLY1SZ;KGc{wX3!sYot^ z&*%`C<#V#^iS{ee$+u`7IlAxmOTJ)IB~#C*F?TUZGiN+4JH((|wLWhGC=;yboo0SF z8D1AJlZnzC({~>C(fNVM6sC%XIS3XY-}uS5G?`zKLyu)a_OVbp1yG^J0K$XstMg_e zeTI>~#9B7e9=du}G*E_N(C_3#0 z+>WGjX~{4ikR|YI2@|yxzu7VRB-_>8$3ReS`pYlc(DQZOc1P%v%LM zZew6_-)=Mo2z|3;i%JI>9;))rQqC3%PO7;&s0JvM&|`4HpN(M6{jJ6Hk+GzxAI?|I zJnTE(u6*@oOP$-O)0?oahf#dXSM0B+XAG)ht=B4zs>-VDmO7P&?6xYEA`dHGzxsMBFVO*hAj_>r*-+O_ygJvd zp0moXUnXTPw3XI#trIGC9j|X8(OOkk-cEJYnl7j7S<4CXJf8aRJ-?JpBYgjkxQS0$ zueFxRo|RR09ER|=J$&`JK^vOph(D~A&UikXc};KH^5_EgrV|-Wi@li4T|LN%ye}oQ z+1MNsPbutewZcP{fzXH+n|Tc)7ny9Y)X_)K$$o6+lE9YLonnBn)fdPrzApjjs+57> zjLL}S=qBxQTE7Nil-C$>{?*brzW}_FnB&@w(uSLv@%dj$Ei*2iXcb4A$<^Dx%G$rN z0w@4{p2vfmJ#thWLvCpAuHm3BdPK%BFq05FF=!uao1F`{f!4kKKbp=mAUSQ?Uvg`` zPSW$hDf$R{18PzwRfq=<-*KJx=xDJE5b)Njdv;p1+W!I?fNke8iGx?)hU-?F`Asdz zuJcasy>&m(A%{+hE#e zWHOn&?;5k{zv3>|%05pG%C9$DocX=Qx?Z{bxiu*(l7E)s%<*~|m?3W9c0CuA!Z2Ez z^rr8;u64}zycazH*#5@{Yj!@s0OZyrrK#I9G#2NIf7_wJUnZGO>#09sN=jS_ST}t4 zee%~K94J=3DN5C&b5lHB#wVkIjo7{b!S33W$*TWnLYZ3CH^h#>H7LAaObZrKxdv`i z?zrCw5cyxO|5bp2+jQt-j~{hhHwI{3GGUGFApJ3ZXCnK)+>m1%0<}V}SdD~H5MkfX{6%cKF@+W&$iuEyq3RKF6rbs5;;tFLW$cy?m6EietjPGxElzgW~ z-!&!y>d=^5pT}qRTCpGE^u{1TCV=S^%bIJWvKW^C>8=9=JpwRhhR@oZZpz)wCeqPF zN+}FR;z@yXa1$D{#VpApFc$bI|KCFS^}h?ngiZk{w}Y=QVVp?C2Z(qR0F&snoWeJz zzvE^wqatOX>U8>G)|6JW-qv+!!fV*sf#k zr&H5=+wX`=Uck9gDg24{l)vAt1%k&5Cr$v=^o;}uGIcn{peg6 zvmKp<&V;)wz|R0M{g8?+SE+X7f45!vSTCNB9(_ho?f?5HgC(%AhxyF=f#007&h%pN z^>d8ZpFa;YaUkNY-48Bfi@2%=K=MF@c%xNsqt--gqkVst`kW1J(F1kjD7C1*;)5wq zGh`FGTfti;7j3vea2DjgGA@XAzhuRBus<9{gMcOh@RqC*$E-Be*KF2&AOzIC0p^!L zM817>{I?BUh(RoeZGEpttGNY;v&okRH;2cRKC=B@g-Xjbe&0@7R(b+b22r2)SJxBY zrAa4=r7GZ8;X#lrgZ@Bly@kbRB8WOf<2UBF(n z12{UtXE7I^hp%kDH@gR8$#nRwc%{l`KV_WAr9rhS76@Km`yJ~foD;bG>zmGutqa55~6QcLn!(|ga zgRJ(|$uemmC5+L;u{-mx*6O;?^TjyTbD5i19!gcF(kCxmMjSxUta6SkM&!Bn3-tI& zJ`m<+>5==rP&S88XK+1AAsCC-#6OkoF~}a(ZB;B=D~}2_qfve8KQ563qo~XW=AYG- z7L3-*_V~H&zh|ivCn+5h=f$W++kkwz+4!T!ZNW)LRo6<|s?*Vnt&QWmH)3U}2Jg)n zC430?WwX^vE!yu6@mSqWL!b>dP55j&%;Is=)2MxACM@DOzsVSf%_bh`^bAasHJBLB zt!3YI3#7EA^<6PZ*@3K@5yx{MzonWi1B@k+Q~9`tCj3Z+C1cXbq*X}89F+Y5S&UbS zybd`PZcSXMh$d)r!{r)!S`E<{j1kWJ<wUo|KRbEJ9d#WZQn=Fu2qDjzdu(pEhH9ag%=SRTh`Fqnm z1$>2k;14j;H1?ma{wb_?XYxthpcY8PEKCDvHU(JL2WaIKdfMu;nxJUDx{a6L>G>6h zEoyinf*h$qnB9gqMSWkE$K`^j5WFs<$}=-YCf%=lLP1$jDMHx*V^Fn1^9jdaEEg0k z(WBPrv41glq{_|nFD1YFkCIRZlmu$rB4FN@A{I=;lq$r0;0YbE;BH1)+mI)22|<*7YtYv%!>kJ;*x5kNv7#CPN>PVn{PC z;}}_Bp8%HQ4Lp{AL3Un@To#wcb?;(@_D2H^n8>!?&|mrL@jwFQ&H~%rHhkva?KWgH zc-(|975;_~+02thw|&29>##zjZV`KZJ)h-=>@{w|Qy0B@O}pup?#U2>F@GILtwG;m zFkDKxZiCA^-`bn5`wC+UfVZk`U1@XON~T>auSLY+C{VYfK68Ld$KKTqW9*PMg`+U7 z`_TZ*`vh4RS&=m;li51$9k2BVow1C<_m6>kLN)!sXl!;g)f@4PPi{~dQzY#IYL(i* zyc{CEKQ_9ujGM`KV)=it$NgmS=ak<*@}mt2#WcRNa*-*J?XsE48vp82H zp%(cQQj4o_oH8b-5y{P1d@$Yi0OutVogN{Q2!AWgoS!4Axsw4Q>xS0$d%;uxj+{pBXEu+r1h<4aU>u{wSSwk6qRyF z+Z`6!0n-r$`Nat9f(5LfM)k0C( zPdF*e=8BjIHzkB}jm*c&$dsafA*LY`gx?oL0BdwAL1K*dUb8&QEXUxlH(+)a&hFDU zpKGqQYFP2EUW^PtjlTVJO}iW`4WWEo5CUA&4RJCDfLKcNPb@v3E{*}j(qKR=wIoa% zm4so@fRr-tNB{H6*Sp|)<$bj1dUOhXa)9p+FdDYT{%lxuUF;@OdMnNu7i*k8@?-lW zWAzYnMsNGK;wbVJ3NWl3phn`zu-r~%^Z#=F0s%;@l5_v?{3YbTk30RMKbj3R0Aw;p z@1Ld2iP2axg~EJx>zWd}*$l&y7K#$ePK71~zT12oW`8wZJi=GWh?@9bjNty-?8-Ip+4pDN4MPbZ&n_YAlA`?bL=1e=wqyLX zVES)zz(t{m=ZbJk*-pV`wx);i;^?48*nQ6D*#1U%Oe9ZEnV5<{a46LunZhY3RS7dX z7vDb6#OaX5hD=I9()(_A#k0LnQTgI4=Xx~e+L_rmbpPaa6a^8fk8KqAN$$w0_vo1$ zcMu~^gkgj%5TcLM;1jg903--fBG*rV2!tbJZi~q8F4zR^HoOVYyVLD zN~D{u8Kq_sT_vp=ymn=3V~i!VtT~}j7{ym@%~~X~x@3K1vcTzhD_HTwWIK?lv#M&F zf|7E|rKLWRB>~^zgl@l+mV8eSLz-;ObkRZjqRmWEjTSOVX=Z^K!&$)McoC#hbDHg} z;&j}p@Yw; zVqAjT83f8R5i+k4GMA$)DYSU{_7jt!yxb-K|GvWb|GWZ`A)}&AwNU?8?I@iLPU~cg z3|eCY)qn*Covd(jO|qZ`c!NDEsD}ED-HWbth~7ynX50V&V+j54V>qL%?J&G0#w132 zUNE%^2)8&~o!u+4Y5Z=t4kK6?PyI(Ri;j-1;wx2{TJrC`H&rif(PgStwScjEHo++*-X$&skeRASr)FdI1w zuq33VW)ty)`AHc?=Ot>5eUm*z!$f4;7VjhdwK^dbqS6BbzSyVJGFE6M8>f990l+RN z0Z3S4eOdU;@l2PQxJ@%4;0Ad4a>+D5ELt80l)h*gdm%_AxJ=u8F1afdAw566p8Mi7b zc7MIB01^o}v{QSazQwRnb$U^jPQ5?@hF%n2+gcl;e-x7~rrv=l#`HVofCD*X{}0+$ zqA(7D9(l@9B7B_@2u^P({J^K6x8f=D>9O1WNOS>nX1Zl zg-D7b80EXBETX;D8bz5RtBHOF5zcUAVQ5wijEo{$ye-QO+LUm%e#pc7-^@oGtj$JgEK->-%&N|xwyC&~w3r6&)h`5d1g04_ zj7Fqqp0FfonpBi5l+Hv1V7rN^lP(Y@hzadc`C;Hl*J7OwP?^GBCOV9-ecZc5jI-D(U}-ZvOi+rYj?>& zt1Nctx4uw4_Ai9Lhs&kSz8IJa1{w`RNR|k7i&)M#2*=6!DXmKWYNp6C8A&O*jvZb2 z8?#BcpojP>thZPN+luPiM^0Gvj$ELYU`p1Boe`#}@uJ&mx!K6J3J%L` zO19{DS&O0Ls3qBwlb&lbTbvUy$|?l5j1|l4x2Aibti2JiZqrH78fYCxC<1CRR}#1Y zI(ExeRTG$AQ8fy*oE%+OE5s=3->PnmB#%(6)yQ#)w$%l*g>4lamf4hS(ebhtL&s4| zvLz=y*JQRhCt?({#k#=|J}_dsC73zJj)7y{tgg_txPiA0BNRt(I3&oV7Q|{NL};#n z6#}Wt)UZWQL=AV_+||H-uK}C{91?*MfetZn!4RyQ)lqoR!w6vn3CLj%#m7tpNf1te zmd~3Y9|nR29cEO72wUQHwCTRB zvCx(rGuO(BM@{C5NYf)GEPw{yh}gBhV&DJ^?g2b;48giv_eLl#ddBmK!^qB^JE;hP zqTX~hT0BHq`;|FYyr9%ex?ohCp;?O5qOZ-^I!Mn7IgyXw!xORhWZ-6;vcw4GTiF4kNm$EPwzbNHzm7qVY;|rVzAQ2Y`Z( z3x?=KA&`Jtpkcrp5lBf9+s*1~;6T;@wu!M|GAN+~7y%QIfGt}FPIS~^gk$+8fIw3V zRWsQUr=penNN0fsg5W1ndJRf&h1P*w(FR!r(pwSU<>_kRz|_FTjT=|5UX97%LSS5N zDFOby03%c(tztP>pab-f0EQ5l>wy~~1CN^$&&4N{bh&Xb%N!Fzm}SJ07%$sR8B-0Q zbCj=d1PJh<4}IvL|M{QsMo8B~qLns?5MYG05#(4fB2I#qgE5++t+f$ag&e)PEK?h) zPQwTc!lrAC6XI8JojrT@U;gD^{_>Z-v4Ihk_5M?wnIJsJZF-*(<{LlX!kd(4}=LU^?EqV+zBbv1keKyNV zOh@5V@y0j4@uMI8D7V0>PIL|rV-=qeJZA?GIZQJNFf)MV4yNB7ODs{dG3mJ`Cv;oP zR@wb5igj?yR;*ZY#u;b)!$153jy(bI{SW@&4-Px*Fs-OodJQvd69`5abqq_|{EJ`w z;%#qxn_vhj5Cq+K2%Yk`fBUyx7%?>?H{Bc_I+sLEClY2UXq1ebal#2FTzl=c0x4!G zQW&TNh+A*H^=n`I8Y7KT4?g(dhd=ybTttd`6m>w+DF3dz z?)sa*`I~?J*MG&UfAYyES!ulR!V6g#_|A8}qqWqEPGE*@V!?=vx?66!1sI|6L{SI> z6`C=r1Bs;Y9ONO0*DX;}4uqh`Kr_Nrf@lu~N+6mN%!1G|J)s~)xDi%$00<0Z>2!(^ z{n^ic_Q!wx#~U|pB%S-kH62NGaZQ-b(21HbbK`x{Y(kjK2NcZ|=Fk4@&rUk&Bz?+s z`t<3nG@f$GDa>)SmRivX%&?6jjOa=k9@eafx^QA~YxV4@gS8Px1ywL^#T%g(XojoQ zt1(0fm?40XO`A5!aFYJ&M($4pmWZ1=Wy%!B!1dQ(|EW)X>f7J`_O@-?(9iw%-_M-l zbD#U%qmMp{21sP^tY5z#PI4*5?DgDp&z(7QCYpo+QM^la=9y>SdFP!>ng8p*{_D$M z{_@(jYhk9;x4!kQkAM8*Kmo%Bel&d5RaZUmzyrv^J)SXR23keiMB%^m(o4Bh5bT;k zlX%WK=Nxm)F+B3V^rbI-|NGykE&@1D*-w1p6QBO{rx8VQ8OaosTSh^|!g5FMRc@U;W?*KZt9@A{p(cZRCFUyWhRzjyq<}nuYMGQ>OxJ zG#dnijTCy#AS8uakh4FHhs3_f&84R-g#P~T|2~KT8;Pj*vBw@Gg)xJYg^euq&sE!3 zqD+y%wG|iv69g6*Hd>lktC?bE3BOLEZ6k*f`h^k@b@$zOzu^sUz@sLGZc5)}MCmJu zYzhM-OlovN-Jbo4pv!a+^}gy=uL3c^kjaxL|J~pH-MioYZfpm$J?*s9jyU27o;6G^ zSeHO`7$a)L(73W*{X4(&J4==jaUiUgCNA&LXuYWzw zlj$l8Wxw}(zX!OnYsvMG{^*a`{ijk^@45SLfBW12>7V|I>aMur3ab0@kAKV}z-K=5 z88pKpz+2w(mQ|}(!Ms0>hs3^U8zGmi2i8D1D1wHGG6rtE@kZ_uH0!3mBd3D7r#KQA*T4PSzmd*(z=Z$(-~XM*J!X#mVp(9U*gJD!vS33AGICgK zXVwglZ2ytP?m4#4IUFitq+y1D5)Xa&4?p~Hd9F>HHVroR$j~!ECNCQ{Y(Omc0)vHM zOkQ{0b(F;eK@<(Zcf#9|&)Sf3^2sOv{onsR_#i^KQUzB)?63anufRIFl?(s`;s`Mw zzWL2>a=U>DvS>LAFF+PI9Z%yg{^Bo~{E~=dIC0?F;5+ZU^Uwy&bOfCI*vCGGPN-#~ zkAYU&k0$9jo*S#;5U7O|u0n7_F)_gn^hqLW8CEk$py~+(BlL^D(@m}qKm0I`F;6I- zl>`t23)11pBadWw^W1#=@yF>Vs-TGUw-s$qEFKvHmAXj1S-{^U>oguzA%s(@|Mq)BXzVRx{>fc-Kt zk@XF{5rGj(aq!^hKmR#(5yUw`^YCAJ<(2Pv$2%xXfPu9U{^PtDK2;Flp%&WA3>}9A z1R#;Bk;A|ympKUbjxn^L&pIPijzwz9xHEp)0;@73KrOzg#jZn06-hy5&UG# z(-L?tyX-QaM{pu@V%_w1TZ;w+B2XX*%rjTIOgf^_hFsAM1Xk@_u z1S8T}h97+=h!se$t)8L>nCT!q1Zas`Z2L!4w1G`AsadvcnMBb5og5grysc5@;>!HWyrQ0ShKLA$U+sYM9U=8E^n1um$Rc4StY~ z84a!%-3MxbS=<#|BbHWR*gpnCvtFP~JrYnRcV9*YIwW1|QxeezN&|9PiG`t=Oi8CW z#8|*cV!c#^lgxvLF-CwOw0``I)}ji!3BiyM0$Ku5E5IXc)JvAIB{pn7NaVgVFL>oE zU&&0L&PvBQ(Q(Nom(X!W0x8Ty@Yx{1VK)2lF5qOT;n-u373E-hLU5Z{g!qG&+$Y+bqIz%LG)FtnnUi2@_sXz46nWABpr-G3N?D8tMO zB(fTh@68ZGfuh4!bTYAcq<1`0F({s}G+uhjq=r3Ba!EmZOlt5(h%!jH={O-g#Pw@+jfTGAWNL?2#yw8vGXIBNixNHI;fYrpOo+gLF=r&>&)^c^JluERefTiUN_e7yNNgd|U|woKG6(>&u`i4x!6OnJ zgN?mxR&*giOZ*VLBk+o)6`T;N21f8bnAAx3xgv)ZSFn`x-qem{W_bi)gh2(vfe7Wh_8=fyZFe+e> zhYrlJaV4~(kO{{_?`Sh#D7McMs~9`G;g}3lV4`RP3p)Pz<5}NeyD?^9;}gfXm?Iej$N5 z3(FBOQ=D@h(BKTsqhXv*p)M9|Ik&*j#aCf%1Yd(IASUCY9=_B4IlJSDL;?I2J z8{a@6m2wD#L;_7>g@jd8cC;yuv9QF72Bgh!LI5CO3tL+7QxQ`wI!@Mp4~S2lCn-Gz>7a#6d+wktvM<;#e?|`y$2Jxqr~4G4ZTL1~9aKTp zFo+T$2+Vg_!(pcnerlAuxK7-=-(t(TBXm=gz!kR;yan)qYy3bI!ej?v0ixN_uOIqOJ)i)AkaXOJ=SvDf)N_bLyG4Yr&#GYPOJ{N z!~~*vs=(=n#;K>2#vFiIXpfP@m30Z`5eyiXD2bY?AZi9P3);+r?l{-N5Tcf-l&IB) zVWXy~IJ231K+zbH+(B{AFhiVArh%lB(v~Wa14=Z55$4E9+jn4u!6qFP*BWOP^fLp# zG1@>C+K+8Z8~Z&ow;LVesiHKtHc*tzLClU@hGu3#k6o@+QA*Tm!?00PRGit&J)mgp zTF>SL#xXAR(-x$Q#wgVajKDT38XmbfLdT^s*a9s#gJh8#H;qwg{C*$=<;Wlr9HvKI zUF`?AwX-hZJWvqmz$#@_U`=8^m{MCZDMi_4-Uv$;Fd$H_ZAngK9wCg-J6g-gmunn0 zWtvYqj#**@4)8?oBg#RIqDh7j#Aw~z16;QgxBD_GxXNIV5zB7xvPP$2KEIFV7Y9{bMglR7wgtG&ej{bm_K18O%(}< z0xl44!U#008SKzWMS#gjD(aT)YM`ruy{`em2do%#CdeL*-l+jbWbQmd7!inI#sP-l zeh5qnYEdaL!j)W^s_cCwbZhKtpsRtAXaEBTD414&BwQ^R!QNRm5fB&&l28^Qth9h3 z8my>MBMIqpOmQT&j6@IJvRw^yHPEpJzz`0H2!H?@n6?hsI3_<@)(wm>qrveIq>@?$ zMyQvHXhU~hwB!5OE!fq-IBI~kdMp}efWQ<+V+e%62#Khk zimX}$On?!AEXoonD+SxCx69nsKvx4}p#iZ5NsUKFazmWw|wtZ zOq&+&7O-p4l_-fKO|pbX`XVVv5Uk*8Vu*khi39~?4JeaURtoAGMO63N)j(GRsQ!F%+xoX?Ty4hOAgz+&ja02$L z9Rn;{2Y4FR-wy!;m_t-P@nN=Bs*@BJY;h!z4}egFDhMK9Km*}88@dW1L_SwIc^3v4 zAxOjUf>?J&rUf8orSZl{Zui>Nz?f>l9C+hMn|&O`W|(53!40gNz(I7Z5-0!=uv5%j z_D#gV<%*4)0W*h9g9!u$xiT99D+m}kJ_9xmr{I7_04YUr(lu_F!iCmZ(g0l@kU{{3 zXe3v}N{V%rS`x1oXE)l_zz8*vIL!8bA~w=2&=@mo6x-JDI9|SpJ?iSjc(tX+&72gm zba5fP?#R6q!h=Yj~)EXd4jmQW61W%|)!ppsCLhWYk{_SdD z6g1FelqIsyL(JnQOA|Oyp7TQ!=m+ord0M`K4fnDe@irTPXL|35+%u@r1wqFR0nsrni zw2ecMYZ-XM%3n5fiHhM<5zHc4WLlDS6&4{CNkJs&Kx;*^)iq0px`RT*nY$@n4U9ws z)&Lu?sJ1mBY>G8wfzba zH*lRI3{on7)xxc;M6nz#(?QFJ(2dbTwAlUo)^vNfA80_2)%}~$wy6os*0f@1ZQT%7 zmbP&SEkP4HSC^6$OQy)@1d9&MYSaRS&=qxwt_Hdq*!vpL_9zCfty`j|6+>(5hOn|U zK0s)hn$WpY%8Hs|Et)Eej#qMAaH~|x^DCALP(>~ZV7ATvGMGu>L#ts($GeWONBy7jm=!Pn9nMLY}Ek?#X{cA7oB`5n|B5n zt;M`Uv{+ETe1RdJXJET|^~)7Y*-~SqYn$0?gi^9n zStwDt6LD=+nkzXuR1TUr1=q`ymdm+AS%=Q#+`?d~IFK!6dp&Qc6nMF!&rLAG?wi>3 zufc1RP0MsMQZ=B)mol+j0cgiw3K<0^3Pu=vPClD;ioHYm-hRKhC6{+|Vad<*4{mVs zxqQaYC?f<(vZZ{M6kw&q$i)Ep6`a&+$03tGW}Ixsp}AhJ5EKg@ftI-*CpS>c4rMdBAs*d%ha1Hqct4x*a=8+>592KMMgBm> z>FX~$87~a7ZgnUh6>^SGU%{0^<5$E%aMf>DFxwNSEg!>-?iP^z*HNwr7(yr(8zTsC zqbY@=Un=-+K6LVBFYo!Fd7+pqy4g~YDftiz5kbp#LcG~Jr5!O{UQ+`K;Tz8{9%1U& z_~Yb?-k{_3`#f>+L)@2~a6?$n6>9h^j+f1qvO}&n#MorWmKqO4#55k(MV|5y`(P-j z;aO4;=Vy6>5d%TNKDR($26)rN8KS4zLRiTA#k|WX?f1RGKv^o!JGYn(^Fu)nq%96P zm|4j$kdg&}G7Nn^5ceXXYQ?HbZlUBs2lTFFI~TqSgBrJ!8eg&`%^cU;f$)Xx+9H<6)5S_4Pp{hQ=V zgGb>NsD(?E^*}Z+>ww--sTjHWN|>!zbEPQH!_LW+D!F3KDR?gaFCen##B120mvW1S zE!$;C(f~8htoi}z>c@JTdbH(A9*^uHCm1O5yp3|j$`jlDDR(`;bX#?xSaxz@b^v#? znsuCvZh4rCwZP2S_y~<#&*9S6v z9{z6L_p(8$glph|AsR+@*}evZ)(I0ec!RH52s|g`#xR2X5?GfD{H*8ZfiMuVhl`rDIdf8nYni?{my*|O)9Sx8{<3pQraS%)DQC>K<% z$nl_NwIJ6RCNPXR(d(t?+=5XAn0>k{FJcZgD_rcr|0Zosi0UW=iO?* zQ|>EPhMY>yt7IAGrA*-Tx=t?VR5D&wSu78HC(E*+T0at8ePC5? zvsc^cmvF7}Q7IQX^b0(38$XZF3Ha&-UV;e-?b3-7Byrc(a{{m6`o%)P3?|42PSFL* zbNGcmH?5e%g&YbBePO9D^fJEVIoWan*v}Qzs8j#&tM!nAfvpP}6;4b+%Msd4(OLUA z!DF<*Isx7U#)X?(^wpijs94ByGR&oS2EmdY?(rAQIOyCb|N5+zM_%;I7cZOr>%O3e z`|b4k#X+xxO9GfUIoHkOW4he^g5%~Khjp=+RkSbYffd7nfS)_$g?(;)W3jrpKYX+& zShy`%+7oWc)kwt0$CvK$>YIZ4ib8owkN@ut|^Jiip+GPo|zAkgQ8tng$qy-5_GvyoDh~PE)86o|J;r>ob7@O2V)Z1}w`&ezxpp!eR!r&ij5}rTpmT%&kwZ zU7xEIeK5Tzbb37|Hl@IIf<4vJUd(J&dnHG}&7Gw*put;I{KsL|3iZ7vaRh?Lp(s7c z``igYga@%3l-$U1Lssju1I(dWg?nss?`JN4@RVCNUi_T<*Ha(+(JJqo*RT4_g>xU< zTFh2Tk(-H}EJ(r^@_eS-_%f{bt1CKETH2>V(FGr(o=R;=uXokV7e9CD?4!<@b=cII zhn+d|i0?k|KfhQseOY#USlu2~=5Gy7xMlGNE`IQc)9*a|^qKECXa2h`dvx+`ix>2G zFNNj45;jo*I7+Pd1x%AzH3-e2*cKgEky$*RyJw2$7X?O!n9?{v3O-=TU0FP&5 zcjf$Ft<25Zn4i0W`yX^EVggZ!SFeQhx5%{6kyvm(A-rc=GfgFMO#l ztnjF>mNFH$%+2$aExSP!x?qVB=)BoN=yVt{bJJ*rTtG>=;FpU*z=(=U1AZRxhz3jk zj<7y+qx;G4&N%-3`(Ny1L&+)g6!ZESzYJQxG$I%`yR)Zy$1o+Un!eSZ;9r{ZD`Gs@YEtmVdS^`}VUR zxocx~$x!7RKX~lQX^VzR5dezEtJcKWE-2+3kDY%Cf+y;?ui*$y+7VXnU6K9F#S7kd z`ogbWyW;YhYj1dJ?KO|RICaL#4_*26yUv<>{=B{)FU}l(#`L2uo_q4`zrJ?<>R&Eg zf6cu0U%zSbaTnfm^jW{S@tLh#yn5aZL-10THa!eYeMzjd5WlOYoOrI8!s@4A3?l}e zH;`we#jl3UNgekEr#5NI^dHUHyveEe2lf6!ln*M|N_A(sx;?D)MCG2qA1E_r3-Mc? z&DKAD@q*KTwQ?w`v65V7c|05OnK3`WCkY!@14NX8rve_&aV4eKCy=w_LP@_jYtGyJT2CrT8x@Mgqw z&pii{Y}~k!X7d=BD2>U}|NLs;7w_;;?% zz45DeKeRrxp-|sksr5#+!BW^4*0vTaJ#3!(VHoj5=7G;0ejQBdbV8esn(YkYu|gU_uW%xz4d>mpL*MxMTP3-N<9-X&8cUD z`u3oC*}ee}`In>XW-Sej{9>^Sjr6Zqj8x`lv6gNOyUC4J$%m%<0v`Exc`XK(ekm81Js z<=%4QjM*Fdw>#xWH@UMnRpxK5%--ZY-4pS29%RvgeHx!tGR_0xokpI=6K&rL*`V^P zWdnzO`?`Bp_P)e(Iq-(c0ZS!$FJ!l~;MbP9_5c3ivSZI%^hAHXr(DSgc_!(FkR2Hp z1L%vY3;N4PoH6~PnJ;YdYdkaPZcr)*Y9oQiV&|yYv6?*Wyi~3hy&&w*SF#zF6Y?C_ z@|Op-x1K)dt`)iMWo}J1<5#xiqC1}2bjbs2PrGyN)H~Lnap$`4-2UQecP=~OuIImc z@5V`&tvcqKO()&8Y4Wt^zdvvN%yn#kRKuv^2g)bGOXVNVTL_?|tu!9y#^)Q;V1y+Z zKJVzc%oZcYBM6b_9#!izHWiONZ^oqaW=vb}Z>iL`71(iNGk_H=g&_hXPLoE&A!6T2 zkx32h0XJwq$2p&U_SxC9XRlwsUV4MuIbN-8qRzBr-0{$3m4mf;KND2flq#3bSaH~i zS0C}MpB#SjO$VQF<7Y3NwzA)yu{!gn6Q|GGkXzlG|Lj>ePdf4DBTl__(kVavz|`w5 znz4R$u9o#HYCh{A$_rdzq?}gknB_HQ*jl=BswD-W%mkHNSNBbteEl=M4AC$XwbOQMGMx3cp%K}GHfVjLym~Jl_2Ubx~rV}u@}xgZ^n!3cwXc7 zJ5lIF4H(Id4~&2xP8cZ%FjI=MUQl(Jl7`VLul|nH=TBRnf2myWE!WoOYF9qE{)m%q zJofAvpSbblS1@g(bA7y_Vg#Oc=X6~W*j>8 z*7<9)PE^Gq!4+Yqt0oyi1e)ML1nSQoL94qN0r&7Qg3Sc%T(d)?wuuU1ZF5+^<%PjR z&$#2r^Jd?-!QbvMFRN$6h%ISH7Jfb8Mma4gKe6iZGQ)Q36~y3uRc1F&Jn_VuHEU#f zL?$?UA5RjMIZPsMgQr}{vQzH&YyUTY+nc}st26Ijd(WEOy{q!GUd+yav1hwmoxW=5 zt*6eKwZ62)tIT_0=gifE_pHv{wmLWE&ei|=tvNq?GTT!GH;Pp(j)^Oi8o#V;c&`WC zd|j{FYEUqOzf5}~K=Q7YeUr|ZwqSdZkAhqnusq3w46lL>k9-j9h^k+|amA-Do3k#c z=c0&*FzJkI2Orxl=gPGgi}jCPu<)V>*7sKGxu6CBht$9@7BPFhvv_@KKB^kY8Wjty z%xIi^7`>RUA2M~`^yf?4SQrVa>;2k?E?xTVo0dL1RNmy*))s1;oZ6;RZJkqF@76Xr z)eR7yO4;bw9^B#|b@{xr@87^uiRVWwc6kA_8`lYOPJj}&ZUB=#U_@psDZOt6Mi_vc zG-F+ae=dii;sSbMwXJYM{= z-i3dHPqJdgiaB%UfF$Csa8+Y??}kKWrYCyJ-d$XX(5(O?7u>u06PG@+C|6&{S%Pw% z2~JeG89%>1k3o< zey_SFtbgk2Ip4l*Wv^EYqDtf3NKwN`nJ2{9zzF!ny&Lkq?Hneq)^1zUd(h`?wnL(-!GMQw(2EC(p?i_1VYI!O#>|NvQyf%RmJP`1fH|4>QM;>`()v8rU zB$2LlF1n+ViONh*R8Jfh$W>FTy+Q4~JC}a``wy@4>rS=CCStKx8w#90uW;|`{{J}n z_F3x-{pIRV+0R9RTdnkjl{H@d?I+%G&h0B-DuvlHx3-MKSqSz;7|8-7EBcN&{q`re zhovygtDT63ldfFi63dgy8;QY)cq98Tj3{rR0VD37Ff#kLXZyE>oL}|Vmueq4_n|wM z_xG2BB8NfQ5n(bGmOZv+%KTplkL7VEC}Wx|gKVqRzWBqLr%YS9)2XUw3%H^DvR&TD z*ujWeZgg|}n~F@OcI|>4Z=HP42d{eefo4H)qoFv9Wzrz6mmyyLt%MSv3AVa zbMIQp>0{+xV1J=gsx%fDLcgS*3F_P-hebF*TH-$bzaP(>e8;LDx5^`i)dyv!V-F*o zXY`_>VlIPU^j|+%^!hWNx?pi`eXTy=R(TPs%xsDsMH<7gcqTqjAwI!&NSS}5P>ID?9&-LzEIdJggyXUUU4V9~`C$cIV<^~v!n+x^B zPMLA;?Q7MhKvZ+Q8UwQN+ckYnt$p+}QzkXQ$lc5P4nJ+0@W!@0At;pPV%sLe->NewXaY>`7F zyfU*TU;FTP=H3150248_L#+;pvc;pe_&J`z8A7#N1&r_}tyA3Y*T4LK51uk@1v|fC zR7FGP+Q{g7BeKFGgMc$+e#F~LMNSb+Uss-V(Gv%sH~Y5beJ>SjZkbgYHQ##A5?SJYZyB@kX?P3t<^-%2*dpU7YXnKJ&~oawd%|(oIpC%}g9EI;D}RS)9LQ zzc8;3AqSP0s`WGPS@yZB=ds3^_toB8MJ;@lhy2>i7lz(@+Pw?c<+9~kiQ8Im%X|*N z4>lF*hn_U^tZ5s!0V84EVXEU6D?Ha&8fr3QO>NIeGn>H(V-y&Q(-J;I%0 zv919lJdine$2R~1*71Om|Ga$eT5k^+!AM=dk_qc;OZAU_4;b0BZ^8)gA#f6nwGq}% z4>@htJGqH8y;e_cCVQhzTR0727n$3QJf_WGXW^myWq)-lQ`hyz}{;+nj1K;%IG!Lub6h z#VMV}|MpZ%QtHzJ>Y6;%M$5Qbl%owikw_6D{Orpx`q{7H49UWU3-!5H*|mwwOcB^| zR)^-Ntd83Ol6VEbvb6$?EdSiqkE{vm+|AJEPy`1m>V>F&|I*&~op{5OFJyTqG~?F* z7;Y--sGLSS(F zusucZLnhoV?*w^xBenni#fr~dK6jmmv$4w?;glqEw0#~%SgWEVA&b7*Ab2UNy>s%6 z+gFq}MOBtqU(D5xK4<1#&-V_N!(v$Cd~)OQre>gOcFN*x5aj(T=il*4UyABq{Ne1q z4z)ET{bowjR$9B{{c;Tb(I`i&Ze!X*tI{i}3IOVWb;{`D87#N~9rWm?B z2i1HhA#`j_ofWh!oymw9tXwM!Cn=U6qEED%a)cA+&Kj9s%2cAoX=cS~&WZ7E6OWvt zS7Tyw_TA5Y;i@@neRVD(^vV(6so--KL9nGznZ2qo#DlENM=7ej1ja#C2I0nrH*)s0 z^*cE58St1ZSKNY{W$)>YSWOx>YPPdI=A;eZ#-63x@SVP*f6{5})I|BPoMUULae@gL z;T{4bJz?zx14byt5G@4w`i$4|KJASF_-+(<9BAdsQo-6%?VVHa|IstKm6iI&YHfv6 zJL>#LZeP|vPyt3bCdkn_c0AbisIWI68y#wj#|?G828=v39x%c^k3v7JMSNalz$<$% zRq8W#1n2i&W8r{Z=G*gF`d^0OXgCI4Y)NK1YUS(%g`|k9` zU%v7o7EbYWt7=8R;FaC5QW*67tzZbB=5q%#yiXGN6}2iGur~6ZZ{K^)wAGZ&u%6&C zn0ZHsMKD%pU#`t+(y-B&OSZ7vwFh$yMreq@$WQ}D4n6Jmg}Y${Po6{j3PxNvn+hYv zi2x&^2fR06q*(jNRnL9)=ga40>&wgaXWiPQ?=8CZ`TPJAQjWPWm*dE2o zG=L)H8yvhk>h<%fFMN~8%S2&Lz1FHW@Rdu#5ru;$&pY$>wf#|zrFPc4z$0~j#AP+^ z6#YWD78|r>K_;sFB%l;6W1H-yy%krsrW(Z+UcQ$V$#jL4C7dUze|McGYiN zRNoTSzjf`(&tLq+3Zj+j)}X%Csjn;6d97n(iIn=1QvK-j9=>AchW?P}IG!|)oH`ND zkTx5<7imqz@x3B1!$$)eFJSB;Od@*@jM0xJ+HZ@Av_`OnEC1Yl(V|5Q7A%0Ec(cWj79|VY z$a|Zh&?ZUh6u5esmxq)(YSkN6PrG;Z@jsro(WyBht8tB0aJ9mg@MBt<^PM$*?Vz)l zOu2m%>#HoJ@IfOc+d-*X^3slF>nwEj`j(`^ln#?>_L-Xwa^PV zdyJ?)FIw%@zw&?gOucE@I(DO~%uShM)P45xd7ry7M7fY-X?vbx1uOJH)^yyka&0xK zop*teA`UP3nBi5yN}W~TC;I&_T=Vb;Prc!~SugTlBoDRF&qmD7a75^|I!2NZ_80_X z5NXS<9uIPT0_X*h*A9z#*(yt|iv z?Z>lrc-0`_jkG+sr*U+U8yEWp#i5{QO%T0(%0p9bePO_7eYG~oaReSDfm(S;F|5Qs zN*g81Y;PiSv&3{5x#ju6gQwj6iEEyH=V|vHarS**xqiv_9@==)v==^d`NFrKIr9TQ zU3%~(I}W;F({VSfc-MFDeD8N>o_zcIGw)q{>a?}*KV$a0CqMAMt5(0|jHMSmuzj0T zV_KIF`FyF`=_sr7|0&%ydo#MU0uT)&I3?>JUi3yV$9FJwomT_iv`}XaO3@`*Xne4QS8y0^v18F_IjghKOfH>^YVEe#( zHmZDY`r9ZJw!OeNiPQnm#PQCx^yVmf!JujXNm3bcWAwE6| z!FX;pNY{khq|KBTyPpCh*`PdQ)zEuR`1vQl_wY{^4lN$2Zw~70&g}H7oAR~$mX|(s z&9Z;|=JGdu^VuWLn|s~zzUK?|El$19M+wn(uYU6j#bbW()SJF_&*if=?qrw;oL%N? zA3Q)y74?#D>)mZtEiLegAEI25Mo{m_M(WMn3R_F1pu(rYdR*`MV(qOK~?F?dt1HwO0W9)OYZpYEsI{NRI_~fgLnVbTb2`f08>%5gbq`vXY zX>#7Q51-Fh&ba=?uV1!kQE#-l9QJaspO*q0UcswmoM2nIys}hzXuY#$h~)wHMf$yf zH(;4CVQOk#KOO-9;kT=91t6TP;0zagE;uB#-z(++CgU%6xuWi99Q>_ zM=Epc!KgZGYw6=xJb1(zzx?Qh4}Rp5IUl`bRa8ES^*i+V_b5gOO;miZEndK;GiV8ExD-5|>pAgr=aiZSN> z3fQtUU+-}$13uq;=j$D1c5|{U9kX&=8p=DorOq39<)}1N^ZNLBxjJ+KV2<0zRbIvr zbOnHfA!_G=rkcd}4Vb8MbQ~vh?xwfkx&?Qu><3r1wA zWY=A8oTg?ioExED$!3=jFu^TRE5MB-32H>Kp9XrfB*MuhykFkD=HpSg(rF;x;>c-* zE!|Ypb1h_OD{4yC1xcjMW>yN_O7AQlxi76;)gnLdYT-Vr9YB{4`>geAi?X#}JvaE% zh1-9)VDJj{8*2O%{rv?4-&a>f{NSz?SneOd9DyxQX!Qb!5Zs;mMNdS`6Bw$hRm z9;#*Vw=4(N*9u+Gvu~3OOqL!1@yUgSBjV2T!zugMqq0C~h`r#0AC&0@JYos7a z7;On^&-B%v9jrf}t3RKw^XJhS_eGHvbL?vo2knMEYW8rO<8lT9^}5*(6DgGhWkTr$OB&=9%mX z2K>X49v;D*_HoslBRSrh-~G!+b^XgmwcfJ&k0-q$OK%mw%$r=eHEupC=E}ta8$G+7 z?IxACnjF`FS<=c)ff3~!bBLe+s1s&NEZzA-k&~;a1GiwskQ1?f$ovM7;U8rT_+D?t z8K{+p>ZQSIX)ttwNj|#8_f*Qf?5bYMXPY48^QUO8GG5+@vbH^5UD^dBY8})I`PKo) zj03eX$}&Q>z;1oWn|k#=w>rSTzH+L0r(SS4YEn`E^^!$bHyYv}=dvxw3pf0D^Cna? z22SAtBfPZ3>v0^8$1fQR7}58%vDT{Iexa2gQ zE*~ST5zpzp|J+1v3>Ww}iBYkjzAl6KF%Oo0QelKG0FKUK z`!tnaD+>WZS;oP>218&FCrWwMrLgFze=%3UfP9Zr|6ZY-$yWw>0~V0+I6|ZB7Z~AC z9)5L2eLiSBLgR6b&!K+G4Na@WL<0nTvx!2p)&W`vNSLE7VXfj#_Dj1V&X#{XtgvY8CaM zQ~$1ou_uE;9V6$)6B+ZcNBgL=`MD8h)N0!ruym`DTZ@$Wt2b78aI+l|sINb=yTKfw z$WaMCZHV*{?5nu!i z!4&~h;;snUqXZ*LRSX++%UEjs6nr$g$zMhnsLm*b3v}Us*YGwCZ|bqkoveRrY_t-! z4A6oCD_5eL$6P^em)1h!L|jyy$4p6Vq)u!_3BuF*xaEf6CMtVZH;ADJRZ^eUWvxU# z-BKU2%Fo3Td2gHl3X9v!oyFl)>tj6Pj17d=o6`xWtriekeny5QFlXZ>AbbxDKU6<@ zCr@yW%+YBOh;2svFZJ03{$UCuw$T?gjs++vr4IYzvVgiMi+zKJ$~tNHXp~Xy+Wp%l zPsf#yqAap82LRtWhygREmkF5Ms5Kw#6b@il`C#g$06yRh8~=KbwI1cA5EODW2;R|G z-if;I>2XNC4W5yCBONJ3-{i#7I=6K~n_KIIX~HHQH~*9rv)~Bn^p>ZqB2kS8U}9HG zqjJ*)7FxMVb**qV;~7bV_3cg+qH|j((rqv?x0%(afX1*{&1ANcp4dp8n68RMH6DP8 zT`i5uO>buM@pP#!p5A)ONE)nfccKuT+d84mt#v}1_ORg4jDb^UR?spb;-$>oIGx_| zbX6p(v76Y{KxZ0g7X(`8k8^g`LMf$mbF~!0VqFN?IT!@() zrxP2g6Vp|ZsK#z$R|B1CAa3l3D>)Qv*oRrzwn@NO=!CH;&6`SmZfV? z=MGCWvz)zUR~$_nwu=P~9wc~hhXi+b7=pXI+rZ$#U4lCVcXxM!yL)ga!JXarv-f^~ z!24m=nwjoZUDH!tb=4)u$x&{&EmxTcWuG)#llXx<6Lm*wt5ciS66MB;p)r_} zYnTX$BCZ}XdUA1@bs|}t477HzL7KeS-dSR%dBEK-otRc7kj2LsXK%yHWnW+}%Ntd& zE9qHtH{AQNqAn1*X3KyjqgVar*d|c z9b5%jHsNiij+j6ywp#rx%O(t7OaX8ni7(xNv}8MvyCk{AW#WSDGT%b9G1Ig8*hIS! z<3=#1U0-ECqQg}Y9ExKb>$eEp6msh=_Mt@h(+Z%c{i2~G(_f=3slf6Dz;8zW61zPh z{t9j)**{jo7GSqa>xe=ARv;XjwtyQYjnf8w3^*k@kmP988+O~pL|if{M{7^W(}$ZN zSi8|_Ep(MO^7pm3;uDFSA98*DY0;)G=<|x z6h6`3o-l4i4M?7dmv?K^6jjN;Hb|rMNy~@en#E9Lltv@THdhI3^e#p=3|np97#)Xy zpumq=Bn&cBUtQOxX?V4c1W`&7OO^zex$3ojK4xluS__U7k7Sh^hAYH=PD(A|OHJjA zA27=8H%)b9jklDIPqhzJuhOjI+ylq<1z@@$!`dY`)>Y_El%C=k!}NynxHEcE1~%z5 zNuXM;*M#9lHcy&wtlu0#qfiumG1+js=2DS_p(rBCH>7 z2%dhzB%cY;P8-vtE>&0vz|1RhrO89s^1mcYHD+41j*8K?BjLlZwV$?>&}r?~%T}84 z<4jPB!^P|Si4i7EN=O}5;G*67k6@Rs^3#mxbkOjO(icfIidE^sWGd^GM#)%n$2dD7 z%QRdgPO)Z%Fy^R%-^yH6O0cW)Se4YZ(mLU(j_s_*BhA7+5!&P7GwKnR0+yoU$0Zo~ zA1Da881ZK~nW2nxC5-b1=NJj3DE07yK9K3*%MeL#444y4o5x#nOvpB7Zw6zgp&Ze) z!($-Yb@M98>tuMd$&(4pnNNRH5T%g8lhh`i)thXAzw^P5m-I~S4{8~PIA1Yz;LywP>d!(CWAJzDo;l0-rU*@0 zfVi9qmO?k(lYIGfpL#XM%m9l66+^opF{o*d+sK0gw*c`|!v`{4&m&9nD9!V$WRI1+ zsB8l&a@sd+xqUyv66&)x&k;Fp?tbxhcuyF-FltmlLU`G7aR=sSntn9D&VEBwN`~}h z_=$w<@)b!CrMf9~x?1Wnu3epoPOF{7?of8T^L9^II3WQ$qv-R;bXE~zv0+1N49@yr zGCHiHu;U>}i>^immC!kpwpz(J3XJ6*vo0KK!{GxFz#@v%2c3}0q`Jz$vd5>g!c-DtK_^#n&H68-!s8cXf3R-4(VgIQ zCa)!Do2lrNC*|Xf!J(rg?jIgrbFhYA#j@Pj&h{QH3$ya1W-2Ok64R+Fu$)^QVh%z= zOb1C}O%zF>e*E|yMepeHk_M9??3W~Wq5cMa>JmJG!KR!E!t6z^1G5_a#K9ViVO*1`4KRlo z%;wMk{3gE3(Pv9tln6M6)OamCnLSw<8Z9MTgqe|p4kFmyTacSHU!Fzh&m8LSQu$3p zG9VV3PkzC1=1>8h8DB8JLWL&&iVP#74>&qM|L`^2^Q828O6a`>pbMOoC$lYTko(WwQeh~@}7b)F~ zF*5ri-ir|=#;8@dhw9+o4{#4owjQFl+y@!-bE`2nSltNR7s~Z-)0a998moPn)Lsr8 z-VOkAD?KR8-E$%e?ESy?v4Hk1v8h4|(KYdBpvdv#clR;!1Onr&0^fxsmVIwsx?iAsj_L!3F*}_p6k|D0rJ5c0w1OoD+yRjIE27p`+ zU2*1B+fpY;$J4v#^wV6AYaWI%CUu|;N^IIUM!S(qZeCjnuTYVj{OWPb29W;y)6!HL zTWId!TStg}uLuiJPL5?DQw&Pert_wF7RAM<8<35eV2t1JW^MIa1*5eTPd z4+KtfAkoDLW98CGbYd{5SETYmE-ED5X>mz7VbUb!0pkO~wikIgvzd?oYM7#ZMDK?T zk7GdLXZGmTBS9OLhs@N}5X_zewhZE1<)S|jYF$cAGlkmo+5Z-Q)?6cTF$B0H5e#xC zWfSHQVV#6@b0~64vIh)=p97za7Fl7?>3TkmQ2^K6qjw!)A8nJRup-3%>d)sQN$rzZ zz5=nFBgbbw?jIq70t`GQq-0Ho)eF{(R8qB6XjE(o0vbt2tr_}Jqaeqmn-~Uy{D8$y zo3HfIwW(6GqNjI-QlEub3sj}5qQ1(3WaDt_!712}R7*tY)OJiEmd^xVqQcI9S5xcO zOdEY*)36l5suG7rh5MEo9^pcsjjj{|Mvh8_BJZ(;K_m!c5T~);K#nUh%Cg*8iOJXA ze!xy~WmG~mQG4Gf3#UWaB&oSHZ^tm){zf`|pe*m+Ap)AtUYIVW?=Sj;+S@0q% zwxSFdq39EN&~^cMt1ZH}K|NS{-j3lOGVg(9CZy_5N1Z4CBZkXh9`Lw1ur^< zRw08rRL-Q0y}JC>I~u;|xfh1+%Lg%VGV>;KD%hwX(8<^D)A2{H3T5J>G8Br+p0E%! z#A&fS0!ennfv*L6_#&c2GT`%_g#Z8CTBzK5ON6!)e91SVze}c}$Y%DYE?{RfBfJ0J zIT%|bvvZNLlKuCFpP!6H)x*(@j73w?*xJklOva+(Y7GA0H!^lc7Qg`wD^su~85<8f z8H==;m4zjkjGKdvj77#CZ079fU~2?6BLh3Tnjy1@IoLWlt2i2&n2~V+%`5-E=hy>H zem8SAF>?gF8rhPuh+2VNfX`wMc8(7AX24NyG8TC=dkf$iJUm?7Tx2YgR<=OX$Sjio zwJmOD;$Uh<1~{PqzhB@EeYSy+N<5gvc`Misye@s)H%+~WxAdNGJ+p>+ z!Wo^}c>?VM6j)PD1BOS$QN9R^?iFx9PSR2YV2JX_cisDTUr=zQ@XcC&_xoHbSDAiN zrcw;bD!aZ^S@3Be+vndS80PqC^XrGzuf&iyDivmhDt}$rR`}6epEhJm!te9K zF`!o$UFT9~RN(9xx*XuRGwO{Z>fX`3&~K^~`X%8if8cbU|C`fU2xybWHujY*oDcLT_2B&x6X!i90gtBxy4GEH7Skqcf#=`+E}qU0OJ~%2~s!wY^c-4U9Lo zKWW_BIi_@ytfi}ca>0nxE;ndg+OBzaCFMZ`irCQO;oYyN{jZC+dC(-vUgi1A8#8KW zXN(ZHlvTNnvH1M;#dF#K+M~vb^~Q#ED!0`SRS|_%#;syz*^B8&$uPX$ibG`ozx_qtKXF4EQMr1csYpQAQC`e?SWn7BL(lZ8f0R~NVO4}J$wCY?o z^_iP#oNDJTR5Y4PfUo@MSIe~XYXsHZ+}&JV8=IRWKm4WBZv$KH@!8qfoSvP@qa+MZ zrm56|_aI=fc$X$`1QtHXYG5`A`g683J7zeCvZOxUQV-O$pUfnj=(KdGL`?uUPAF4Y zy?pY1qFTfUHS*}5Qg=Y;o<5|N4kr&0*;TW$_9!N%>5htcV{BE{ZcH{SQce#=?i@u< zE+sjo3BqD?d11*grqxt1-&E3J>Qwh+qqDlOu&Ols&EBeBChwA-I(8cJ)b$-JkY1D! zT71@%>BwRB+!#|+DMk~skye%-?AFxO1h3_{7EdMTC`?v@v#?J~B}2=Tj&hp^2uIdt zb`7V^?GfOI5e(aMVj1BXp|tg5?D0i&gS2qJrA0AZ?Mn}ji{huKn92r<3v1LT4*o?7J<66XAX7e<0+sS*(E?*U-Up1u9-lWe)Jzb3>?U(M3O*HNw&=r10 zk&WbS=f!7{`^~y~(mp9edy~}_o0wQ*IYWN+^8}#Z`vUstHrCc)t?%NiMMXt`tQ?@Z zGxh#@`9sKQM?B4s7BP``0TV-<^ARw-UKF@Cz{iCtXvDk?g@qEB82R#j(sIAN0cIK? zJm&@=nYcJPt71uRYj=6Hs{HTeVZ)D$h6vSr*75r?0C2~mjsuXCtyn|^t)Q8#TpTr4 zDvl3=m&N+FAWE8s*Hv=e<49i=NqZ8EA2SyG_R@;5gpY zAG7NA;KV23-gj}I)o}PqGrIC;D)jQM$4E-R@v1Ra|GKA!PfCDuC(R-|jmO2jf$-bC zgdFWNXdN%a68zH(Ru~{txdM7)KTcF~R&DDiC`Fle{-cyRyx%zp{R>z8NWgw1M*1`j zuy!5+`jKuI266!|QBW`nUbgSkan8#gO|x`=vX1>Dp!Yu2yyfd~6137b0VGusdcZy?O0p~c(FBebBg zgb{bdj_4HC E3{qUH>DZ34o^*%-(GxZM90(Ud@%|6>dvq**Po25YOyZ+esE%ya_ zp;gtnU6mlD*~k(T`&7A4sFLpp+wGM-kk?8FSiEo zwKLNxf$sEcYPP^5gU&MT$*S27O6a)YKmXy$wQrN&VfsikM zf#@TEqqDp_TWLYU_^61s3{cN~C<*3Ht=@EF6Y!uxTwt^)PeU z3-b#L05rX-sYzWBCJjqb;C3Dm3jI%l+cbbA9_#J)bwHEL#<4;pfY}*tefk zcW$_?+0{>Q0(qg73@XiyQ=bo?6vHUJu=4?PIK5}IhQ15lV9k;T4E7x9*NXy|(c)024Y z#Z7Q+y#Sj42Piy_|3FrNwn2Up@uxoQySK6K7nE)rKyNoZd5#rO*_iS^U<3Xku9PU3 zV75_9Inl@+LD~Oq(h)iV;_smjobf%V&jCDYpTdU^uWN!sLg4Sne`~|Cx5o6B2-CPO z7!%~Yo>_?C5)?OSLCshHc(q9$<}bAC*2L02$aL&O0;Mti_M<8Cw6XYoHajac|7x`s z8nb$r)*oyAa9et-@z!?HWaKimkZd5(X>{b9Kk4B;k}8!P^K3T}4Vm=3iJOgVU&y?B zwLn{Y%B8r>VfVhjU^6wgWlfO#RqCdYsk%#+Zhx9bpuDk%{d6557o5-&wOOo^VqgHYIai6G?L?^nNYG z{<*S6)3)<=@f&KW0u6}ZwoC#FE}+33)iX|GgyXNTm0w{&0#~i^acY0{H<_ZQX6fp1q$JLtb-=@7|7w#qK>`){P>Egn+`MU%w{>>|Pe43$1>XwC<*cGIJlM zjVXHF1#B4b@3*6$|CmjUEMm#J8Cuu4?7Sq2nFBbM7RgmffW~fX9YkC^DI4cjxvfmQ zd;;AkzIU_5i~wAxKZh~?Sp4IuIM#cQf(FpIFnC=s(ArvI#0pIO{^2$cQ`G+^7AGg+ z-RjSf%}!*SJejb}JB4J_!%eYJG~rnrAV{x^Qt_5|X)I6PsqOC)pbPsd1q&^5Ms`zw*mqsdjAT8dxj=2 z+!PUY*S$~gbCxf+a@LO5rY>F*Xwdj;FXHjq2_3RL-Y@QnJk9 z6IWm74N5?T^ENUWk07w|f+P*D59cUtG9glJH$c(jf80xernW96G^AQY$xs5gh|RsL z|6_Clh(SN;2a0<9feBx3pPiQ;So9X$WgK)<6}+^XNxl|y>k%8^VabQb%8>s$aK`ao zI2XP?QUZu(8nGk+-8{;MPW~y5VLeWo4Gt?+t!4pOm%=nwSs$nu4e$)Szjh-=K_xR(cU-vFctq7t23?@7C(`Ntqk4}1}l;ggGG$2Ln`l;auu&$v-aMUGbDe(b*gukkI zB8bBA9H-Ly3`;%FdC>J-P?SZr8?jq22VA<;Y%58tRLh$cHoTv{UFRkkG9djcn?8== zyAaOF#g;9CW>|OLnF>l;fqmb>>mJ7M{~YLS`x8HFa58w`EQNjJbt{(mF1q;c@y~9c zB9Yf(%WTVASSquPErY{K!$w z+0X=;U*c*r`t31|D^AsfdmD^zY@{Z8(Fs;-^ql&wQaqqdGeni5i*&8fvig1{+goi6?Pj83p29c@CQ+eLa2!%?4?s+eXbQlD=pwr{cn=a z?W7`^{4_c9E$oN`6LzM($HS`1-?z}eCW}@7`UL zC-{R%2*e#K@wyV2idwqHOc9$m+z7!DKE*XCMVQYZ42q9;0Ks!9i0b2(@b|9)q$^Cc z&3alt-rv!Lp1c%EudbC4HaOll{|zG1M0Nh{CJ{PYQzUhqPGz%hPbcv?ZN-+yP1o$epvs<52KA-47-8f@Aj}n#o6d`Rb+s??0J;tVU;0S_6!h$t5s2 z8jD{-rukx}5X*J#U(@By763$4t(@1Jy!`S0%#5%&bHn3#W66caxU=cLi(0k`_{n}v zn5F0yA%4AWvp|SDyE-mHiFnTL`vXkh>rTIcr9&tX^dEK)#IygY1urH+a!CqdNt4ZE zP#3m*!B58Ku8s`JYdD!O!?q5IqAuxAVr@&hj)*XgT*$mD!Ppm(vroJuN}sZ0n`(?% zrpFa%85kuV4DGi@lqX%{XNbJScQ3MiHbir`kw_<@Qcq~zy43XDz2<6i-jAmpgq;3n zV=Hn5}c$|Db8X9wvj+yer6Kl6gCdfm?UyT{`1X{WFMZ#ds@R6xrDfXA<@0rB# zgybEq;AXCQ08&vR;beXi1oGioFtjA9mS?2z|45+;jEUh4j;sXB%@7Us_@jU2oxn6k zK9@uT)~xW4X}@E;%{qnJO3Lo~ht2yg3pw%C_&+uMXwR|l53zx0ytLWL4L9{^{lubE zw3-Nqzp3rUy({4OYHJWN2Cw0hLut*N&9`-yF;(goBZG}>O}~=6wnt`-$)cFMfjYf+ zT={_K2M-->1dhiIlQL&X;zAjwS-_3nwb~ z2VG;hu)$jPNEKwTHRC{;RG7Ui4YK?f+Mm&@I3ph^Kiw^uXNn>HdAnjP{KSlyumM)9{PKn8@)jk8=VgzeWL{WNyo^!Lj<>u^dz3!l{zKL`t9tPy)kk3J*M%jFf?r%7-@*g08qQ}! zD3^L9OZ-3DJ!NaMG3_5Un0t-^#>BEE$28>oDD9HG1`ls#+UAw^e@$070RE(gE{@FW zssFk#!TvLUF8!FPy77w@nT}sYvG|Xu`GOX|uh- zht9{r^HcoIraHBqWb(eWX_|*|G{?_l>`+GHsTv8;0HEVRPBDh1WtB{UNp2P%rASHM zUB{lE(mIQQ6KLBrK&2hszjcw9uj-aKnr){47C1dRSu`c_dv0cIcU0Nxq?*6x8qQS% za5XhEkLhiUC|x~cugJ)hRtt?7xcCqpHuI%6luVF+k=6gWmX=8QMJ1rCJ0BvTm@kU^ z92`~LD}a3=U8Hpd)x!VLs#;~PGqm75;=8N1l5*BK+!2)$$9XN{&ghGE*W+XRjBwJ` zZnMAdsd)eL1GMTl3QssVk-%Tp;(HqLQn$7p0fLoTKV?*rG8UpEv>3Do>7U+wM`M&< z!`ntHv$~cK3MI0l=5;)A3xrb$+6-v4&fv|O9 zvWOSHaNEovQQUMf8^3q&hQ!_oafSGqbiXs;aMY&@Drra>Nt#{T1rwCN4~b9goa`)Q zN$HdX1d1)5>41s;|q)B9HDs!se#8omcMSQyxlz zi1rHCMXZcFCYOtP1SP#Os1dOd!!@=qv40g0G{eld8K zQy3i&jNjF+6D($-8XO4omufnyI<11aA0YwH3sa6_W{%8~`AbJ;?)^hLGxMYNT@NS8o^Ia(psX@6(g`Cs7;z6x`Z zlyZffB!E^ z)=i8FEIyv633lnI+1GzVg};}bSN=`jSU>S~>4J||6Jm^y2k)3kWmA>TteM=Hm?{f5or@>f>Tp;y^|HSo}L@g06L8|`-b z=jTsOw49*&FOe#{HkNhr;U#(OvnQiSfF!#FD4!i(0JM)XW1r-U$q*pDQxe~Z6%Gt; zpE9nIH|3e^aQh_fgj9vIzxlAf|)$!dYVAt0Ti<9}+Vh}OE#}G+^`Pl~l`Okw=8fM)q z!_phiQuboi8~daM@N{M_6dSfBBC9wQb-;*iI$haEwe9+s*_Ite)$yHe++TY*$^m%4 zJy5>FM28?%7~DD>t-~@~E@wPh;!qF&8&xNzyGB;8ZoH4T=tYS(BcSRhR>Sa0D))x= zUup()`WE26M-26pUgTrV6)A{)?g?m3GknPQxzoCoy9p4d&@41$7d8Ae3haDm@6$O< zR}J$#aeRb?6q>^7Vdbe9>a^r=V=Eli9dysT7udZUi;i75f~QP>4-{3F#Z=H@UDDdE zmo@!CagENYw0pW480yYke&8~(?$)>D>Bv7{aej=xm>fJM&6-sxzBtP7x~i>I-a5MQ z_4ag4Xr=?Wqj8O29@)26xR2+1%1klUkdd+ zbli@&T5q@Yuu6hIVw$FK3{e+}s5W?9i7uUpktO zBT<=1OC46f2{e^BI8z>nh&o8&_^8a`2KN<3PXwNzkXEpG+lszwAP4u3XjgN`+GH?# ztDAJ$l(Q1UVUA%gQ|nk+wccpAvU{HmI4s}_8mv9^ZnmqarPCX=l8|p`E?4Aw%sm|_ z*dXhGO5Vp?o_=JpUG_P9NS1mT@fxVl^|s8WarTVtvHS0OAww&eYfoXYvGx>OSnY{h z4bX7|t8Wvw%&V{~0b23Rs!jC=I^mwNyiSqTo?eXney1x}FNd1@tSp*r_dc2tKpC>W_KqJc+A`o@^lqES^Vp8U*IDq{`}AwW`+9;q6UZER*bUj#;1N!9pc^IS zuueo@DVelTk+2#LX}yW&+I*M*c;tyHpg-J$&n0Zqx(M3tmzqZjzKt{t?RyuAuC)Sx zwe0L-7nj}}x~$5J4kpsm5jb!-t?0uj{$0!l7oj(>+b^yIbwhIpjGaY)s*!^QMydET zrc1}lYy|SLS@6iIh;IyGw??ex5XK5Icdg&*s~+cE6#~`4e>ZL!=45iM*nDj1ZPm9L zv=sV()6BpBaF}>jXnk=8tcVRp-)e2+T^M#hQ5dLJK%%&_G&`q%O$qL^a=fXHHbJ4v z7ELhc<`g6GQNgDHJ78#ZSwwtfSi%fPB&zHUL=dBYOrTLbpnK#lm5buoj`h8v*gA|K zdMro)U4;uz>TJiiY0a$xuJB2|OIs!+RtlAN%uNQh$^?xaA`HIf1TLN4UR|sd3(aY zvY?f|$*jAWWc#es=9VbuGFGUxOXFLd>roEhX|o#SUe23%w|Q^gX|tXO<&|-BA%;!( z=6liMGPZ9uxU*iBC)w`#+rWj|T;qbTG6AWxD-EAfY-sNfQVe9YNexbY9^qi&4W!O?c3Ptlj3F6|g* z`)L1IJx8MUH4v1Y@|P7B(7+UNX35vp)?^m=>brAKkS-)anXPzThF;it-^p`Kc5hYR z0MP;2K8&t=9BQt(;vKpr<3W-V5CqFj%lN4jV?asB$5U2;RKl=g@TgE>gXt_Mxn%v=sxUsA%ymRhOE~A%^gm^iJ7ivbSCH;(*r@P z0os6o&O1_y_m4+FB!gKqFbHPUa!K2HO5nZ$f4*d@fCLc1xSLACg7+_auJ_a+&uCPu zE4ki+jTq?{8iPB+L+6VfXl+>%kG4q~yRJewswID0l`j-aSN~XitgcFpFg_ zxLncSdioaYzA~bcUsxyAoRuhtGFmvZYx7?3JNugu(EuNgU&AwKZ*2Fds7v*h>sW8c zfP)>i%q|G@&I-ABJRW+k17WY|56ULKxvA$punFH~O(8v7D6MFj>D@frEQ1pR-)+gqb z`nr63Psj2}p?7aW*_u-z{?jUnIk59}ou*cYM8m*`V>>{uOPqQ@0Yl=8&JVS7`n?@p zR*YDO=X2z0jz=GaEh}-K-FF+?H*w?e+KTdTBRIvs!u{87K(Pu08Rsliznv2tWbAm( znyuzSiY9Cby1pAM*XowZ*q_oIHF)lF=);IokjNfftkQt#zOpOLqht(VE5_U$vT+V$ zhovX{Qkmc)Oc#PyP7XvTEwyrC{(e@&(N~@R77@#vFvtGh z&`(9>lOS9GG`osM(cIrI$rz&J$&D~fiupS0>uC3y1D!%3X7~gI^3Jo#4u5A#!Fu;u z%;iP@dx*Ei4`|~Yhn=3kQj^k8);8jnMPltq1Z@s9T3*|r<2~IpJGiW^hAeTt)ztnS z5jCm@>zOz;%a|w8nSQXgThy#s>XdLcDYufNUSDnq#?i&b2BC6(_3okCXt0u-D+(@R zvLWnR{=QtLoBf@hNg7h7QC-*x!eoPCb83d#l}96AI^COF%b9qW+NF1 zNBfZ6pBWP=s3P^B5awqRxhxnfpna3L`p{@gF7WcVA6~$%T;5jaRF_zqJoSXRSKZ}e zLThxzR|<$}rTCoN7+gCho@nX;njVXRh6>tfO<2S17G?-a$ zh?6Rin~ma6kUf+f9ZhOw`C=-DO|xebtw0L@U8c*Y4BSq4+rEgLWvrQi$%Ly%eTG3` zzZC3qzp>P8d2HZ29&zGZc<3Ws++Z-)E_S6rK#sr(?V(qB9j_1fogXy-O_ zDfr#s0X(;dzQAs~`hB@$W&$QAfiPWx6q24lC!5s$)wIrs+Tq9A6{>h@gfn>E^%@ux z`zP+ANd8*%xVG_l$RA>U&N=`9efw80%AUD++>lg2$~>ATBvu}83y7=rbG@Pe>QA#U zOM*;rED19uyaPHa4L>d-7oY_Z|5{+C=6D>Wr8fy&G-chAdGZJQbCGxEt2j?h*21JG zSI_uO;RX+(;}Hn0EEhk3+OR}|B~GETU~I8joK*S(scTd;>LtV`ERY-DS$)sA(D)6foutqS44&_It%VlY zkLzz0NOzezn?71wuQZgBW#!NHWZa(08v9{DRvth_mg8#UJQAFR0&J`%Lmz7llaYVH z7A${L{_xf^0XSJ5*1&ZtH^7977Aj1ms9eh6GW_$)Unz!&v+pAG<U}gVBIjS!vOwPlO&_$-l`~lMu_d=V)to?+lBj;&Sgd0 zQ_^7HRi|@|Z#$j#m5Hg2add}(K1B2`=0W0{f>IB8ven({7B2ZjVe4hrvv6o}@414L z|95yX``PJSF{xOR38{#Mw6@gL7eH&G`PnZ!SDDHyQ>N5yA-acF^(K=>_Eba=KU8+6 zhcIFxPvrnjre?tO-hFK737u=+r=s;=y<+U9^?bg8_e<@Rz`qBYjPxdJ%NN5Z3{e=% z5lJTsPcIIe3%(hTl8xyB41BVTAZGFo^?cz&k$UBcd(^DW5b7h-{PtX<>!G%(P2YZm zNgo@WsV z?BOZZ`juzv1?4#{3u-C$ZU_H>|I>L+z>SdIeM%&h`0LTK34)%-Z8G+$kdA|Z&hkfg z9QA0Be&0{|@rplX_7&V5S$TMXgX{YU)ElAL=i0bn%2}+xA~m~vBt$tv!mzw_KFyt| zP26%7P4?92qtew)vhU=YOuUtvSCp(t{Hm>1a$^Xmr<{tMStmlgXa49Lf;TJ|ZTkt3 zttPYFe-0?YQ!&sASa~^zf8YgG+9-gd6MP}{!%%M_$^jE5{NOD+GY({>BeyZ+qYr0`pV61#_%Ei7tuEOwo_6_@f&2=W%4 zRB^URbMK+4SK~bhXLJiob~DQlc&@GnjO_1bdKqGZIxyju`z@bDb~N~j>G%F2**39`vDUR6Nb6$ZviB_ zG(gajGV>0Uqhwxr6Wm2QLz(ey1YI*e7Sr99-$R{$1yZK-#%|ukR1f1;cbi^Zk-=38 z3AMQ@vaiOY_L7oyX51>Kf4EJv$ctaQS(H8ARSe`uZQQXM5BK>&P%or zSV3RMea^-k$LisY!mHKB*-WV@ppgDid*uBX&*0$(W$InRr$3Zf!Ct*<xc?}L325;>5p7=@cG=<3e$~l+g4ZQ z;mQUP(x#T^Ko=ZMnpMFJG7|q2F2rk5JkkCVG1pPu8 z{PfI)m#M+LhHayeO*1@W1w|;u{PbMmpOiay*3=Z&h$>X>@FeeYb&+W6)NCH^*Z46@ za7%T$NcV~^=+XD*X$laTeD8b!{o`xrI8{|2t1r@N6TyfbSmN}t)a}>U(sdMReKD_X zr|`J8sHuo$j z!|lbf;mXQ>`IXnlQMX^HqqQf)%LS~B5SUWGJj`Ku4n$Qs2RaMN+V@a0j=cs6e<*7_ zs9tT~N1!HiC=PVZT_x!~fG#O`ALEK3pZLF4-RT_jAt?_R_ z>gqDo&g>ah)pa%$lGY)s!>Fv6zAOYa2ATG}txgC<+U=3o5rb)R$r~0L9bNkg!O5-x zpb_6IAhwHhr0Ol?U2F;=;+^uBZtl&220zNUj+6Qtz)ytvF8JJb;I5yQ8Cm52=neBXPijIFb+FNNYR@NF|;-qYy z$m$0qUPKfhsS+8S_>Rd9CXfnLZEcSY2|j1MT(1Xl2|RxHsJ$^Sy%~_h2D}8Dim6LY zfg@`it--!9x_|A*(W5KhLz{8+q(euR>>?`lPnVvD5;ludLSMoI7C>{EhWYb;hwZ7- zS00}XI5C6LdzH0wB5YA`d-A@k}YxgmQHv0wDQ;L zW?vq>dDUGe`a*jXg7AZIvGIp+@J(_|A855(mj`sv7z%A^vJAv3a?X!+tlr z$P@b1Zg6>V2Mrc#)S0j#b_TD~DllJy4cL3^0A|$jopPPb&LdHZ*JWAy^tZ?Df7ow| zKCg!;`g}h-QVgSG-NzDgyxc!N_cz`eSlg~vtxrJGm-MU^H=k>K1GkLaD6rS(6lyaNcRN^6^UbK{LzT&B+Q_0EF! z^2)Q*!i}zk&9%uNF(99`BAyA!Qs@xaxYg0F{KWOQgE4SYWY@lc>)T5tb@NM$Ti+JV zrIW1hPVG==`*{o#Y}N@u*ZTTSq!LHr#pA{xTo%^2W^8VK`EoW{yu;z+id>3W_L7zM zihzLI4umj6P{Z=+uQr%zCY%%oFivMwpVQiq4D8FEhfW=cRu^uA4BU%!b}rZ}4!rVs zck2g<>?&QEW1 z$lFWs^&wMw_jYA4kgBB1{#5wSE4unsMB#kt^rTB&g-dnTu19rl8_~dFKTcJk0F_g%C zuC=xzCS6W*t<$W^N-jp5&dplzimP05*R`hGM7){Ctuv$EU8q@Q3X4^z^S?S9Jf=>w z&7J2%W`d2ymD!owgSyG!%B&Ft#U-P^bC;vjn|~1g$TiL$JYNy(5ufXw6OZw>Z(5&P z>NnWVcTnA9g&WExzt+b7-YHyCC5cSdueV&8{xD{*)pE1B*fg`TfjT%lHh86bIVSs~ z^N91vx=1YsRIc=0zeCB!?^QJ&11#%nhww{wzjb3@t8g|-*-D#eA19oVhRLT@ReMm$ zyHz(+nYk%3GGTPEbbl7i63v)$m@F&D*uq=cVCz{qwJoU!gxTuP28%|fWaE8`_Zs2l zA`7`93QIQ%LyT){RnwK}6)L%tA#M_+Nq5c-iLzZRyOyHrjGYHIeucBMH`hl^9q~HB zor+aNS)NOZ`fW}&J+lvNa4YyICE>O1jFMbbnu`3R~4Ht@@=Gack-biR~ zfr`37oLBA5{e^u-#w2f+e*f4E@CeBLs{MqW@~B`$Un~aHSw_RMp32dqE|QROHgY;h zJXT5X@i20c@H=Ofw~hEbW)eqAqjondG|M6<%Tc<6&5o^Y4qH-?E_Xf04N?~$S_16b z@66a!dgj|u1n!nP;dA@r1aILONA-Zbp_r=47|?rrVcSi4{*~rTyC{O;X}a}d*2KMulVg;+cpW`KwPQ|w zH%;=+>%aV9sXDMMS~#RgPVnpc1?J5jEz3DG(>Xo!@rheH6z;*Q&X%^KuV5+>t{WMb z#~!qH9#(A9pbqpmaG93G+6r)o57E{XQ_vN(zF$; zJb@DIKxgp>7uZYJmGAy_w7BxNxLVsm_Lh4|-m_rCk#Y?@eb5aYiE~^Kv028E@=o;$ zUjFhjYTRYuAk_wKpZnBwofM!ftOD2-?(8mZgh}wT!D#gpXl}Y5ez--=SHzc;LRyC_ zPYNQmGL&3@W-0z265D^!UsR_PbPrgykRj$A(b(0iICm6xNPcEx_(j)S0w=7jI>YBP z-lmnLzM4+LIZLc|++-Tqxqcye7-2G)$GW2FQc(nX9JROm%~jp~$C^xnM(KvNzeKub z3*s)Aq(6NHhLIava*fkO1JQ~52POWneV}x@TDEBIw`>2Dl3WPYNbsyD)wU#-g`6T8 zIfhQI<^d6SY9aD~{ZYO%&oEyNmDkhen1`hskq>zUmRda_kK>^V|NWnRjtSf7^{Cjm zVp!tqZ^wa0Bj~1Q)eQ0)T7RbC;3UURzs8u?x$|I1 z1rF4{>B@9JC2yHb(bb?bcM^MEY5@(6wxnI8fE(2HMT<%XM&)p6aT zL}bdOhs{Mma3nP5PryjNi^OA5yIs&Q(CKg=sWYqG*2MPr_vhbMGPfybX>nuLZZN$& z<8kQtSF~6QWn)v?Oq8{#?C)`_3wxOc-)AtJnKKr=FA5I@6xPLNIrhn5Q_uUM)v)=# z42Yre*be^`yIXU3&yV3f`3Zama)M)d4pRTiMI1}^C|8Cd@CS9FqXy$L={vuoa*;S6 z{fQAmCnU+nIl2`VY^YE|4FYOgVon}{}YU7K*VOVXxoMA=zd&STWYay z!S+V2k9sP}V>}S{Uv&gcrlV+xZG_mtP*IF@*!OY~vKaV-%sp#C4$&MGRaXl>hcBi-GNba!`mNv9&+-5}lF-7O*AC0$CF zgc1q}NPLq$_Snb&!SC>Jjh8i7%=N@|-;WWo&+%>{v_MknZyo}uoL#5r{cA8dmtR{Q zf|=q^lq~6YyC24XNxxjMk3GBm6~2Yi?0dNJZrRRlscm~&*na0&=5ezei1OCqTdSS# z&!$z8e?NI$k7}y^rC;ty_f{2U<5{mFgv+2ER_gX+0W)HeDC<@0yPZm@*^1g{dpj|xqCPh+0Wrh60SYh`bMSANGYkB z40JX#4c0;gZRuS=Fvx{oiw z!4OJ%-B}biSxE&r{5YmjH29)){V?nymB}OGS$XxT<;_|KX_L7>-B@svuO`3+{?9qg z&2po&VeVi#i{kOgRs@KMb$WHet)#&*Zsy1}Fnv9X23_DY`6mAFuTt0*4e0-UOWl8sa(093=P*r)>4&nXvK&mI=YU!kq@WOsd>0b+!Ow-kepahw zG87pUuM*UJ!s8#uON)3juCFZRnkm;DRuZEt$m~tw1TN(2gCQ$|6_`)6zRuhAquR1M z)d!=>Knr73aa52MW6h*Yrrcg(QAGbov)j09NB$4h6s|pOj(Sscexd>4347e3+4|r= ze+N|yn$za%H49uN(VOTF(GpEDdc=Kgl>CH{dhb`guW9H~P({MtG7|Kl=Oj5-O1eWv zZ7)_y_KCAMGFf>zm$+em&v`aq)PtF^tu2g=yk&)J%1dTq7%_$Ee1n5 z?W~jv*VnZqawV>NQ4eePoP9plqOl3cekD;y%YiVMryXPVUyg%mp)I*=MKFg(XD;|d zJg>B8Q=He(Hv)d*n?rfr~2OhmQP1O*sq`$XQBLXS;D#32K$YM`Z*>;oNw96| zGPzKm_c)q#!4Vdo&i#Urrjx;L8F8DTjdh#O%|{Y1=pj=rcJa8$wGdWha+PpTQ>I7F z(Z_)|}?E zP|sIxu~~K}XzaZ4kLk^_YFM1>N{c0#AJ=nZVazSB6wF{4bxvAhw(M}k%j;vClf`JE zaygqPHBQ**VW9S+ICYZ7tA`nMHYl7;4RpE|!Whj&q9iddl+qCnwYXC;sL-`y3vevq z)>26I$BFxUHST>^s;Bj<*3z<~5Z_9%C=c7EN9}4Vd{y|GRByS=X)IlED;OPeuRx%q zjhKxut8lz7mEZD)+tgO#1sWr7F#hOk-dW4|$<$QF2#t1cfV2^RH|64z2AA*c&xnYK z$%WohNn>**7;VO}K?e560R2RAC95hfC{02HbiFSNxRP?1jM5Qlj9X(O9zXRgS{E4g z%MD&X9`AJQ^VA(eP|PcY+c4VLR*UsKk7f%lKF0wXW;)iDT92KhmTgr*`$T{rbtX|< zLQ>*UEj7#l5BIG}?#Vmz4}{BjB;FvptK@xH7UZ2tqO*@96Ak#9%kL64X`oG&Ur-+h z$FccF%8i4`Z*3_f1MI{*Acj8x3{e;OI!$k7N}LRPk4-1NUHr*0@!F9GdIKg~#{J1G zoveZ~J0h}MB3h#=zm=!&K-D!TiAFOGJ~tD!jEZG#Q^fThdohZvol@?}T0C@hI56bl z?DnuaxnQJ_+R_=}8-e3O5LAg^S(G6Pp@}{^T@xZ*C2j&`CQ#&jSIAkURN$h{67v3? z1Z1EfHApP59*rd^sjTq28~L}<<*lV9C_z*?}g9uJfQBjfpOLMD@z)^y@xZmT|7|=KCv}0cX_j*+F zwhD;NN9&V#?F0`+qBT@ic>|ba?RQy*$*G3zGd)M%HS2rymGUOri~$~4dV_px~JPu=bnI`%;9q`UZ47o zctc2T4s+2DHL@WM4xSe6)lfF}!uM*~-&0x=LIM7w`L z?xu$Jpe3JLg^VlC5d(6De6}K)-gx-$w!)c;4if$RTGVvo!$mdZ=z`jc#O8&>{4NK8 zCmN&C`8~Jj9TtF(;y=;ftL zf-S|`7(^Z~spwSm8R=y7p~{A;c6C_4eksriq_?!?!T`tN_hU za~v2{oHD^_IgUP+mAO@4{g@6kOl#bK%X1ukKA^P}*-}C$tyf8mOL}JCUSkdSABhM4Opd);n#H9Ia zWY3rI??bg!-S)inzR(}OIl+D$cm$ymmf3Nz7X`K3H}J5#la=}5k0cm$IH}v${ZbXV zZ#{q6MbjOm5eQEA+;GM_i)eb(W<@PC23eXIjv+COe~}@oey;i5H0SKAu+qG45e26Q zM5K5|P6I%h{N7eWn{G;evh{ciH0Q5MJ29w8*8^XmZ#L;|&;R!IJ)U=8AX5A8MOU!) zT>tGNqe2!7s@@`)kthlheFLt<2;e4-3=PrLCxqUwUCO7F8~Oga0fFaCD#Id|4UTU= zB)oFI5DtQJuAb|vaUh8C)}!8mLx9-+38Hn$$g)uYN@HP1kCjn~~s+sqMyi6(Rz6t?bI{CuMN7rgCR5CdAG=NgO*p|=ktckr=uNtdTR4yH*m?KmMQT&%7f=i3c|F( zS=;ndI>5fM$@jjk)o;nk&i=b*@is348f5=x-aqmp>1NKj{T8WWg#T{1W^pn%Uzg)b zocH|QdjD#+Fp~APD2wI?Fkc#sw)$p^z<}N#ZZRB%0e8OP8mRoj3NtgqQjZME9CwOu z<6s$d-#v{1ZP@v2;4|m*h8EMi$uV5p+`#91kc&Zqfiu7zp!Z%!%>+QuL*jB1=y9A#F{+CB&z+1AqMvv03kV4(d`(BOUb)S-e z%8GzPW~I77PO!uKXz!7H!l*1e5fmvm$}j!pMkCFNJh}W}56NtCM_LUj__&q*D;IJH zUHhN|A$wUNtLQWxlh3JV`qXs9Nkw#XWwICuJb6oG;!L`@)|mnxujrKQrh-Ar@DxE5 zk=;7LxsS5#MGkgfv_Eb$%fy=+-I<%>ERC1o@;mVd(KX1>@+MHTQGdf3n|z~ceLQJG z&*fSG3RL*?11c9?XXkpJL9&@*jH#Q!CPLUuva?EH)A`Dc@Fiu$528%#6mwYOc=@_>}`Sa;N99<*WP@CC&Ng|`M z`#*T`1e{-4$?m{-w{%1Z6Z+kQ6x9ImO<+%gi{2nTr=a)<66CW6G69DbqH5JlHg#E( z05B%|ouBjcM&}>u2sARtY?*|Bg>gdmp$~K3(RX83UweZItSpV8EJNO5MKD!T#JJ#u z&T?4P`Wooxw^)PQBVPmJUa=U~;SCRdWG2&R@Ll2zJm}Ww?#j9qAEN&m)7_C{$D9=0 zNZ#`4(15T*$H3X?v(cwr=!9@@jzn295<4Ooc-{^Cs++t`hezlBIcC&G^E95e!m#yE zeAc!2ankUHD;uTqDR+uIRjrlA)+0qBI2dw{+7brZw_CnstNyr?+Kr>T;_@wT3w=O& zPSTk46Ktx30Ig{SQr`HeM+cMTe$OQgK6m>{Y4tctPjpdA++V%*6YS{&%*Xp#G;SVT zk2SLjP|De9o_ZETBm|Mgj}HP(Zj;a=D@8numrED{%oBAbU?22!#2mPb0r3mnmuB;} z(lRG;n-j=FJ2~TDzhw@vLi^2Ek-N7G6KbsO))zPkuoqt@=n5w7V7>yG_9?Kz`15a@ zF5oxdi=l)Orh{Sb){r>()h(YlFIai>4nA9Q#sgcU3gJTP50-duO(vtixz6_7O#LQc zvv@Pfwpzbi!kPkau)u=t-owcnAzz-Ktb^w@2uE2ykey{_;!sA2@Q0lYj#8irVPJ!Y zjv(7^A8HJyA32IGBReMtBa^3GfDmhab0G6WCf@DVHh=J-ir6@&(kKpsO|2Yb_c)L_a|a39FkbX|_}{s&>FrNm?g7sb6*xRq-UscBh%B+>1Sv3W7sw>U z#{mx+cr>kx(2p9b0-Q#sAMcS1Q)Yw}b&)+Rer22Dpyl1E{~SCPBL$X=`A0Hx#|Ar$ zp<=z?$%0k5IyIQ4I9HXRujPjZ#iZzrY54_(fhX+Hum)`s@y=AoX= zj8Zz&?vjR_d&*2233`!R=a1r?L?JAuPfMQmoFD6~QVkBTUOG{YXqmb}P})VKnEa!5 zEkvUwRnXFE7aLxYrG^fb9|xHyELuv1pIJ_tGdECLD}XSRMjqR4Re(!a`8LnMfOZ`* zSXzg;q4zX>yXm%)dxmMpA0w>>0&sq5ww0?2oCE z_vy5jAyz}%MsQ<)wdsDk{f;<2PcvK7(0kqtmDG=Y4GKHMp2ad{AmknfA(*lM?e~iy zz!^vIh+Rd~<>#72qzCzAh-UD^nHwEPLfE2|3B&YI4S_brhgr6!VvXjQ*`cn5pb2yX zk|+=(;F|r;~Ei~R4 zcDjxQGohvmlTmae8$Yc}1UMqTfeN2WGVKJB1w73qW?f??f`pGtbb9Kb%no#OX@zP* zJ>I37q6!r)#k(_L0#f?nIZ7SunPVQ?{;DRLHgrD?M&mX>*8`3JKyBX{tqaR!b62qK(`fRRTWIm zL(Z}274bmn^k#;PlbP0jPGl%tMY@FH_{ue7WAT=S zCB^8fj>_Bd<_5L?Cy#s(sjp?uqa+G!J+dGrnpvwuRB)+^8Ph;rj7}*xV;o$Q#&!FJ zEhhX1cCZ6f<2$In+i%R>T)>Y5vzr#WZH*2d8m3>iJF_xGbXR*A9c#*lu{cJp_FNI+ zv9;B6O3(qOjdTzu7=LeK44wnXYGum^Y4t zpvP6ckvUF@RrmJt1rzm1awWX@w%5!dRLdFhI;7=|olDP8s9S`}SR z#$9`^FoTLm)FORUD(z%xI94fzeOw}_76*}^+Kg)89kE@VtX&j_Hdh=u(;z4E9fEjz zv%|CR#I*%v;EtI!@}9p7^8|LhG6oVOb<3N2TG?jjaEh(F)F;W zax<|n*{l&MJ5h@GD3?1@L?9DmT%D#1*Dgkjv2=6!+9gtfLBxDulGQefLMni8YJ~wM zg>??~C@IB*dN)fUGuG~y?T`#FB&tyJ3${UTXe3esvWw{Fk7Bk* zn*7R$#5CoThhYO$y5kMgKW9&B@$`#5?UK~x=o3{+eeG#~t4CDpDv)cck?50W>KT;t zA@?AsfY}h03t~KhAmE~*Z5k}k)FW4QIaJZ5F~d%KO2e`Ype2i*T*$Y(zWaNynDV=4 z0#V*4VLOew>N(kyK`n|eD4dW=TzZ`dErg?$LI%AIA*`R~K8f5cR=Vtzaq&W7JlCsa zS!|k@(+2F7L>OP>R(wZ?L;foHjHuy5)y#KKCb=_K4tjjSoaxn6(-}>>{#_CyW%c|o ztv0F;3%LDD{;Dl^_?KpT*c@XX#IKC`#5uxuQ%Xe;V!$H znUfh;m>LC<`ek=cu)pVCG?9_2BoaY?qhJ;7&Y^>t#x3jO%cYAOXH!i;e6&eWE)b>&FW9u>+tN74gZ zl8T&smnG+YF99E~(iprxbbDf`%8N#2asRs6tjPDN=3Vj8uMf-6BSdg7%F=y)D3tut zy>=G0-{VRcw^DK<^p$%K4|TYe{dFZ6InqX;0E03-k`2A{p~=Le8(8z*TSG2>T81aI zOQ#ut7_#PvGs$I&ytlMeP&Y^J#rDSP(Df*>aZ_@hpT2|`groU*tdaTObVyT)6oJJBI`q@ zJ$>Sgy}_GdP3P<5`8%(Pc3yP{mHtHm`s_s0onXvbBH_0x#77Mj;@=E={dY%n#rNBm z9}cyDZ0UV{`y2BHxL1t`PB>HTQY8p+05_{dqpG*nVni;KDhm;&sYBnx ztb4P{5T(t@)^7OWHgaW@zEy_j;CgJH4pq1(qmek?bLg z&m90HQGh0b5YSf;t6-z_sFP*(1df48L%Qn29+^311rXs-xNvBspy0$tKQQ$z;NLGC zb{a(-oB=4_Y2Kh(hs+|?7&gCL^#=%~zQJZ#;ZpO2A~7KXa+@JfF;K7(3_x}gqq6>5 zi{tYXG)F~32hZkWKC;^qa+NX7Q~6gRZpy=DasuW`Sm^pSHRNFUCKjcRpjnb zefu%B0o(@fo`*_OVo?mPzhm zZci?2>bsC8gY`3Oiz&sWpKe&7{fp%7jEBM!!Vsb2B)qO;AZm*!DquL=!#%nAUH9UQ zpv{cRXZmmQ){>N|Rglk2^mb9t=(qA@uzZ5}|N#vc<5D&9D^IAQmEl+$pb6=?u({ zP$A|~mdnusFCvRu^MV%ppp2uV_uuU_xaq8eWFFJ`=!v^}8cir!wwUnO;??xJ#1Iq= z%zd`ud&(v}+y1|5(x$Sp@gz-ZmJpFi0yohz`I4Dz`yu$ieHHGFnHQB;)HY)F%@Y9c?f?u#>5$fXQ9SLA=Y^}^ud(z*I5?0D2 zCA1s0nH0*z$(~c;0-5E^Iu5H*S>MkW;>kipG)-X(41{gbLmE-_$6S=|-wxeqUG!He z4V$0S^e-v5Q6AuCI22wGvf03~3WU3hRjhfMV{~D`edWR@srig6Nn5aal?SA^Xew_~ z4zR`Hti3=l|NfzFbAN6K8chiOI4sAQgola3l-?9dJCp7sDqmP+p_VZ_J+!SY*BG_; zTfR_k6~dOo_XvbgP%z|l3Q&B90eULG&rGYjc&g+`bGB@2=kMP8nBCY&%9l_(pDOO5 z!=;+h=ia80eNh2T5qDnZ;ct&jf~;LB94%42v`Wx8*7X|AH)jt9nRR>z!gvxpSx) z8w5qX$nD~HwR$3=@M@*y>mKvcc%7+{o9uzA`;EP8l5lv(>v(Sm+td6Y&x7&cqJE{Q ziXcMQO(oh5jtzfkXFJH02u92oYrH@W$^Bhhi1a;7#gA0YR2=IO$wq3vA%)#23OR%{va8;bObUz^s^m| z6U9u3vqf&{+Jv4zu0ox|mO?>cK~3~7zQ}xXEmZk%ZW_a;AL!QwlSid!kHHIAl{h49 z+P(wzxx<@IbFMxpZEcT+i1-*Nxq0NH0*d4~XEur7PSeclkmW42|9+hFC!+@rBSaChi!2y4 zEtVPEg(R&Y>GBo<>qnmfn=^A1ZR%J*mGZCO&h{lIu@PohT__S8WR0Y33?mz`9$xM4GZ%dmS3GWW@(|aRnH(%#)x37s(7;95~-+|8KXA0I$i{G z0i!iOG!r6*FU*hPlVF)k*j%h;8AfrjL5##*BHK5dzy8)oshx02)tUUDcdjGom!)2- zZyr9=^W>@RCpX9jnugN>6v>A~F9X?8pVNz^^scJ;zVO~_6B>Rfft-4HJHYUp&$e{r zRAvJi3kG9Oi#xC2h)}N%PANarn21_H+r1A@a5AR4S}V`mQXA2-KXMi#KH?3Dy}EV6 zH(}4LtQV~6dh@$_l^R0hP{1nqxKvV-y9U`)mky16iV6B0BRPAz4pYN8sp^Vas{_4$ zuueW-HR+LiTc4PJtAal~}Cu;4qqZRh@PlBj)-e0h`IMf~>Cuxp!#>i{i z%`P%Nxch!<;pfk~e83Txg|U-sbA%o5JOs99L7jN6E}_?XjJ{oPC;2N~2DB^A_Dx1H zGmn*OF2gm4a}5aN#1ujF{ftY+2~P@3MwzIp&_^ap?ErxJGBD$t>R>A7000JJI==Rn$NCx-Tp)eo>hdf=!J z{h>LYEUW!ND_}LyK6fs=uBh+(Uyp(&-T30r2?y5-=i){S^m4Dz_$NqOuzqc21y7Sah_vr%=)3M+?H>bT&BN= zg$Sa0Q{>MVKVRK^pX4VKp4|Uy3=OGF0cXUaQBS4PqW^i9Kx?bSy)yWHK4^tC*S6SS zQW*CneytzB=+-`h(z5UG7(Tv>!TrmS<6^tAtMpa>gBRg=`6Q@7F9raoZR=hWDcNc` zIrU8W)N-xp2KF#y7SZ9d z48qiy4p4M#L&$%Z(IhgU-jB?yCGywV)9h=m8)+ftYhOEfSL4mem)vP__oV0kIVCEE zYhLdaFV?h%HA5Dd@*=1rCvmop@TfoFOG8I5^+4*yG_wEr(cR+GSX@)#@wS#i@)GT< z`O1UG)ue_x4Fn4et;V%`7uFSGQ^{x%_ibGjLL>L&eOyBfOM>ztNB&-jcQN6Ug^75ki+#!U-Wh0(KQD z0r8wo8q1sTfu6mZ<&RnsF!9Ytdlmy(#bxWB{qSCvzbxQqV`09 zq3L1zdXOi}=>R6y5|?p)vFo2m;AN>j@vuk4rhTm2iVt-)z6@>2N|#}ZeYj9&A$DZq zxR8z+OkNi^Zn5<-eC>f?+Pe`^!4ZlM7X4r3S%L@ybv>QuHT%duz_CAujL^dIx z-<4L=YJW+a;JEJZL?~a&S>@eP&PRY1cLK^-l6jzcK~BqgvC_a?%>(!^82Md|oI@2- zL=$VTb(0GNk{dv=`>*b{Z9f)+j;_YY3WU6yPxUMJ3i4!_TC8UT&T3nLIY<>NHMVXv zp7AlwSNwV|@g+a2&l)oaSxn18S-6}|LB&`WHaWF#1vHjrStBHj{eCvR6!iQHXld5F zg?(~D6b5$4qrz9TrT5%( zHY*8(pua7B6K&R^ZyEg4Uf!-hZ?nGtnals@;kKt%x8YNl=LNs}X)8Rbmt1yH26rWg z?Ofq&3`JbX4nW=Kr+*h)Jvj%j{aesbz36)p;rYZgWn@gl4~MuWl*Vk+phQSId<_-U zRd})4y{eZ86B$Vyr_z<|t0FA#Y0=s49~PJlzecMxwp2xgN!7 zmK*W<-Bqenjl~l2nq612b6Rg)0w-Ua2c5m)Xsoe#5++S3Pk`VGf@XA?Dz)hK+|XvX z=XTFOO{O!Tdw4iVVG;EBIcyy*KMJ-E-^(3}S%4gU`zAHt<$lJ~fG(Zk|L<0RT%+N` z_jVFKCkQmbzh|o#pk0(WM<*Su%P1>pR8J^~vHu_WkQL37@w7 zw&-op2oa}i8D&NuJc3r%)U+*zAhQpX3&c##6Z9m+?%NGAY%uB3X)uY?TsS+j+tG9wnG_cgiL;AJWG-S{XIHy;xO8OHn z3IFe>@uZSSG%`DB$F0Ye<9Um(qJ2}KAP_jit@(!J!DBYxe<&g@lg&({KqN!x`7UL& z>sPy=&-L+gw`W0-WMtpJ^MB9naQRC4LRtOw#@z~v;5tH=0E`VuKaM*9*d_sPn>u>^ z69@natN)YG?Up&-BMr5{cL4s4$SFzNM|u5{{zGTgEAk4C@uF# z<0K>B2m>H#?#FZ%RUou7Js;qj%;f@>wRM9Ta*?cH^z!SdlzR#_i9%CX<5?1&Fcp=v z1fQNhz67bf-2Lk-Hxaa07-rzzVms^AM!P)|y!`6@$>(pE<;(Ldjc$7E%^8g6^ZgIQ zh_jVCXk`FEWV=7ytZoOD3!Y~}!-KO4SXBOe-0Zwx4$wc}KS#V)gieTJb^3qqDhkfs zwSKO*{6&6SyWQnZq~z))3`m6 za+`=Tla!swYuWi7EP0?(j^-^yVp2-uuu_}F?SQ+{sA4wWebME1`t;4=<6YGAH|MI zDyfjy?qIkFBtPO(GR8!nC3p7aPMCV)WM?cbGA^^%S>5MX8#A_WiI9zno|K_ND2-C~ zyBAcIz5^Af(N3jgsvqoBRjEH64kyzvtHD-?g3q>76iJGthtd3gog-RP<{GJ%7+;*; z(gNKZ`%5te_gApP(Es?NySMikUfxpgQpDfGu~L#VvtdDQBi z&k}C<#3FutrBH&HLiD?na_?YeAZaY*Kkgt-vlG`k#c&}PT%SDz)mInVr`_sYB3)d^bJ`tO`%f}Az*vJ1|&nJXM%jbiP4L<&r?f6(!qDt`DO zx;d(sfLkkQHnq;e1=0Dl8S*#KvH%(rR&9m7(dFL(@#hj6&#pCt_G9cR@X)lMel^nh zj1;pZEggTr42QcxElF2F7b&~5-@+r7G?Y{erywVNAYC7A`Bp_KhxcPS(Q%?+96mc# z_U_*+N>W+HYeJEyP~tmU{p4pzR{2yDnC$sbG?A!Y^AV&mNq&vrWH!9nl8iokVT!#? zrc%e($0Z30J@~<5NK9|;K|cJqII0m+mB&B97KMbN>Ru; z1*9UxwT`{sEAJe(2lGYzX-f?{F6*!M>A)aFZzkQXAKx`qxI_Z!#J&H_@NUj3V z#WPP5VYQ7kC@?YI+#5O4-y^{gAYdxIcj-Z6^e=}~@|&F;NeVtNrH|;RWhicxEO?I! zORjjUL^dr!N03C3>#^IoG{w^8;8$WBF4z3F?v!=dR(f`&Xt`HqH$>&vj0U}IiHPYXvx+# zb#uNjNU6F>p>XrF__MsAFSCce>Cjq8vV80$Qr%2(g3TMuq*`Z!6~fv4LrwhKR85To z7tuuiGNw`j)p&s<36?`=DT+R|y1Og6H!5jGp!M4-ctGtxrc3aHsze%}RyJndG}9kf z$bePjza0&vf*xOnC&r$hOUojdSOTe&)2za)^~P69FpG6=xT=Dm03Bjs6pAJ z)3FU;1tGPRJNaOSkO}hvX*Z;LM$|%f)8$l%5EUKA)p403c7N5f17p5Av^rvJWg!y* z{j|D#9v4bJwJwUadXaKe(oQr1EHvW$Fq2PL4H?U{#A;cg<`^wwT^$Q~u~hbg-Z6Gw z9kRU*L->M^y|!_RU3plYkB(58OEPo6EHfG2CAJ%svk7WsKr$SQdCm}2H1Yfb%&}Xm z?d-x_b>(N)ncZQZd}*r>qYZNm@t3tWGoKs-J7B9}zaJl4QclkQ)UQk8Nh`T}$#MMj zG86c6#PagNCRmS%A6Q}(^FRG);=cp`DF z%lcI?MQJIwu4m|Gy{llJD?HYk$$Azs$q?b+H3?};=mP)(?k8wxVFDKG~VJKue~m7#q^qYtlH!=@}Jo% zy}^cT-~at?(R|g7ltPbQpdRb;qXEljz5M6~z2 zQiwSfKAGI!+SLkHHJ9I+xXtR1wWU)izW9{;E-yu;O+qP0tE6>vDzicpUJ1%lkb;u;g3M{}R&`meQ46TA4obLL4^FXuv2m zpm|lXM<97GT5=-65m451gWgu`OIR!{X`!w}hij|gwuk%@IR>(K z@!Rj^>2HWyA~{kfSJ|hRvw}?dsPpxfvE(J`D)WR^RnaHxYYNQ6_0b^w$5|WE=evE7 z3Z|4>yk5$>qpj5A;m|)nW=x!vpU3tGZ}AOi&bG1&Zjb|Z-1OBy5`)eaA}fB1g+ zalM&lU=cF#fUP`4U(e%Wi=>%EIiQHQ3^pu|9Fk9Gv2E1^NGD9`F=G1F)L-YHiHE|0 zex7fesa-U#ROQ}_j1NeSqL!uXX7h#VRC4k2k@A3Obg?h+1tg4kH2iu*oFJQ8DWpc| z19{rXRzy*g$w@&cFO9&}2%yeDZZW$0F3=zF$H0SN6li3-J%0Is^?!m_r%1%c*dsNh z!Ty&WLo)dS@dWb3b^^P)VmYl!CZ$MJSBViON~8&%USxoE0Xe*uuEdypxsBqFz-{Hj z=Z%_pifXB5U5k0f1~W10VNPkyDVXQyzqaAB4%``TO85?g=_aQXGFmc-?5E38?QEJR zdBiv zbry$cdb~Y*4-bV(HvS7>A;EoL2Lh_En!}^80`{A24tTbdw@-h!c@-3tJwCyp5b?Zk zgoUP=`wPl9--z2}diajRrvGXov5(n;n@0`7M_(g9a?1sB)2sclAAz~xCqFuvLo%I% zz%Ix_i2}2B9gL%c%Db1|vwi|2*OKB2>(qnQw)Bor3*TEow*vIc{8nUXcmV8WSvab`$vhKbJvG1aeu*uB8${GBVIG;u>+3vE{$zi@v(i2xD1g;F303p=r$IysK@{;&KOlW4_4 zQi_yXT$VNEt+TMgu`{bf4T3u23#e2T^s@VY=zm8F)Wn1!samSiiLHt*091KZ{7|2p7E(>`9 zd?|^D-(4oVg-k3yJJ1_3v}RKL836_ed`>$+y(}M6N=QVBKIaTnazKC(68SYP*`ug< zVz7YUwR|H0%=T+n7bKa+&WcYoPe5n4p2dlg4{ras9WOVot!rGiIv9>@S0hhyXX)_{ zl-~g5zdKI;d}6^@V>%dy80BFIP#O|mN8%fLG)(zMSt2XoOKmOueytJ6xbHwkZpty^_ z;NfeZFc+iX9IVovi$<*(#M5p{#b%P&75p2}gfo=?(}_E=h(D1nm+FOgjTbpj7ZXUsf73V-xv^QQX1P z<(e5n8F^?>xWL^WP~DMtl}W)-t185@&^aD9pGF?da+^q|fiPkO-{~0q6#St$lOCUm z@9tV1hBZi9{7=`50~sqIVO0*N;?t^;b0VW5h;R?QpL&;kT}-6nmPF2u+w>T(Ed3sV z%?*Vb&&@n$MS26wo%;-%1BBOC@#YK@tUsTDt|V>*p$gs3!E;{$o|h<{St10on^~2f z-C>0}*z5`l)f);Cm`}Im$|6Lwc1V#U?$EDy3y@;iQdp?5cI-e2k{9ph<`<%RSwbSN z0ZAodI5G5YzW+)fe<~4?no#FD{QZPp<8nO)r1V+-Ah*{oGCEa~Xy-&3X4jmRl`Y_XbIf&d$=&)Xs<|up$oA+wjUB$<*0egZ4Cit=F zHA1{Wht+!@)fvzq{6su&wN7(F`i#AV;y!ayWa9q;$J@1AFJx7<0&wf$IIJp0) zk}~#CYmS55f?;AVYPqyQv$UnCOKIojvET(dsTd-B78FqmS%v?PwX+I~>WkmK(k&f= zNOzZ%N_RIXh(k+Aw=_6(hcrVsNJ@i*bT>$+NFxnr&F}x5=Q$VW;#{0N28P*t*6dk( zeLw4c->*K^IFX2#D}~MQ>;M|~b4?}$^aCfdrkEOKD3agj+xS!o_xd_=1xK4#`+J9E zHMw*=>IayR=#37XZYN3-(UwsXjT=F}yBkOnT{wM3mY@R-C#K;>96@2XIJU*(uIe?I z)Y`UXMcN`}4Yp;^w#=l}^xGYc^{aD}a&ZYAIcl2Bwv$BD_ zSfJCfj)bapA`<>Bmcc1OZN4D5x=oz1gki+CIXfiAlEy1t!1lR7e~#7nCv~j~*HSL) z^Yx|S+6Cd!Y}nm`DEW*T`l0q1W9-~3*|EM7Ni37qPU{L({y0o@ieK+U549afI0evr zEbK48rd}E3IbbXDm~_e595)MFW!l(1LR@{So%SqmVOIh{JHd`Gb5)a!A~0;H1o=hlPA{t;s^KPo~k=svuiz%fJL zZx#i^H@kL%cNKO0=r!cjF>YPS9N29Ul zQ?QV6`FBmu#e^I+v`A2SOqT|kj*m@$;bcbpv!;bAL8C66=%ZkOS?2`IZDO>k4QiHS7bN)dpLCs<7*9#u* zX7bxUW|trT)A1ogo(jGpG}|l@r%l)39c&7+#yx z3)}t(o9d1ZliugoPoj#YRP5?Wyn4#)%1xqKk@028ynitd%|YsWAE~$^IdP;EKo{ zE4?NY^@2`UhZyTs5{Ck<%mcc9p;BH-8>8asXRP(@T)tSJ>TyEa|0*OoHam=*2xN>4>7OzxS&C zN>I&@2_oJ~!_SZkr;0rkF4S9ilcPE1)c31q>8}LoLlxrVY4fuMwnsJ#>#7-K37*qLNN1){~QdTQt`^igMpq{Wj=NFPr#d|V7yIV#0oovdKNKNKl zZleV16#8dp5|WR!{tx>CZqB)i=x8Ta8FcaV?5_xWn5I!x&xOF+>8%NO?2np4h5byM zUsr7c+g)5Q>mg#r)wL;FxC>Wv`XAnCyDO9`51X5A5Qqv?x(^ei>EO!|pyO9TCos9W zB~xi2(ot%)sGYBE93m}PE=-zC#=8$-9-1%$%#>_P`QREst=C4A3HTqpLaz^u58m5C=$wXzO<+CBu0IO{^mM z9)@+6{w>NT(vBsAfTpOqQ>}hnk8SPOU6bmD!Yk6Dv z-LL!IL>l?{bDukT&9Pje*6hh~HqG501ja>#Q+g{~$Jxy}Mz8MPxDR8+z%^ZK%YZ2u zEdR|>W)PKZn6G(c6d;)$TRl2LOo|3%wvH0N;*F%qgcte@sJ|VLrV<|5<4Y_swX#As zDHj#WENoRN+PtY-x6l%K9F4ZRB@wdS&mj5jfi62)4s-K?jwo81 zG=z+mt0a_72|g8A`Z4(#^Kob8za!-5jQ4+FypEM=H{4_7(7e+cdE`KCzuq1@dAz+D zd-cJ0cCB3n?I;4Gy|SWqw78Mw#V=*S^1*j8=c4U4clx&G_Oj7oW6Iga(i!GG;w=9d zb$Tw6wDkc#43&DTQ+`7Z(SU^!MwBo(5=O9W!rxszv7p_OApeU}>E-OK`JN@7qI%cI zt>toq!iQ_*6PyPZ4fma9x9qfnk-?*uAmQ0#)r#N$bFxBX%r!;Z6BxzWI^el+5~z>D z%q?fjB4f&$J6mo>5*gN4jJikvolu#Mv&oi9pAE&_`X!3UStYIWe){H!rS`>Nz1NS) z-@?wG6{}^NU_auP8$4SW+jp60XMZGsd2;w7IIjnc-2D;s6rsHiIxly+7^)uOzl$%` z9bG*id^{OYFY<6IjQUwwON@E<4SpqcKV~d*FV>#<&z`7dB(KP$zbM^NXpcV?nZJMK z%hU{hSZOsubT#r}q<1be+PPn>zI)qP_e0gSyrM6{#kIv5iH_QLdzj9;m zajhIVL)b5jv=H%S-O-`YErde#$`8R_n3zOGlqKb2Kjrb& zyE9+HfiWcf+cZNA$=C0w#uAR@YVA3Kg?RZgBa7f7O2E71RSbE$k~PVf;apLv{F z^DJWiY+(WUFLSw2-OT&@@KE;_mz94P$0p%=Ulz~qI25G#m8Q%(ucopky}d>rag~WPxv;e;9xJhHxeqY1ZTu-K{_N zo}VuGngZD4UIKe2oT8nLzLgzkMf3<5wp(uc0y0+i^qAG8GaRfD>m!)<$3lCEeY$Hs z4F(~%Ah&MZ;F*!2-3tg`4FH4?;wxIx?l>XG^y^cG(bJ2=`FbYV^W>Ys2O0}|3{52!d4XlaEx+@OFY2k

  12. =9^W{S9M=txs`A#IaK=NfSJVEjDd(QV~Uixt#OCCYI9yD$yNBhW$2 zQwR<6K1K8ZbvXmALd%!ytz=f6GI&u60?ADImJBnk-n`{PIHI>SVnKG&if~ zjxESu#9r~awN+=F=3a7{HMF3%3^P3u0J0xu&4L!Noy-)*fN*)VQi;hFA4H(o2(fJc z=KbmEBa4Iw&pi(9;zW)&XTK6Pb$BL1w~I zK!ZLBbR~;Lq2qoF$N?fM&fRL@vn0+Bb|kdKxv)dAQe_X;j6eFwK3RKUaduQTB1Y~ z`T|#rG@pS`7bad=lA>OGbGt~J1Tk}yQu+FU0cjk<9S)X0IDzS&uyB&|J+_PABuhV z@45UHNRA1%%M}G#C!sX<0EZ>Nca&fH6j&3vupIQ%cq*1pZKMAJ1;%JffNw`0Q6%zE zXFUr`Oa7~Y8^%=Q_cf{-r3AJ$$F8HBevVqDpt-HG-LstC!I8@$Aj)fYcsQQ>l}ijs zP~gSK-oY!Odl2I^aLA0aTu>7JG?}Oi%f48Wdiifn6O{NDpm=X!_7H+i8R{54*fCQ8 z&_`1%N-6+*P(v(Y_xt!TRtr@_e3O3)cPJAtuu9%h`E!aQXGDELHhT-P_d<16DCp$u z>i9}xgPC!lCd$#@*&FBzYx{C*fFtj?POIvH!&%DYZQ(@y)%#mSco`Kw`ag!0z_w4* zEQ?v;$WrO{A+N6SGLPGo`t>l%#V~qolDj%=5oyfOs_D%H#hEgQ4YVdm2G(ZtDrvZ= za;lBX)VR;VRBj;yQiJlWD4WaoV|W#(*}$!Xlp?}DeMvrJBjF%(tRI<~V$}@m`}3z8 z2ho!{W+wPgx+DpffNPsLe;4Qph{FVXG&H{47DT3C)2`H`WjMcz`NfCyO#otrFUFf* zleQ{v5Y>mw+;1O>1RB5e<~B3YC)wZ4X~j)QHJWC0Std{I-Mq>nVhC>O;TU@l0)s2JTrk;tF?3o5uNFtLuLd8) z0x5QbR;>9P+Tul>UJv1+jFp+Sv_EK%Fbsi!TI5RTcjCuQ$*ssgBPI0u7~(te=}f2)MzvqxDu6p1-{$4@_@sUWF# zWMBMd?5EQINpLx*&3d*%DhEn4eG38eU;%4Y!V$yyjRzv3dTSEKg~K7rTI<%-D&Z{x&ba}(l_9gChiWn|kyqwpnDy}fXfLNOuND5BZ(7zH| zW2BTld}jn_K4%XfFav3ZW@e7bU#-n9iygct8`fhSwNs}3_9G?s9s9pcm8CG64~ZRe zUsJRWk@T*TgH23Pbf40;L{t0q_O$#wT0-L6nO={9MWCD9kH z+~*xmwM+MylSX6pRicI2mN#8%W$X@Qys2d;kB7#Id<;<``VLxD<}3D4uEh+`FsBd* zbPOMWR>KtRIM zqLy_=$9J1zNkwYG4j-5LZab@OY9N0hPstdy8!Mz|rL{zDutIzCG5lb4RwxkL_?Y!U9Lh|&{osjOr8{i+Sl$B6z(j~;;)Ht8{$w6nS8^zmgyf4`G7m78N! z4K;=YH(X@8z`e}11a|9qJWh&5objoN0;wspS{DbAiqspRJ{P}3absyU5kernBwFcW z%Z!bL<^TI`@Jb|~*@>|xo<-5%z!EZQlv@;t_Ac+Qh6Ih2kZyr(}xp74B(&P^d#qe?2d>U)1e$g+R@2E)wdr);p)w*IadXGPTLH?4rp z#k5e4H=jIANco9ImgJXJ@=h_hOST1k%2|%P?4l9uxLw-8`DU@PF8Va!+4)~I(Jj>^ zL3LUGr>qpk-h}JBNbkKZ;xWYHq|XfDl&gU?PgtfbvifS`BP0HgH`MkE#dWi6$xFy3^eM-<`vcV$md zcR8#xvX9C^`O*y%L+o|D=!fZVz*ex?r|lv-EUj*om1#?Myf}=})4GCg#O+3M?oKhn zu(;LEm;OvmOe|6!`|F8CYAvv@WQLc=F=7P_Qfd51;S5lB1WR|qJ7&Q}uPQa+Dls;S zKh<=lETREj3kKKu>zy54VKcZVd7lNji?VlvBa6^Zl(eXNKjdskk)T7F6hI(e9*R}w zrfFkPSW|%b_^Sn(GDd#`X54Q#47I<8a7ooPF3Zqace}$LnX7Fx*~)%ZBx-seX?gJC zMAnFIEM0MrM85i|BP85?)l}D4$|0y(nVFcbK$w|u9CR28T`yKl^Mo4k2Q#`7n%K!|{ii}(UYfJVx@V6cGTA!wfGOD%n&Tp$Y!8!7#Zbr( zR2VGcw>cSNE1_oDey)i55VXP@lOKn#g7ueu5;sB5?_oGqHf3rdiu_y&}a%rAS~3b6wfAVSk@R2au{y6Vx;nXo-^36z$9Q59Dd* ze=o;?q?f|7tEynXoA58K>TW}_WLvh$9^`&Lc{x=op|v%CY^{)g!Bnh^z}qw{H&_}q zXP{USQXvch)k>6OU|744=xH-w@%d*3XC9HvFv;n&{eG$9!aD5ef*C`Db_NMGiE}!I zORb6LRv(M@J+K2gSjKZowD4J|bMkTvVT#P{g9s7CNA3n)#eLhGmgNU43z|f)ODR=_ zb(|BOb>-0!Axk8X{XI(cU8BU3xV@k_qv>q^-lUwLlLqFs(z@ys39|}XO*>@h*q3Ex zQwh6M_J>RuB$$MlS^(2&eS>L*A%`LF4**KHKk!2O8yqLWAFyZwv>;Y3W(dfers0oV zCOGI*gFi3}(_kiMA}(SDa-R}bH$pS`3$VZ+D56Nie|NT|&;QhAPZpo+rmcRw z6WG#X(d-qzAhslUV)X9MSlh)b=JMv!hMoUpOgggWQwb|>C9f>%#tX6eJZ#HWnHL_6 zFl*7DRF>1%e!f>$_;a}b_j-|wZ^jxNKFRlC^wh^LUjp&Xsh8TrDgEz=L5~zSq-p%I^o?n2@lF)1a1QZO$#OIyY3KlIy(s^B*^5Zb`P)1 zs32dt$HgYXNEfk+Xqa&QK)Z~rlH9IF|Et=YalX%Jp5~v3fzUtnE0A)V0&|Es;^=Az zXqA!WzK-7B)>U}I@OWy|lTCTl5G0L_t)}6uenN-QjuC=(l3I1HU~KU7PH|_!cZ{h0 zoX5Ds4>%IC(m{g!J;+<-fpjUkVUaPAk~x&tlU8148$zYp9M5S=|9}X z#8}>e<{7gUhT*orog+B@D7NA3V|kO7J&~|$`WgpFH-NZ8J3ZwHNdG&!=BiBs-)>hB zSqx*fcWa1dUXT-@$4Le2!Z+=uh;r~L&@8F;p?#VpSg|&Q^y2x`xc9f0my;ehM!Kwf zhw>639YZ~tOko_c*@;T+7TS@}fT!!qS#OqAkJpA8ucm2-d6zGEn3j3OVLU}@c5H%whwKh zCzFjFzmSG2n8)R7TfmMvT;tX3_IbVA`|aKFPcZmLpyS7g=PS2xzT-IQ;ld|hCtFcG z&M#8w%ZLm=z|Iv2s9C11Nn6a(RLe1_!=lL4sah{)-WkDdG=RToW363wQ$UbPN=X&F zOUBqw$JNJdhZ%s)eKNsud@5|S5>Oj+YzG+r&)l? zl<8GNfZ_~jh7^n3zi)z++>g9*IA1_cDAq`qLyXRg)>C7)EFH(Z`&}+Mn|+ zo^j7L#%@iLE#Ru@WNxXpQkF}Hh@{W04F!Bm1Uum)!HTV(7oPv-Er!QSq<#ST8FI9r zc=hrSupWW_yZ=P`Yiy9BBe8UL9f9IMjN1@gU4cNbumu!vi4OhgF12&gJs^1bKnKW} zj}t0#aht!~x_V`G`|M8@!=!m=#V3$ys{a9XgbV219NY5oX9!%{1u!FnFR)*wAd{l= zJOZKGxcH0q)x38=0B-}G63ffk0R&H;A*%>TYxZuz2dI+Dw+F6a3T{X@=&8XVzRp_N^4)n)qgfOgq@A>w_Qx5Mgn;20XU;`Oxb5bM&z0Yp;VZT$E_?C@ zB1S`J?4Is4uFjyE2~QRN{&o@ab2PNr9iqln_^@AE`EPI1Vlau_2)P3&=CqyZ6xjOP zfSOA_fMa*MF$%qR>yjx~d&@HQ71HvQlDL(EGyapfr;E7ftNgzk1S)~2i9ALSPt<8= zg#7i*fb2`d8uyd9hkI1flkWJYCrQ99gZSm)?wYgpJnqYN*di3^)V2Is~4Ohl83?sf;XU6nzQ2ARsa?^SY$`GuwVX zZ*hCn>gF+;*?RcHqFNU}=yEJ){EqqgzdvqdN+OP%w;=0QFPT}h!sXgLYU~zNGX){P z7&YnWSW;lrkgI1}-|L+p5Y-SO#tFyQsd^*Qk+tDmvc_T*oF|7~l`#-2)&~OBri0oO za0SASOYJ$BYA#F%(eR>mPwCBFUw$E~42$y7TJhPOvn(~JwN&41*i|POd{cgLhd6xU z^;LyJqm6mIzlF^MZL-VaSlb2zq-wEL^F^4VBd-Cj~D9-&}F55O~^`ccQ|LophD8 z_kAxv|JaOci+=k+*QEXgiiOH1XpgR594jZ;a6cZVSJ^>uB?_jR2`*Xn6Zy6$AvW1; z4rs|p_k> z`GyD5T?Arj_fNs(Z0LQGe|zc6ArjA_fVNgBZiRqf8e`nLLayTL_%Pr+W(8m(xK&L) z-c&xuc`YL6HEQV3^9q5#S1RX9`PCGr0pl&qn8A+zyz-XaU^QrwcT=}i@m(!2fs z@r2F$v|k4Te0jxDee)$?8jg`NqVow-hRDPpEPn}jf+)fxT)EK~?S`jdTi$g5E=Lq= zE$wssMOZ45uwZ&uEpV5u148`9{W!*T!RKQ775JndfSbm;<0`r{@T-y2Z~{mzC-g2i zy6-q%!><@$z0CP)>a4q(EcSdkQPht{VEdFW$%3}`>}B%}gwM5fEHoG|zYWsipIY}r zgHR~Lp_PFilS=@VU&Ac4_DKiDgN>@1VvJlQAG0TN+wojE2)D-Jq2J`-Abj~7{Z#6C znkn?{j9?$Pr&)S|RN=rz)SX@Ca#3T4!+U&cZ9MOUsmGvtXtLV!l^iWLBgZ%)|Enwykm_toIw_dnbWt+@aEPvFR z@Mexr+lTM+r0g#?eD2b&ox`v#s8Y<6-%u6#%eNydZ?Fp8b``69qgf!HS#+secj^Gd5fL zEa8VYsX{GY9erm(Ux9vg;!5FWWIG zEAic3UYR)Ziqn^vN#TYr7!SyES+!hgZT{ubk)1ebp@|s*3m=y#8xT{xnf4h+Ja6Ch zmDL3Qgb?GKLLv79EIE3s*!T=ywmRi8F_d7HespHq?L;IQ6Xdg(6}EM$B}?eR^1*7! z9ERS5Bdmdgy?^6?@GX$kh?^-!YB@1>&^El9p2k|br()n};6YTT1ngN`X`)*R8+_?uIAJ9r%Ofe29L9M zaTx4rui8C2kx3A$CBL@OcS^@^_W3aCt)f`cC=6ZU+8)d~;Ar01%^inP^uB)9-!WW1 zGE=??#iu?-1Q!!B_s?VQilKO8)%49_$v!%jy>)JWv&Q8G``)+rAbyY^s*LJ88_Z3$FYrgzd{!G1!z${YT zd+{q42DB~)N?d+%(FnUf>C5`riPrfNQQ3k>t~zZZS1#z1AA z`x`=Tm%?kIGL&ZQ^b9n9VydXE`|-w6t}mkVHU90NuH}&jU_&PQ++?|qED9#yvdW$L zi1$8m*=Q1I3_P^@D?xl$0~Q1B-6`<_1t>lFSK}=(Um)9|_}jnNCiQosH$ij#ePL#+ z*IOqFklK#8Uw0PuY|1r|d6&+dE3gqvEJC^S%W?fsq|V&I!)32K5$`K#S{B#|{Z8!g zR)ie`YcH&=Yp4-jy0S@x@J?@orI*!9Gg*ZdGspVlWcXpBDBE=0>BpDu}0J6hu zg=(ao+Q;1lSqrniC_}Hy!^zoDqH*PgdRq~&%VWi16#1mFWg)5jiIjW>wN{Y=fkH1& zrtbmdbL04Y`i0=f1}X^TfPG~0|q+J2;H@J^nW{B)BUVg zu{J-xta_|O;bbr6k^0veBE+35frjpvErW+Y^S$UeKY*C)1cOG7KmJ3rXbQSwf&0OceYn}*0{ZMo`8O;4Xk+JrE;}bmo&P!3uz~vzlOIXrR-P8~+r9`-rwPAntxOMf}`3r%MtG0xx z1Ao2&;8gIke@R==8EM7p~C9IGObc3q)1$_CJR#0 z3kh|3)(5e#3g@$u&a)xb#dIPQ(n=bVRTjb@b!3$SbaNXbidJ=bq-3OQ#)=+tr_5j3 zL3&fA-%&c~co%Ai9;p#xrP$)G$&P;-M6+<6sQM^&eqIvpnQ6qUPelJh9VQ9Q^i2>K z7OK!U#Q^6Wp((`l=F@$uCoAR9>I^4B~)1KWpqy{zG%f8`{ zZwDHVCJH{M&4#sqLAGG-v-6)pnJNvOol(|qRZb53T`&>CzF)U(^)s7U6#LS~)A^HN zG+}T!U|ev?8$JGixNH)R%O*LcOW{NZ{1)Z^+i!sxvAn(EgK`dk^%VS|K9dL+=n9EC z(-U@O?KR=^%txbE_t}wem;UWMD*XN2IG77C(rOBu+M3uGo#&v1LHq~B#nYp8+20R_ z?2qgK)Lq$PPBAiR8}Rc9tN&J&(Q2TIqQ(k3CI8 z{o4gdADs2Q5igz?fJK!=x*rh^^Cl0h=4*gI*hdf-*=N6D1!sC;H3ZX!zY01WY7tlt z(ZHeBDw08V_9Qx=Ii5EB=?HL17t-?@C<{0lL4QCUoe?7SrHBB6Ocw*#P}skh4F(@S zm26-d%n&mnR)PovFP85fzX;Hp+7*2)^N1==Xn^BbBVVCq zO&iKYNiAAAbNb;lZ@NcFXM9}FE~z#xqq9qS=H{y#PpjN^GVOSUWxjiTPct!sXyw|H z2D>nETrw`v{kf^LvfW}SEqXHUyBu9Z=rrLVZM}M9wGpp)jV1VSMPz8xlHK9H7iG;J z&9yfiDj6?N^77Om8dqs+Rj(dD-T{B=;3jGUxuJmXriwZbJt~<{&&l97>E^R z=`P{NASZmc&%#VLrTKv##+PF%%;a-v0jewzLLpv!rQLl8SAYPY)6H}l-`-s6S24mF zIZkD;iriYLvxYl8Kuf8AN$>2a&j8cQPhl8}D8sMQw0h}}tsKgaPiX@w*oJR?gJLBm z7!bK@!6;_F7sAfF!6ZhFz_!+QwT|hWZWXy@>kFKHO8{gDfJ|8Z8gqD`q3X=GYkld2 z>$9D=Kso-w_ul28QUn=dq)Pl7D27#DhoxoNfBEWgCtOn@A_voXQc3;q3 z2{`25H`u*6`dI|f$>-lK-&jlUncB>QSj;s(S1Z~Y&T159vAmO@QMP8yO3C==}Kt-=t<)&Z}11C%(N%?ICS z9HKs8or8oMz#q+CTFds^%ak>d(^oR>gKUl6`I?K){07iBF>3W2(58o87C{rPzY^L>M{LY=Uk{~|b5P#wrWJ8Jr27a|F5c8rIRxdx zV?Q3!hQGuE{k>tqnrkCSN zkNZ%O9E+ZK0V&>BzVm@?7Un!M2^*8Swl5-T z(uG`Bpc8aR#r`Q-?j*b6u8cg^)dj4){}WALJd#Lbh86=s6ZP1zK{B8c|8~bWK#}GN zsNFmr0{{Fx06`jfl;;8t3;QYz{%~Kbei3WP%m5Y12k+|q1Z25Wkb*g%uShZ&WV@vf zn2<4cQ?=h7IqX5V`^1Wr_AFb9gdxqwhF)$c<3~q$B)o|yaU?*-*qU6=2fe;C4nXl} zpJ0;jJ07og0@2!l3HR;;pv3;oa8y(s1WU&6^N^lZH2%}W85FY@x^`8d$=JF(TBT3} zi~rKCaGu+S(7`vHe9NY~MjhP*dX|;DJxK4oS6jURO>GZX+S|R2S3CUi(J^N@{()v_ z&Y*sX;2k05vy53D4qF6H*wxNJvxPWZ#R=iMA~T$Qxalh>KA72t&DY-)eNkf^Kz7V# z9vCi9g+w)AH(Dg`SnWyQcsEW*M%e-~2Kp(%hQJrd9TY}$uley<)vIxV5X-iI>$njKPt>W`an~r`)&^@|tpa+?F6BB8NpmjGxHT&+b(tBw_bZM-nJd);6 zd6D4P36s|(hUsz*TIXiMhuh9xL5yEL_od|&&!?zHZnheMpzfrufNR&M%fgcdIW?7; z2`ogGOc$RE*rZ6aIOdUg4;O|p>~3}^O9dk@DF_upX~Z2DtP1C!u7Hle^0D+-_FRbc z%D`2b%JmUJh=<@do40MM$1#Lx>?iScC+f?V>+Q6930-b<{6DkSgnsA(f@x(;5bsZD z#vUVZC*^OHb+Rs~P6Ji#{W92Spu*dIs<$Vc=kitNak^Ajas-^9FX&^%*;4for+D+* z=k@?hZi{X!FET++$GO-ez(t`=+o{%;iUgXaKW;wYl54#IxGejpy|dab*4O-0aYo6Z zZ@d;ujitNHTcBYWLz&kGwrrv=<(oSo9Q(IeyEjZL>tpXzy#$Xn-}f&Vn$`qL!^Ywh2adh$>8Hz23bn;WVv(9RX^pQck!95 zfr%mtv^Nsmygqt-_HEz9uuksT-O`e(Y!2lc&%xZ0lr~|Aa+WZrB{KiZuW;i zlMVhNz#C?a1N(z^9E>2e>)GzA<|4N24#QVGI>mK`pkFk8frL_~*W zO{$8XX^GcF7L(vNf_x$7=j&eTgno4SpY4N9q%t*;j=Cy zly|divhuukN5FbfcQAf9oX*Og50})|t37L9qnh@6S|K7Z&%`V(l7l`_ydavs`Gv;t=F} z6+#NsUyss>+<5|%u?YtAW1w^^t8wF^rA~+V;ze#+{4q7X4Tnm1X3L%CkY({)fyRpm zHUD&YPACT1_LCSjxx(SsApvR2L4RT9T& zyPH}?m@35qm^9b;VL_HqG3D z+nX-AylT3bWR2}xL{icmY~kQvY+*Vm&M^&rp)iVgTfOw)E`6op5QyYebvZ}qzLqmy zBu=7?uDg`+#@jZJY5B^OS-3`XNU;JUedeNwG=-5})v15fHWyF#!|e9@+9EAVk(x~c zjY8=5Pt+j`ik^Jf#PUVs68bUKpD)0>uK@z6Og>o?zH=f%6l z3ZmH?)=8&?^7Ac*M>4OZ8AMelM&2_CW1zh9Uq^ilQ>EyZX{#wr7B|t0igy4#CciaD zLP@VlmFlH`ph%S{#cadxHgtQ5SXZ8D2&c?~ z7{c`C&ecir&!EKem~{RUj*MA)`q5AfXU8!_$o>IydJBWXa#1)FI=b+AOujoqkW@B8 za(b1GcLLIL9;eERdZrB)rK$0tEYshjH^!{#^B?ma}3ZFi@vTvuyf?W&t1 z$#^SJLLZ%9n(?bA;#o4ivu}$LOT|%dd%f$eP^SNDK=0kXRHsC1|Hn_nzw&9`rt*-~ ze0tMmyyK2597^`@ghgO1IKG*A`xF^#F;W@ZkhDtgVm>{ZaZ^!;3C2Dx+rO^{#YOBX z&%~Ma-r2ynF+j#g0hJ?UVn#YfSGui)tFdb}q8EZOnQ=h6!4oKKcXbuv`-6yY859&< zf%T50{-zG081D3p)t7rT6(vNn^2Yhe>`I1$^5~{VBT^g*Wy)UPv?J^YZyBa|9L^l0 z&e#Sdx@cEy5CS@mY+}1HQ^hdVslAImM*q7U?(tiD_ramt4u643!`|}amI6Y zSg&1=f{zN63eGQKIdV368X(&=b~9%0)=P^AzQWKIdg-Yr0PJ*rb>=Rl{+_=NT z@lVyZbo<-CHP(pwYQ9dF4^x_>P|u6!MqhUS4CgUxNPR1@79QbeCgv4}r4gW9lIb}4 z=8Cy9;Xvx2=|%-SElF{|TZG*E-XRMA2vwLFSiQ4esU_>F@l#x7jwo&}szG!lqn41U zLf2B?FRGwzTKl!hKg#xMr4VAFE(PUueV)pRAzZEfM?*XwV~~}7?p!uolbB(7HI&@X zl&vLXeQ!ESwR&p9(xpGdVrttnEtY{A50;_mR+;2VL$~JtG7w+WoqoldeuZS#X;^#X z)BFV?eoGiliH62*Ttrc_PPemoci_{RU?YOX??MPnmuslc>b*}iG&$PaZ}!O_i(X*o zz9Yp&78QQo&p6NP)Ga1Y$nueDzr&xi?fzdC27=j^B7>R9Q?)j0+SfBlV$mpLupG4+h(JrVa%k3b(c>Yk4)^5ZnJfxj7|SZ z%}Rd=j_p?}vMli^q^CpEjc(VV4kM5sV}0&f;28FIvVTp9@jny)$BuRf2Z`W8Em6t7 z_|=nvl#}8a!nGX!WmXj_n@snT0xda)AZ`A=lwHV2LPNQZq$oiG#W^mmCs4hUAWc?< z8&4MW5d$L2U(jDjnGkZEySIX2878?X)PnNIsXyFdc`EJ+5nXiF67tmPwF`Yt>p>vJO?3V4!EBXvn)snhL9vR>!Xyd|uX94b@@cwkbHUYCD!5Kf!4F zLQH$FqPe?i9JMz_m7 zHEqrFSPB=E{^iN_^k5nkVN!>DIwfz-Qa;&JkrI409j2X0^&5CC=$j4hg9$f+67D?mJ8zF1XqYPIm)URz=d7#2Lpuv z0W%j}nW1DA1XX?%@nB1X46h|FYN_)-7G` z93QCuvgov)uZ3=KQoF~wZqkE{#>v+hc3*$}|2(nkY^z5B>}1l?#V@IDw3Pw-ql(K? zJ8M^)2jl@H*4}%YF~iSMw#F|@`&_fg$6zdab!{G$>y;3RdtCAt8FxDHN>6MO9bVl$$7 zGU1o+1xJYT@DYnQoujFT4_`dMgi|261z zv8{ruk@(v?YWedr?-v5fM6K(6fh*R3J`ka`Gx}gnTkjhsN~yGxZC>tc4j0|gD|$`# z4EoWu{aXn6dXaF)dGPaK=e^dQyF?c=RbZcW!+o#TP_aO8mC4fI;>_KWUC&T#Wgu=jR!VN- z`E{h-%Lb_i@r%kNB;f?HX8`LsdXiH<%_bsO(;%TkXH3-7j<-KmlB(PL{V**C)vm&; z$er!}gfK@CtknGvA0yv~jS59dnqt8Ej!3rv|9rLYSgSI}Ju-Z7 zwJs50VJq{s*PY%s%lRKpAd;Zn*LP`nV;$8D#9x7wBYgaS3Wf<>Qa(?P z!Rj7YCP5{lIN%-pRw+QSuD;Id~BSV(z=l`Yw!lrC5eB3(yC z&mv}}Ua0TGF`&Lh20u`vh0S?F1za3JBy=ZeF>MVn2v9jNI*nzEH!Qm@0=}Y*dh!nl zJ&bXW=~(~gbMp_9b&Usy_}t<5RI@;d45+36*4%4I{N7_pgqZ2=3BsEUJ@@i|g1luN zR?zKQasA`oL_V!d#F!h<;u#3oE&aL(3Rh}X5_)1On+5`a!BE2UpMa&a!l15XoVJ^y zMhru^?kPs)vD6ymmpu?3)XOret0SY63IPsc*LDqPx=S||A$Uha00=R_7NRFo19m`X zUJyFG1DG8vB=mIAGo%d=OQ^)bbZIg>QJU^(lR<>^HvwX(g)~|ph@*7@g)nZvjKHU< zqF_vtQ>qZradB)kgJxIu_EO9o03$7>@t*vdtyE?D?Yot~N>|&!7l30y-Eleiop30I}QddlO#TzrS4G+b+5m0ZVNdC@pelVy!JE9vo8JlRG|*kur%vrUdw;U~fXa}W0xA&V{D5AhfGPPlNkne+2+c(~z)_XUZsV=dDmRzov`|;nx<2yr3DBe3xMFEJ2j>o zE(m*!p)3ZD)43P$F9!0}#Z@VQLl0kxU}KRFa)l&{S=RG zz4`puoL#K+Lg59f7-x94%@zQ|=)dgWqBPrKQb49?1gPIT0KBf(N1|r;Yo)kA#=~vT z-|qnTt6?%570;U5v1k@pIY}L3RbpC(rUMbGfQxR3FR)t#;{fWYP)q=a2bvsc_gxFv+tlfb8^yjTeJWeG^u4 zs2`e>BPqVqauYoM&~jv`4&LRl-|~+!lsCNxgvU$uI*>_gBdt&Ky*aA!>eLMBNAYC- z*~`0#r;q3mBS=EcUT=r-WJ2CA$2ow3ZmP(Lc)RbX&lnXkG!kLmphOgQqur)inA70~ ztn9DZ_LQohSJ2%!JUh3$#V1@B(hzc>4TU95%TOh*5AM z|INUbA3g01HzY63%Q6V;O5&GJG6{^GYoVASgwQobw{gd0z7n`RFXFIT;^46 zDKXTOpm<#cP7@PN>J~C?Ho_;0DG)^@V!ZwC=M&$*#`XrZVIbe#%}(mN8-Uz497b;4 z+$mZTa`Sel71s$U<@ivXJ%JUdy{n`;L=3Yo8bPGEeFl{ACfO>o0KYmxuZJ@i-y|#w ztb`WDuT6llu+3o9sYDEZhv~$wKZ+87VT?6a)bJX0xVKSIAVBSk~m91hwDFPHuStlLAV$J%{#ILNX@~y4gu5wAjXE+M9LQDGZ4MP zoB(gJI%Sg_<_onSKhTCE^qpY8%8wyVG z_-{F-q3`EA($61+Vsiee32ElV37(=7Mu{|fxB6qHjtTB>cb;)8v`&Yworv;K_@q}Bd{WWt|0Alz|&R`ld`m9F=+i*E##?H z_zM_n0#6-G>%q!OZ4hg-Q5kjpKE|A&PB2oI3Dw%o>w8gf#$GZ+L^kB${XNx7aBHo4Qw!s3TlGCSVfHRVHu;J-ON= zpmZz58~MRo@Ujkmu)`kcnSUMcnxY-f#YS9#LX_hD(aRnM*b)54AqTuj4PgdboR1x? zso)8RBXXZo(^_s{gW}-hfj>Rp=6?Ri6BNm@M=VF&q7%0d`)!1eHt+^dW?2j$RH@d2^Ii@yUhJ}~`fj_{D_Cl}Lx$O`b7A8X0%(_;%9~bIr zJOy~nBW?5bN`(aUpW$7TlYzyAj3iR^srS!Tg&oGF&mx*A7yV=np9OLopv`F9S0jNN zs%XPfWTp|}und^BAFc(}1|7304AsnPz+MN4E~nSGMI|NMha|G&FZb}XTy{&uRW)dP z-G*O#0Z`BY%5R~92aQTD*rO&@<3#*xAyePDpnf$gsgo9DbTDZmU~MiiKA@mW>VQ?F z0EhOCmo$9#I53d8z`T_IuG-IMv<}RgZ7Ez5%1s;8Ng2&mWjt)Gqou{$NvWoLP26v? ziNTpLwjc0IlUnQ_@SHPsiiXJ2&M(nuQhDM`QL|69SykYm#|D%e(D!2g3*UXFeYtBu zSWLRI#f6mYY#Eppff&KC{lAv8YT}Rxcp+k^1JhT?5~QijP_Ky76Enw=+p=-efk%8g z{>ZX9E)F7@_|FB?=+K`>Ct z%cWPVw~0xddLo+kNmps{gc3N{%_9``=W5Au!7l$a;7QNljLOWdr@$VVCV+(Y>VR}8ZK$Fl+tUZwo?#^ zsDSs|H(H!$z0oAbV}SPBBBaG|UDkME6gcW)ki#E@>2`#b%YNAA;nc znM9IyM3IN$8)GDX1zSdJNe~|#qdS(8!o}I5ogFhSB2j2UjPPH=2NkQo(Vl)M?Z#lY zmoyY((r$w9OEV?Y4s0K|r)5(aK?jEmm?6tsf`u17`ym8L;4sxTeK}kO9Y!u)ETO%h zhpYgjBLJ>+sUUB{2NqaFHf}T`=P#NjI!L#Ae6pG>{Rf#^06ZeQo7tF8Dljn8Uu;E@ zl^zXQ)3aL@5e_V*Ta^^}?7Z)1!6WE!XhD!2LUha z1&|faoCOqAJ!m1&!HXq?Yn6{#RCuU?7mHuP2ILmMswS8IKi))rde*OkD+ZHH%D!6y z{@)QPQ2fQiQnj1}sP}OXaAr>HnsJo_=~Jbp8|GC>@{p;)0^&x8L%bK`q^cy;(0`y> zYZ_C10W(I_gs58lN(vlg>p_^fh%&#MLAQ!^LhcH6^I%6C%{wP>y-jC6ADE9M|1U)T zJ9zZ?N_yygzq**pYJNQe*dP(w%u38z2sC6{cSXomQI-@*i@ zVwOQyM4CTDxJ3+@mX=CSRr`=`h8TatQtkG@BzL#~$4Fr8sD1x;3obw#ADAtWJ0#6D zI`}>&Fy3!EQSHG12XO@4lmQrz+RT>+(m~idK-k*3!ufOxe`xc<(HS-0 ze5y5XY^~6|U_kbA>H6nt>5@aRhbONseIz>SlaccbCyah+!4U9OvIXfI!imi$3=e~k z+8@z=xRfJ+tCP~Sy~!J+LgY|%2i?TQ2aA4wkH=0IQhz22G^V_vwF8TMlQIOqaY)Bl z)JAS7$C643`<^__RF54nP0w*^7nHXf{P{F><428pJODTPw!uM=>UG7HnZpF zA3ojDRUX^X)#^^wV5OOrVoU!VYubEmb+otvde42Dn`a!&UlXUc-ndTzD@hb}bWOzc zM$M!N^nx_Ou(a=N#r-Je&cX)Ui$6r|;uky0U@CgCWi2rD`v4<$*qtV>EfE2D4HHIgjp zfsBL|pCbwWMy^Yl0wVWkHS2{ihF4FImDN$nVZ}<>FE9u8HHsp2eLF@d|J5&mll#v} zdwg8>Z*1W0ek-1iUVGA{-}QVd@)?(gf9^{w@RSA$dai&$kABEFz7P%c%xr@KV?@0AN%ei4SBX|H-ws3ILOj!~cw?1$|x$#3F%w z{+FS!XkE1NU%+O^1xRZ0hZcdo2;k8IT4lI}egpW_QA9#O!gYV+fG6n?4+|5A^fMc& zbn4&XL?#FT+z6>YFd@!Q#1hVbE3KuR-Mue6rL6!d$@wg3lZ=6=1MpMQZnS()1@ty| zM=T%0$n!nSLT(@6w8nb3un9S~5!CRmRcoX;hs#b+y8X#sEgsKi|CYYKeQS_i37OKw z&1|?nK03=ad=giBjqqTie>*$NqEXJt;JRG4>l!%uM}~GSsq1^x;J1J4%O@xwX3+JE zGVvLUU9wXv>W!ZmZAl&FpD60Z64Jr`?D6QhM~b<&x2DFleLRk$Nhqs-9K;sdGBe=j z11L0O;R#vq#vl8a%oUKYEy2(|0x_=fjRy*qu(_j{4VMm|f3-czrZGEQZuqw`@1KVlgvU+DJvuJJV7I38(csESOJ6 zYH)<^2^Pg+7$tZjytm6hIr=DOmW`Fjr{ew!rLa@*ncA1tdbRtH?h=kp1*mB*6yPbtq#|c-o!(-`b3tty#HE@T54`!8UvOI{j!S&|EaA z>MQl_x+Z;{EF;KLghapv{Lf_#*i9Em=%mtX22Ql-_c+Y~ZK#+&-!C75t>PnaL09Vb zRhN91YEam}C{D~B9MA3{!$1s!p+(YhP6CQZUe~kXLpm_mlR1mer=hPvdi?fw%d}Xb z`FPdG0JIT+XXTfZDde>HtupbO$Y-Y9Z4jjhuP8V!6 znyewC%~l$YC1Q#$HvO*B%}jxC;P8Bt3~0Sa!qMyi=jnSpzgLN|l-P;f&ozLh6f3bk zJZ)5OI+@LHLTe}DM?&4;+c!9&V4l(!{-)>Sa}$E4m%(F&7=7OHC`5ksR)D3a+kt5@ zB%gM7vao0#af?Ndf4kS*a(mDw02K=nxXj;adj7KL)_y%VXR#;Cx?ZCnjzT6enf_Wa zyB`mK3vfeN0@JLCs8!_T5HosfuqxxFL2jD?oHna2=L@?712V{tJx-HEJQ)$eM1D6k zN5!qen<>+)#WlgD^gEubQ1dW z**>@PebH_Sg3RZ7Uw!NIuHje(OstT*w3F|B0N}*?*I@<8E|6?UH`xWNB?#MX1V&oOVxo8 z{Cs4a$!P<$?;XXW7kWL51j2Nq<^15W^X-4WVYg4a=f_(Bs&L7_Uq$jv8(WA)BDxtUpR=+ZZY6Q{8Z}dus0NZS5z&xr zpu^@nkQu(d_aGAF3iG4aJEht}lnAhWg%g8{idNTM7oU9ESJ!(aVh(eIte5XDcaDiW z7rO969_;=rGJ%pXykJ8}r4#k1hkm62p<7S4o1 z)_U6`A-6pYMM2@vm!060mPVsPMwn97)21*Hux)X<-eK_`8u~Sv`K!b?k^5@DS7GYtr~0`)$4f}+qcA#XSqdZ_*{Cr}xvXIZh2R)_8in;ZSl@g= z;{!al8G$VMN_r<*Y?lg}v1Ga4>=U3#t=5|%#R6h?DS8{^e za;{z_@v~<47qhV_U<$KZP)Ilr4*=y>6LPI+DV$SfFOLj{fa`j!;|@my<>+9>gbq8; z=cZb|mQ;83V=CrROJ>RiaoMU8C871VW z)hG|2KjGsvfPyw)eyc6+`uaeyb>0qH<$k#SSR)&UhB+X;eI5oE@B0D-6`ZT6NuoRG zI)kE^Y+f%PFsPtHaUobCeHUV$17y(D^<>u*ErY<puXlw7s}Pq&TbVnY(8z zP{RUTBmS#NL#mG35kez(7lruGPtP@YOfu$WyB)6(eDi+H@%enYW4l;$A zO}SRNGbdcwJ|bM&=-WA(c7zr|Jz+$rqsxc0btJI7vECw&6AO3@$uCIo6H)9_a>Qvt zjH2`!B7j&K(o>FA@~rWk&mHa{K%AJGRZ1X54yX1d4wEeS8cT?VxW(sbddP+dpy-O0 zqS4UV?<`jos@X|K1+e4ZdK4wA3*= zHHX_VOp%8;tL_jD`o@BeM~5c8bIYT&biDeA3gYjtr#M3>yL_1*H+vdq0DusjeFUjb zl>u;#Y($mNV$tGWZs(Nc4Ms0EIQJ`o-Gm!OxhhIZHB9;xTOC)*g z%QM|Anb1IQPh~+o>&GJ@HQvJ9AV0v73PpULoNm94OL3rm3=~N0z13 z9)RRS={gD-r~!itZ}7;|dpgPe^gjBpX^Z9e%)uCf$m$?PSWhqv`+aWvD`p!)S$&|f z99BP`2a}+NacK9Z$Kfx)ZVhKSUocJ9904L^7Pi&YKEmuc1Pe=4WK6w+6#7T6>vw>n zsE(WxG!>p$qR$=wZCsuvPY?cA?cG(DhD*1e77eu0y5$NvWTHAfQ79~YN_veKV0fXA z=e3n0p$^%hk%EyP`zQXgqT3SQ5v6Ca zcG}60G3*}-;aO$aq0laH^LgvkOvm9rtZIZ|yx&H;m^1Tf*jptgH~RBRsc}QuX>cg= zV*zJWQ^>@I?1O(kn65yhVtJM_^MGbtdqjPesZ9g|-mIFcOl|~o|2I&da%m@-s5duv zn}w(X>3EO|wv0JlR(OawzYvL%=ipfu8vJG+%~CiEC8WVr1oISAudrcJeh~z-B+M?3 zXdjCtHNgYYg}LNmVXRO}%eF?}uFofsQ~;WgyPG)_LZk**lX&$%cyUzK-TrSE4Oc3C zGBBZBnE`}nKbn@lq;bYo_H8E^X{S*4QDG}OKUR0PA}k|+@zAHzP^m-n*eNJ=W(57q zi>(4Pg0}#5G!d}&pClSf7EfgnQx|KGoiWL4aGcj5B`+Q%L>-YcaWe?F4LYSTd(NO91~bz131!rjV2YP z2h#_2KeQfw-rqprOGO=~Y2*yE3C>XCa@qvoABdG?0`J_OyzW;Dy-%FSuf)`*=@z-N z*7;Ey(#XW7P@^$%*zWLoQ+j7kKLP`5rm$mJ>iS$07?4-Pn}&j5M!rOA;?a8t?@M(B;$LV1mN&JA?6wKqCpWDWCBeV zd?;Si1$RCwU8^X3^Z@0QcqJpuK&bvmoM#|~XK@#y0IKX@Lae*6TVGyZVzM=Au28Xi z-LY$jMOnZCaJp5Qs(be3XwraQ)g)%2edEg{@c1Fjpu7|k)Ey~Gvw>s4V_TnUK^Aqy zU{$WAndr|Qp@65&QjNu6lqNS}%XcRC!-Y!iF4uFdrSOe_XXP^u9l!DA>qP#M9>Vv1 zDDY+A`EN!U!pZ6VBpK?`KrxIUS*Cn~%~*g{7#>JSKpl+_BJ|OeY^zQ{ux&IZdA0+J zEPUdTJn4jnf`|kXEzHbm?qZkCkss1#h_2r(VZwVPx$TZek9)4mkw=2~lhgN$=t_To zZ@li%@6!*?Gl8GIVw!e0cZtO82+J|#%U1(ZWwM-Hfcy~@L-{ja@^6f*a3A@ z6!#jq2Jp-?_TS3G$Ma#J5;d&Sbe96+&=Bw@84xvEVB)Ta0j>++HYA$#T?x$Q>uLfN z65sYEIP_IONzG~v?e#nvhDn2jt4GD4fdv>NiYYD5JoqmHERl0 ziver=S5zepI7l`b{c8wA9B^=S8_`x6f}sX~=(rO#Wg?3WVr&hZ(CKACL4YX4{6jx0 zE^1w$B+9ZG*Z2dFKlFotO-Z%K3dH4ihY7_*w0G11*#2|uKw|*g9=W6>|C*S8hpek( z{ct|`(ZBQASsExdVEGL26l38p%turh3HkLQWT&8{bmb}WLAbW+G?V8Oa!ui5?SnkB z-{6sC(b-c;2%U^wW64VRx2Ojlo(eU#`gPLqcb1i(sSsv+<@66=Onyu_gy#LU>$+u( zhnGs@=o_0z;NkyD-o%b2O_|nE3Fv}_53t{YaaiKVPj7R-gULk-Og~v{mqkUvueHQ|QH#JgvHym# zn~coL)H_o!7u@xNo4WWI_A||!8Zu<3C=~$CnRFPDMEQB$#2ev_NGz?X=AaFz5qH3t z3ZUwph9_=bdJ@;Jk{u#Hz@ebb_V(5*+_`ho2ePu~d{m;EJd-P5LMcQ!r4+gcN-$E# z23n;J!$3$Z2gND1RmV{?GcyE;hrfyHX2M0E^3oFY{UX*5oOb$Q7Yue{cN|6rlhip& z0oV|$ib^~LTk{9&D4D!tUPPHE9wSc@U!;YlhtJT=j3)gMa-O|@>5>$07F<;~9`Dpw z#Bp^*9sIk0oY|WZ(LdqT?zAehu{y-kN|es1Q#zL>=>&D@xn{7&^7nEFZn}1M2Xu!f z4WIS03`SV6%rxkIYTqK?=~YgMJ}_kzntUP<{0u+h6d?!ZSBB4fg0wqDVKSdXhUmXZmE&ZYX z06vqBk~(8`U|UJh*CBMku*%~DI8n#(`;=0R575(OWNlyww*s#?=1mp+ZPXjE)D3=kFy0?qJZsDsng6opMc-Lg_aUKPGeY$4me@=T zDX|Te$EoKxg{B*5>H#^E^3kLQpz0s^U)5h}`fnOs0PAmH%&Kl8tsf%HBLbiVJb%np zWkZD1MS*d8IV(lY_q;6Pyrn-`Dh;$H-}A;vfbqC$I;sYVf*gRnsL0W3VJMR*9Q-#v z_$v!rflN&WL+wgSg;5y+U_4I$jh$3WAk<)z(EfvM5+l?GRA7>L{u{T@DudHOjKcm0 zDo6o3by|o~{Qt%}$ut2N;QJ8&fe=Lnsw^1bCWye;q-r#&`+raWe`o*ybMY+V1++)T zD0M2FQ$}?vh)4YrdF~24+~@f?f}!$%w?%E zxBvcKNc;;cjcZcE>G03a?Rr413G`k7Dh8Q=`4+G%bOUPVf`F3zF_rgUj(`li8&fK= zvw8^$SB%~H?%qh^f0}o1vTDYTDdLGD*$OD*+AIP z-4p}>jrGU5|M0>!a)=^aM=>;(@5E&{<8n#wK&MItc6AG-9QEJ-A)mL%ahBALsP(1% z^@$BH!opC}vEnp6|9!zxHgM{^2DGYV!4!)wWf%w?>JGAUel7-8*AU@j6zY-$AdEfe zQ(@!bH)DR4cvtyv4zR%;HK_E|rF9cxQ!QLuDPhWF|HF8-(SSP-WZFUf2Y3Yx|04W% z`XEZ+KDC|jR8*n?UPWX}TYsfrqHZ!39n`_sGvque0l?57#6^g8?)kYM6*n|hyg~%P zn<)$jRkl3hx1c$BQ&asYnJ#5@FP?Q+L^XD1^PwYEv_#Zs#erCYlJ}+TYw6V2*LLCt zvd^~m_E`_CfBVB696+yZdUp&uZQErk#MBPo%=ZP{5Hw7mzxhI&28hPj&J}>78Us6tpda{->h4ojCs^i z>$xK2I|z3?U z6VWxvUKmzr5Hd4czw#D2)kf*vn?t2(mZCPX{JK_t63kcdnHTXTZN;>9*QmoE@)y+uZy0L@)H%@z(Cv&+)kX_ANKkYNPEzivLh-d(G{3V1z8| z=7Nv(cVJS;wb<-ikv%n0`k}n18aX2=oUVmU}ri`FOZ*a=735J0nZz^SlLUiOh09x1PUrobZHE zgN8{badG_3Oz7X(x14w1N6;qy$HSbCgKyi>YT}rDj?UFR*R1HF`ljsXNv2suPQEr| zKw?NZY;dobBX!P41SsM_ncaH;T1L{o@@5+&pH;VA`4a68qYp%r5N%lS9vbDL?W`|zx7;(^=J&O(@5^2(82&b4MF?lBJcfOF1L zxGoL}LNU=ZAs#IrW1A^we0(9 zxKyk1Aye~)k6lBbQ?9LQ?b~*z|G}+=VD&*Gsm}&X*X8fo!$@jhPcq5f+t5|BV31^* zyPbjeGUFN?yYrMl-OqRDBWoXH6`#jwJ8SWu1@CaSX2Dn`W+v& zqp}@04%TJeby}0yI7nX);FR;Y1*a6 zX0z(exU)GW5Gwgc3R6NWwSFlb=dMgcS%J5UvUaMu3=l8RbgDGE7Wo3sz+{?r?ZBjm zyZp0B+rfGyb-T>RotNX14JfoWK3_k^%RQcR>k&scD*i4VYbhwj^TRD2zd88T6c1HY zEd8-gQwntarU`=BR{}|g16w f#c@PCg$W5#V8$c^&PiQ#*^$4g82MEh4p3IaA?` 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
    route('checkout.checkout_card_final'), 'class' => 'row clearfix', 'id'=>'checkout_card_final']); ?>is_for); ?>is_from); ?>homeparty_id); ?> + + + +#mivita Exception: https://my.mivita.care/modal/load +Class name must be a valid object or a string (View: /home/ploi/mivita.care/resources/views/admin/payment/modal_credit_status.blade.php) +in /home/ploi/mivita.care/storage/framework/views/229b6b9c7e2b030b1a72955870e1c7d3.php (line 30) +
    status, array('data-live-search'=>'false', 'class'=>'selectpicker') )); ?>
    + + +#mivita Exception: https://my.mivita.care/storage/file/4654/credit_detail/favicon.ico +App\Repositories\CreditRepository::__construct(): Argument #1 ($model) must be of type App\User, null given, called in /home/ploi/mivita.care/app/Http/Controllers/FileController.php on line 248 +in /home/ploi/mivita.care/app/Repositories/CreditRepository.php (line 21) +class CreditRepository extends BaseRepository{ private $user_credit; public function __construct(User $model) { $this->model = $model; } public function create($request = []) + + +#mivita Exception: https://my.mivita.care/storage/file/4654/credit_detail/pdf +App\Repositories\CreditRepository::__construct(): Argument #1 ($model) must be of type App\User, null given, called in /home/ploi/mivita.care/app/Http/Controllers/FileController.php on line 248 +in /home/ploi/mivita.care/app/Repositories/CreditRepository.php (line 21) +class CreditRepository extends BaseRepository{ private $user_credit; public function __construct(User $model) { $this->model = $model; } public function create($request = []) + + +#mivita Exception: https://my.mivita.care/user/team/members/datatable-optimized?_=1783533898138&columns%5B0%5D%5Bdata%5D=id&columns%5B0%5D%5Bname%5D=id&columns%5B0%5D%5Bsearchable%5D=false&columns%5B0%5D%5Borderable%5D=false&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=deep&columns%5B1%5D%5Bname%5D=deep&columns%5B1%5D%5Bsearchable%5D=false&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=user_level&columns%5B2%5D%5Bname%5D=user_level&columns%5B2%5D%5Bsearchable%5D=false&columns%5B2%5D%5Borderable%5D=false&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=is_qual_kp&columns%5B3%5D%5Bname%5D=is_qual_kp&columns%5B3%5D%5Bsearchable%5D=false&columns%5B3%5D%5Borderable%5D=false&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B4%5D%5Bdata% +App\Services\BusinessPlan\TreeHelperOptimized::generateQualKPBadgeForUser(): Argument #1 ($user) must be of type App\User, null given, called in /home/ploi/mivita.care/app/Http/Controllers/User/TeamController.php on line 322 + +in /home/ploi/mivita.care/app/Services/BusinessPlan/TreeHelperOptimized.php (line 36) + } /** * Generiert QualKP Badge für User */ public static function generateQualKPBadgeForUser(User $user, int $month, int $year): string { if (!$user->user_level) { return '-'; } diff --git a/phpunit.xml b/phpunit.xml index 1b8aa5f2..352d8c85 100755 --- a/phpunit.xml +++ b/phpunit.xml @@ -36,6 +36,7 @@ + diff --git a/resources/lang/de/abo.php b/resources/lang/de/abo.php index 7ee6bb7c..260ea5d7 100644 --- a/resources/lang/de/abo.php +++ b/resources/lang/de/abo.php @@ -43,6 +43,24 @@ return [ 'error_change_locked' => 'Änderungen sind nicht mehr möglich. Die nächste Ausführung ist in :days Tagen. Änderungen müssen mindestens :lock Tage vorher erfolgen.', 'error_abo_interval_too_soon' => 'Der gewählte Liefertag liegt nur :days Tage entfernt. Bitte wähle einen Liefertag, der mindestens :lock Tage in der Zukunft liegt.', 'error_cancel_locked' => 'Eine Kündigung ist nicht mehr möglich. Die nächste Ausführung ist in :days Tagen. Kündigungen müssen mindestens :lock Tage vorher erfolgen.', + 'abo_copy_pause' => 'Verschiebt die nächste Ausführung um einen Monat nach hinten. Maximal 1x alle :months Monate möglich.', + 'payline_abo_turnover' => 'Abo-Umsatz in der Payline', + 'payline_abo_turnover_hint' => 'Soll = Abo-Punkte pro Zyklus aller aktiven Abos deiner Payline (Berater- und Kundenabos). Ist = im laufenden Monat bereits abgerechnete Abo-Punkte der Payline.', + 'payline_target_label' => 'Soll (Punkte pro Zyklus)', + 'payline_actual_label' => 'Ist (im Monat abgerechnet)', + 'payline_hint' => 'Payline = :lines Ebenen · :members Berater', + 'payline_abo_counts' => ':team_abos Teamabos + :customer_abos Kundenabos in der Payline', + 'payline_none' => 'Noch keine Payline vorhanden (kein Provisionslevel erreicht).', + 'abo_points_per_cycle' => 'Punkte pro Lieferung (Bestand)', + 'abo_points_billed' => 'abgerechnet (:month)', + 'abo_points_expected' => 'bis zum :day. erwartet', + 'abo_points_expected_hint' => 'Bereits abgerechnete Abo-Punkte plus die Punkte aller Abos dieser Ebene, deren Lieferung bis zum :day. des Monats noch ansteht.', + 'pause_abo' => '1 Monat pausieren', + 'confirm_pause' => 'Möchtest du das Abo wirklich um einen Monat pausieren? Die nächste Lieferung verschiebt sich auf den Folgemonat.', + 'pause_success' => 'Dein Abo wurde um einen Monat pausiert. Die nächste Ausführung ist am :date.', + 'error_pause_interval' => 'Das Abo kann maximal 1x alle :months Monate pausiert werden. Die nächste Pause ist ab dem :date möglich.', + 'error_pause_not_active' => 'Nur aktive Abos können pausiert werden.', + 'info_pause_available_from' => 'Eine Pause ist maximal 1x alle :months Monate möglich — wieder ab dem :date.', 'error_pause_locked' => 'Das Abo kann nicht mehr pausiert werden. Die nächste Ausführung ist in :days Tagen. Pausieren muss mindestens :lock Tage vorher erfolgen.', 'error_next_date' => 'Das Datum für die nächste Ausführung nicht korrekt', 'checkout_mail_abo_hl' => 'Dein Abo / regelmäßige Lieferung.', diff --git a/resources/lang/de/abo_history.php b/resources/lang/de/abo_history.php index 841256fe..02e6f354 100644 --- a/resources/lang/de/abo_history.php +++ b/resources/lang/de/abo_history.php @@ -36,6 +36,12 @@ return [ 'desc_rollback' => 'Auf Ursprung zurückgesetzt', // Channels + 'status_history_title' => 'Status-Änderungen (Pause & Kündigung)', + 'status_paused' => 'Pausiert', + 'status_cancelled' => 'Gekündigt', + 'status_deactivated' => 'Deaktiviert', + 'status_reactivated' => 'Reaktiviert', + 'status_shift' => 'Ausführung von :from auf :to verschoben', 'channel_admin' => 'Admin', 'channel_user_me' => 'Berater', 'channel_user_ot' => 'Berater (Kunde)', diff --git a/resources/lang/de/home.php b/resources/lang/de/home.php index a8ce988b..5a1fa24d 100644 --- a/resources/lang/de/home.php +++ b/resources/lang/de/home.php @@ -48,6 +48,12 @@ return [ 'until' => 'bis zum', 'welcome_back' => 'Willkommen zurück', 'your_shop' => 'Dein Shop', + 'commission_today' => 'Provision (Stand heute)', + 'payline_forecast_title' => 'Payline-Prognose zum 5. / 10. / 20. / 25.', + 'payline_forecast_hint' => 'Basis: aktueller Kundenumsatz + Teamumsatz (Payline). Dazu kommen kumuliert die bis zum jeweiligen Termin noch anstehenden Abo-Punkte deiner Payline (inkl. deiner eigenen Abos und Kundenabos). Prognose: Pausen, Kündigungen oder fehlgeschlagene Zahlungen können den Wert verändern.', + 'forecast_day' => 'Prognose zum :date', + 'forecast_upcoming' => 'Abo-Punkte offen', + 'forecast_done' => 'Termin liegt bereits im Ist-Umsatz', 'monthly_statistics' => 'Monatsstatistik', 'customer_turnover_points' => 'Kunden-Umsatz Punkte', 'team_turnover_points' => 'Team-Umsatz Punkte', diff --git a/resources/lang/de/msg.php b/resources/lang/de/msg.php index 41a29c68..068f17b8 100644 --- a/resources/lang/de/msg.php +++ b/resources/lang/de/msg.php @@ -25,6 +25,8 @@ return [ 'homeparty_delete' => 'Auszeitparty gelöscht', 'VATID_could_not_be_validated' => 'Die UST-ID konnte nicht validiert werden, Eingabe bitte prüfen', 'VATID_successfully_entered' => 'UST-ID erfolgreich eingetragen', + 'VATID_german_not_allowed' => 'Deutsche USt-IDs können hier nicht verwendet werden. Das Reverse-Charge-Verfahren gilt nur für ausländische EU-USt-IDs.', + 'VATID_no_longer_valid_taxes_applied' => 'Deine USt-ID ist nicht mehr gültig. Die Bestellung wird daher mit Umsatzsteuer berechnet.', 'reverse_charge_procedure_and_VATID_deleted' => 'Reverse Charge Verfahren und UST-ID gelöscht', 'no_id_card_deposited_please_upload_first' => 'Kein Ausweis hinterlegt, bitte erst hochladen', 'no_trade_licence_deposited_please_upload_first' => 'Kein Gewerbeschein hinterlegt, bitte erst hochladen', @@ -38,6 +40,13 @@ return [ 'account_released' => 'Account freigeschaltet', 'cart_product_not_allowed_for_order_type' => 'Der Warenkorb enthält Artikel, die für diese Bestellart nicht vorgesehen sind. Bitte leere den Warenkorb und wähle nur Produkte, die zu dieser Bestellung passen.', 'cart_max_weight_reached' => 'Das maximale Versandgewicht ist erreicht. Es können keine weiteren Produkte hinzugefügt werden.', + 'gdpr_delete_success' => 'DSGVO-Löschung ausgeführt: Alle personenbezogenen Daten wurden unwiderruflich anonymisiert.', + 'gdpr_delete_customer_success' => 'DSGVO-Löschung ausgeführt: Alle personenbezogenen Daten des Kunden wurden unwiderruflich anonymisiert.', + 'gdpr_delete_customer_button' => 'Kunde DSGVO-löschen', + 'gdpr_confirm_checkbox_missing' => 'Bitte bestätige die DSGVO-Löschung über die Checkbox.', + 'gdpr_error_is_admin' => 'DSGVO-Löschung nicht möglich: Der Account hat Admin-Rechte. Bitte entziehe zuerst die Admin-Rechte.', + 'gdpr_error_active_abo' => 'DSGVO-Löschung nicht möglich: Es besteht noch ein aktives Abo. Bitte kündige das Abo zuerst.', + 'gdpr_error_customer_is_member' => 'DSGVO-Löschung nicht möglich: Dieser Kundendatensatz gehört zu einem Berater-Account. Bitte nutze die DSGVO-Löschung in der User-Verwaltung.', ]; /* {{ __('msg.') }} diff --git a/resources/lang/de/order.php b/resources/lang/de/order.php index 3a5a6c1c..f87c92d6 100644 --- a/resources/lang/de/order.php +++ b/resources/lang/de/order.php @@ -44,6 +44,7 @@ return [ 'gross' => 'brutto', 'gross_price' => 'Preis brutto', 'incentives' => 'Incentives', + 'incl_VAT' => 'inkl. MwSt.', 'included_VAT' => 'Enthaltene MwSt', 'invoice' => 'Rechnung', 'invoice_address' => 'Rechnungsadresse', diff --git a/resources/lang/de/team.php b/resources/lang/de/team.php index efed99d3..d1393d06 100644 --- a/resources/lang/de/team.php +++ b/resources/lang/de/team.php @@ -70,6 +70,10 @@ return [ 'in_progress_yellow' => 'In Arbeit (gelb)', 'no_level_red' => 'Kein Level (rot)', + // Abo-Kennzeichen (Struktur-Ansicht) + 'badge_own_abo' => 'hat ein eigenes Abo', + 'badge_customer_abos' => '{1} 1 eigenes Kundenabo|[2,*] :count eigene Kundenabos', + // Performance & Badges 'optimized' => 'OPTIMIERT', 'standard_monitoring' => 'STANDARD + MONITORING', diff --git a/resources/lang/en/abo.php b/resources/lang/en/abo.php index 9b98a49e..770987d0 100644 --- a/resources/lang/en/abo.php +++ b/resources/lang/en/abo.php @@ -169,6 +169,24 @@ return [ 'error_change_locked' => 'Changes are no longer possible. The next execution is in :days days. Changes must be made at least :lock days in advance.', 'error_abo_interval_too_soon' => 'The selected delivery day is only :days days away. Please choose a delivery day at least :lock days in the future.', 'error_cancel_locked' => 'Cancellation is no longer possible. The next execution is in :days days. Cancellations must be made at least :lock days in advance.', + 'abo_copy_pause' => 'Moves the next execution back by one month. Possible at most once every :months months.', + 'payline_abo_turnover' => 'Subscription turnover in the payline', + 'payline_abo_turnover_hint' => 'Target = subscription points per cycle of all active subscriptions in your payline (consultant and customer subscriptions). Actual = subscription points of the payline already billed in the current month.', + 'payline_target_label' => 'Target (points per cycle)', + 'payline_actual_label' => 'Actual (billed this month)', + 'payline_hint' => 'Payline = :lines levels · :members consultants', + 'payline_abo_counts' => ':team_abos team subscriptions + :customer_abos customer subscriptions in the payline', + 'payline_none' => 'No payline yet (no commission level reached).', + 'abo_points_per_cycle' => 'Points per delivery (current stock)', + 'abo_points_billed' => 'billed (:month)', + 'abo_points_expected' => 'expected by day :day', + 'abo_points_expected_hint' => 'Subscription points already billed plus the points of all subscriptions on this level whose delivery is still due by day :day of the month.', + 'pause_abo' => 'Pause for 1 month', + 'confirm_pause' => 'Do you really want to pause the subscription for one month? The next delivery will move to the following month.', + 'pause_success' => 'Your subscription has been paused for one month. The next execution is on :date.', + 'error_pause_interval' => 'The subscription can be paused at most once every :months months. The next pause is possible from :date.', + 'error_pause_not_active' => 'Only active subscriptions can be paused.', + 'info_pause_available_from' => 'A pause is possible at most once every :months months — available again from :date.', 'error_pause_locked' => 'The subscription can no longer be paused. The next execution is in :days days. Pausing must be done at least :lock days in advance.', 'cancel_abo' => 'Cancel subscription', 'confirm_cancel' => 'Do you really want to cancel the subscription?', diff --git a/resources/lang/en/abo_history.php b/resources/lang/en/abo_history.php index a65b6bff..f20ac89c 100644 --- a/resources/lang/en/abo_history.php +++ b/resources/lang/en/abo_history.php @@ -36,6 +36,12 @@ return [ 'desc_rollback' => 'Reset to original', // Channels + 'status_history_title' => 'Status changes (pause & cancellation)', + 'status_paused' => 'Paused', + 'status_cancelled' => 'Cancelled', + 'status_deactivated' => 'Deactivated', + 'status_reactivated' => 'Reactivated', + 'status_shift' => 'Execution moved from :from to :to', 'channel_admin' => 'Admin', 'channel_user_me' => 'Consultant', 'channel_user_ot' => 'Consultant (Customer)', diff --git a/resources/lang/en/home.php b/resources/lang/en/home.php index 032d64dd..dafa7177 100644 --- a/resources/lang/en/home.php +++ b/resources/lang/en/home.php @@ -47,6 +47,12 @@ return [ 'until' => 'until', 'welcome_back' => 'welcome back', 'your_shop' => 'your shop', + 'commission_today' => 'Commission (as of today)', + 'payline_forecast_title' => 'Payline forecast for the 5th / 10th / 20th / 25th', + 'payline_forecast_hint' => 'Basis: current customer turnover + team turnover (payline). Plus, cumulatively, the subscription points of your payline still due up to the respective date (incl. your own subscriptions and customer subscriptions). Forecast: pauses, cancellations or failed payments can change the value.', + 'forecast_day' => 'Forecast for :date', + 'forecast_upcoming' => 'subscription points due', + 'forecast_done' => 'Date already included in actual turnover', 'monthly_statistics' => 'Monthly Statistics', 'customer_turnover_points' => 'Customer Turnover Points', 'team_turnover_points' => 'Team Turnover Points', diff --git a/resources/lang/en/msg.php b/resources/lang/en/msg.php index 3103e0b0..f8162187 100644 --- a/resources/lang/en/msg.php +++ b/resources/lang/en/msg.php @@ -3,6 +3,8 @@ return [ 'VATID_could_not_be_validated' => 'The VAT ID could not be validated, please check your entry', 'VATID_successfully_entered' => 'VAT ID entered successfully', + 'VATID_german_not_allowed' => 'German VAT IDs cannot be used here. The reverse charge procedure only applies to foreign EU VAT IDs.', + 'VATID_no_longer_valid_taxes_applied' => 'Your VAT ID is no longer valid. VAT will therefore be applied to this order.', 'abo_deaktivert' => 'subscription option disabled', 'account_released' => 'Account activated', 'booked_package_has_been_changed' => 'booked package has been changed.', @@ -40,4 +42,11 @@ return [ ], 'cart_product_not_allowed_for_order_type' => 'Your cart contains items that are not allowed for this order type. Please clear the cart and only add products that match this order.', 'cart_max_weight_reached' => 'The maximum shipping weight has been reached. No further products can be added.', + 'gdpr_delete_success' => 'GDPR deletion executed: All personal data has been irreversibly anonymized.', + 'gdpr_delete_customer_success' => 'GDPR deletion executed: All personal data of the customer has been irreversibly anonymized.', + 'gdpr_delete_customer_button' => 'GDPR-delete customer', + 'gdpr_confirm_checkbox_missing' => 'Please confirm the GDPR deletion via the checkbox.', + 'gdpr_error_is_admin' => 'GDPR deletion not possible: The account has admin rights. Please remove the admin rights first.', + 'gdpr_error_active_abo' => 'GDPR deletion not possible: There is still an active subscription. Please cancel the subscription first.', + 'gdpr_error_customer_is_member' => 'GDPR deletion not possible: This customer record belongs to a consultant account. Please use the GDPR deletion in the user administration.', ]; diff --git a/resources/lang/en/order.php b/resources/lang/en/order.php index f37333f0..1f1dcafa 100644 --- a/resources/lang/en/order.php +++ b/resources/lang/en/order.php @@ -52,6 +52,7 @@ return [ 'gross' => 'gross', 'gross_price' => 'gross price', 'incentives' => 'incentives', + 'incl_VAT' => 'incl. VAT', 'included_VAT' => 'VAT included', 'invoice' => 'invoice', 'invoice_address' => 'billing address', diff --git a/resources/lang/en/team.php b/resources/lang/en/team.php index c4318845..21bdc010 100644 --- a/resources/lang/en/team.php +++ b/resources/lang/en/team.php @@ -68,6 +68,10 @@ return [ 'in_progress_yellow' => 'In Progress (yellow)', 'no_level_red' => 'No Level (red)', + // Abo badges (structure view) + 'badge_own_abo' => 'has an own subscription', + 'badge_customer_abos' => '{1} 1 own customer subscription|[2,*] :count own customer subscriptions', + // Performance & Badges 'optimized' => 'OPTIMIZED', 'standard_monitoring' => 'STANDARD + MONITORING', diff --git a/resources/lang/es/abo.php b/resources/lang/es/abo.php index a6434c99..c75176b5 100644 --- a/resources/lang/es/abo.php +++ b/resources/lang/es/abo.php @@ -152,6 +152,24 @@ return [ 'error_change_locked' => 'Los cambios ya no son posibles. La próxima ejecución es en :days días. Los cambios deben realizarse al menos :lock días antes.', 'error_abo_interval_too_soon' => 'El día de entrega seleccionado está a solo :days días. Elija un día de entrega con al menos :lock días de anticipación.', 'error_cancel_locked' => 'La cancelación ya no es posible. La próxima ejecución es en :days días. Las cancelaciones deben realizarse al menos :lock días antes.', + 'abo_copy_pause' => 'Retrasa la próxima ejecución un mes. Posible como máximo 1 vez cada :months meses.', + 'payline_abo_turnover' => 'Volumen de suscripciones en la payline', + 'payline_abo_turnover_hint' => 'Objetivo = puntos de suscripción por ciclo de todas las suscripciones activas de tu payline (de asesores y clientes). Real = puntos de suscripción de la payline ya facturados en el mes en curso.', + 'payline_target_label' => 'Objetivo (puntos por ciclo)', + 'payline_actual_label' => 'Real (facturado este mes)', + 'payline_hint' => 'Payline = :lines niveles · :members asesores', + 'payline_abo_counts' => ':team_abos suscripciones de asesores + :customer_abos suscripciones de clientes en la payline', + 'payline_none' => 'Aún no hay payline (no se ha alcanzado ningún nivel de comisión).', + 'abo_points_per_cycle' => 'Puntos por entrega (cartera actual)', + 'abo_points_billed' => 'facturado (:month)', + 'abo_points_expected' => 'previsto hasta el día :day', + 'abo_points_expected_hint' => 'Puntos de suscripción ya facturados más los puntos de todas las suscripciones de este nivel cuya entrega aún está pendiente hasta el día :day del mes.', + 'pause_abo' => 'Pausar 1 mes', + 'confirm_pause' => '¿Realmente quieres pausar la suscripción un mes? La próxima entrega se trasladará al mes siguiente.', + 'pause_success' => 'Tu suscripción se ha pausado un mes. La próxima ejecución es el :date.', + 'error_pause_interval' => 'La suscripción puede pausarse como máximo 1 vez cada :months meses. La próxima pausa es posible a partir del :date.', + 'error_pause_not_active' => 'Solo se pueden pausar suscripciones activas.', + 'info_pause_available_from' => 'Una pausa es posible como máximo 1 vez cada :months meses — de nuevo a partir del :date.', 'error_pause_locked' => 'La suscripción ya no puede pausarse. La próxima ejecución es en :days días. La pausa debe realizarse al menos :lock días antes.', 'cancel_abo' => 'Cancelar suscripción', 'confirm_cancel' => '¿Realmente desea cancelar la suscripción?', diff --git a/resources/lang/es/abo_history.php b/resources/lang/es/abo_history.php index 4c2a66ad..a6adc360 100644 --- a/resources/lang/es/abo_history.php +++ b/resources/lang/es/abo_history.php @@ -36,6 +36,12 @@ return [ 'desc_rollback' => 'Restablecido al original', // Canales + 'status_history_title' => 'Cambios de estado (pausa y cancelación)', + 'status_paused' => 'Pausado', + 'status_cancelled' => 'Cancelado', + 'status_deactivated' => 'Desactivado', + 'status_reactivated' => 'Reactivado', + 'status_shift' => 'Ejecución trasladada del :from al :to', 'channel_admin' => 'Admin', 'channel_user_me' => 'Consultor', 'channel_user_ot' => 'Consultor (Cliente)', diff --git a/resources/lang/es/home.php b/resources/lang/es/home.php index af679065..47672ed5 100644 --- a/resources/lang/es/home.php +++ b/resources/lang/es/home.php @@ -47,6 +47,12 @@ return [ 'until' => 'hasta', 'welcome_back' => 'bienvenido de nuevo', 'your_shop' => 'tu tienda', + 'commission_today' => 'Comisión (a día de hoy)', + 'payline_forecast_title' => 'Pronóstico de payline para el 5 / 10 / 20 / 25', + 'payline_forecast_hint' => 'Base: volumen de clientes actual + volumen del equipo (payline). Más, de forma acumulada, los puntos de suscripción de tu payline pendientes hasta la fecha correspondiente (incl. tus propias suscripciones y las de tus clientes). Pronóstico: pausas, cancelaciones o pagos fallidos pueden cambiar el valor.', + 'forecast_day' => 'Pronóstico para el :date', + 'forecast_upcoming' => 'puntos de suscripción pendientes', + 'forecast_done' => 'Fecha ya incluida en el volumen real', 'monthly_statistics' => 'Estadísticas mensuales', 'customer_turnover_points' => 'Puntos de venta de clientes', 'team_turnover_points' => 'Puntos de venta del equipo', diff --git a/resources/lang/es/msg.php b/resources/lang/es/msg.php index 32357959..f528b037 100644 --- a/resources/lang/es/msg.php +++ b/resources/lang/es/msg.php @@ -3,6 +3,8 @@ return [ 'VATID_could_not_be_validated' => 'No se pudo validar el ID de IVA, verifique su entrada', 'VATID_successfully_entered' => 'ID de IVA ingresado exitosamente', + 'VATID_german_not_allowed' => 'Los ID de IVA alemanes no se pueden utilizar aquí. El procedimiento de inversión del sujeto pasivo solo se aplica a ID de IVA extranjeros de la UE.', + 'VATID_no_longer_valid_taxes_applied' => 'Tu ID de IVA ya no es válido. Por lo tanto, el pedido se calculará con IVA.', 'abo_deaktivert' => 'opción de suscripción deshabilitada', 'account_released' => 'Cuenta activada', 'booked_package_has_been_changed' => 'El paquete reservado ha sido modificado.', @@ -40,4 +42,11 @@ return [ '' => 'Su carrito de compras está vacío, agregue productos primero', ], 'cart_product_not_allowed_for_order_type' => 'El carrito contiene artículos que no están previstos para este tipo de pedido. Vacía el carrito y elige solo productos que correspondan a este pedido.', + 'gdpr_delete_success' => 'Eliminación RGPD ejecutada: Todos los datos personales han sido anonimizados de forma irreversible.', + 'gdpr_delete_customer_success' => 'Eliminación RGPD ejecutada: Todos los datos personales del cliente han sido anonimizados de forma irreversible.', + 'gdpr_delete_customer_button' => 'Eliminar cliente (RGPD)', + 'gdpr_confirm_checkbox_missing' => 'Por favor confirma la eliminación RGPD mediante la casilla de verificación.', + 'gdpr_error_is_admin' => 'Eliminación RGPD no posible: La cuenta tiene derechos de administrador. Por favor retira primero los derechos de administrador.', + 'gdpr_error_active_abo' => 'Eliminación RGPD no posible: Todavía existe una suscripción activa. Por favor cancela primero la suscripción.', + 'gdpr_error_customer_is_member' => 'Eliminación RGPD no posible: Este registro de cliente pertenece a una cuenta de asesor. Por favor utiliza la eliminación RGPD en la administración de usuarios.', ]; diff --git a/resources/lang/es/order.php b/resources/lang/es/order.php index aa083d19..6e4eb1e9 100644 --- a/resources/lang/es/order.php +++ b/resources/lang/es/order.php @@ -52,6 +52,7 @@ return [ 'gross' => 'bruto', 'gross_price' => 'precio bruto', 'incentives' => 'incentivos', + 'incl_VAT' => 'IVA incl.', 'included_VAT' => 'VAT incluido', 'invoice' => 'La factura', 'invoice_address' => 'dirección de Envio', diff --git a/resources/lang/es/team.php b/resources/lang/es/team.php index 9e2c311e..f4c0bd65 100644 --- a/resources/lang/es/team.php +++ b/resources/lang/es/team.php @@ -68,6 +68,10 @@ return [ 'in_progress_yellow' => 'En Progreso (amarillo)', 'no_level_red' => 'Sin Nivel (rojo)', + // Distintivos de suscripción (vista de estructura) + 'badge_own_abo' => 'tiene una suscripción propia', + 'badge_customer_abos' => '{1} 1 suscripción propia de cliente|[2,*] :count suscripciones propias de clientes', + // Performance & Badges 'optimized' => 'OPTIMIZADO', 'standard_monitoring' => 'ESTÁNDAR + MONITOREO', diff --git a/resources/lang/fr/abo.php b/resources/lang/fr/abo.php index b8c46839..d0d65aaf 100644 --- a/resources/lang/fr/abo.php +++ b/resources/lang/fr/abo.php @@ -43,6 +43,24 @@ return [ 'error_change_locked' => 'Les modifications ne sont plus possibles. La prochaine exécution est dans :days jours. Les modifications doivent être effectuées au moins :lock jours avant.', 'error_abo_interval_too_soon' => 'Le jour de livraison choisi n’est qu’à :days jours. Veuillez choisir un jour de livraison situé au moins :lock jours dans le futur.', 'error_cancel_locked' => 'Une résiliation n’est plus possible. La prochaine exécution est dans :days jours. Les résiliations doivent être effectuées au moins :lock jours avant.', + 'abo_copy_pause' => 'Reporte la prochaine exécution d’un mois. Possible au maximum 1 fois tous les :months mois.', + 'payline_abo_turnover' => 'Chiffre d’affaires des abonnements dans la payline', + 'payline_abo_turnover_hint' => 'Objectif = points d’abonnement par cycle de tous les abonnements actifs de ta payline (abonnements conseillers et clients). Réel = points d’abonnement de la payline déjà facturés au cours du mois.', + 'payline_target_label' => 'Objectif (points par cycle)', + 'payline_actual_label' => 'Réel (facturé ce mois-ci)', + 'payline_hint' => 'Payline = :lines niveaux · :members conseillers', + 'payline_abo_counts' => ':team_abos abonnements conseillers + :customer_abos abonnements clients dans la payline', + 'payline_none' => 'Pas encore de payline (aucun niveau de commission atteint).', + 'abo_points_per_cycle' => 'Points par livraison (portefeuille actuel)', + 'abo_points_billed' => 'facturé (:month)', + 'abo_points_expected' => 'prévu jusqu’au :day', + 'abo_points_expected_hint' => 'Points d’abonnement déjà facturés plus les points de tous les abonnements de ce niveau dont la livraison est encore à venir d’ici le :day du mois.', + 'pause_abo' => 'Suspendre 1 mois', + 'confirm_pause' => 'Veux-tu vraiment suspendre l’abonnement pendant un mois ? La prochaine livraison sera reportée au mois suivant.', + 'pause_success' => 'Ton abonnement a été suspendu pour un mois. La prochaine exécution aura lieu le :date.', + 'error_pause_interval' => 'L’abonnement ne peut être suspendu qu’une fois tous les :months mois. La prochaine pause est possible à partir du :date.', + 'error_pause_not_active' => 'Seuls les abonnements actifs peuvent être suspendus.', + 'info_pause_available_from' => 'Une pause est possible au maximum 1 fois tous les :months mois — de nouveau à partir du :date.', 'error_pause_locked' => 'L’abonnement ne peut plus être mis en pause. La prochaine exécution est dans :days jours. La pause doit être effectuée au moins :lock jours avant.', 'error_next_date' => 'La date de la prochaine exécution est incorrecte', 'checkout_mail_abo_hl' => 'Votre abonnement / livraison régulière.', diff --git a/resources/lang/fr/abo_history.php b/resources/lang/fr/abo_history.php index f4ac1c27..54f7af50 100644 --- a/resources/lang/fr/abo_history.php +++ b/resources/lang/fr/abo_history.php @@ -27,6 +27,12 @@ return [ 'desc_comp_added' => 'Ajouté par le système', 'desc_comp_removed' => 'Supprimé par le système', 'desc_rollback' => 'Réinitialisé à l’origine', + 'status_history_title' => 'Changements de statut (pause et résiliation)', + 'status_paused' => 'Suspendu', + 'status_cancelled' => 'Résilié', + 'status_deactivated' => 'Désactivé', + 'status_reactivated' => 'Réactivé', + 'status_shift' => 'Exécution reportée du :from au :to', 'channel_admin' => 'Admin', 'channel_user_me' => 'Conseiller', 'channel_user_ot' => 'Conseiller (client)', diff --git a/resources/lang/fr/home.php b/resources/lang/fr/home.php index 583d321d..4517c1da 100644 --- a/resources/lang/fr/home.php +++ b/resources/lang/fr/home.php @@ -48,6 +48,12 @@ return [ 'until' => 'jusqu’au', 'welcome_back' => 'Bon retour', 'your_shop' => 'Votre boutique', + 'commission_today' => 'Commission (à ce jour)', + 'payline_forecast_title' => 'Prévision payline pour le 5 / 10 / 20 / 25', + 'payline_forecast_hint' => 'Base : chiffre d’affaires clients actuel + chiffre d’affaires équipe (payline). S’y ajoutent, de manière cumulée, les points d’abonnement de ta payline encore à venir jusqu’à la date concernée (y compris tes propres abonnements et abonnements clients). Prévision : pauses, résiliations ou paiements échoués peuvent modifier la valeur.', + 'forecast_day' => 'Prévision pour le :date', + 'forecast_upcoming' => 'points d’abonnement à venir', + 'forecast_done' => 'Date déjà incluse dans le chiffre réel', 'monthly_statistics' => 'Statistique mensuelle', 'customer_turnover_points' => 'Points chiffre d’affaires clients', 'team_turnover_points' => 'Points chiffre d’affaires équipe', diff --git a/resources/lang/fr/msg.php b/resources/lang/fr/msg.php index c4502e56..cb6dba4c 100644 --- a/resources/lang/fr/msg.php +++ b/resources/lang/fr/msg.php @@ -25,6 +25,8 @@ return [ 'homeparty_delete' => 'Auszeitparty supprimée', 'VATID_could_not_be_validated' => 'Le numéro de TVA n’a pas pu être validé, veuillez vérifier la saisie', 'VATID_successfully_entered' => 'Numéro de TVA saisi avec succès', + 'VATID_german_not_allowed' => 'Les numéros de TVA allemands ne peuvent pas être utilisés ici. L’autoliquidation ne s’applique qu’aux numéros de TVA étrangers de l’UE.', + 'VATID_no_longer_valid_taxes_applied' => 'Ton numéro de TVA n’est plus valide. La TVA sera donc appliquée à cette commande.', 'reverse_charge_procedure_and_VATID_deleted' => 'Procédure d’autoliquidation et numéro de TVA supprimés', 'no_id_card_deposited_please_upload_first' => 'Aucune pièce d’identité déposée, veuillez d’abord la téléverser', 'no_trade_licence_deposited_please_upload_first' => 'Aucun extrait d’activité déposé, veuillez d’abord le téléverser', @@ -38,4 +40,11 @@ return [ 'account_released' => 'Compte activé', 'cart_product_not_allowed_for_order_type' => 'Le panier contient des articles qui ne sont pas prévus pour ce type de commande. Veuillez vider le panier et sélectionner uniquement les produits adaptés à cette commande.', 'cart_max_weight_reached' => "Le poids d'expédition maximal est atteint. Aucun autre produit ne peut être ajouté.", + 'gdpr_delete_success' => 'Suppression RGPD exécutée : Toutes les données personnelles ont été anonymisées de manière irréversible.', + 'gdpr_delete_customer_success' => 'Suppression RGPD exécutée : Toutes les données personnelles du client ont été anonymisées de manière irréversible.', + 'gdpr_delete_customer_button' => 'Supprimer le client (RGPD)', + 'gdpr_confirm_checkbox_missing' => 'Veuillez confirmer la suppression RGPD via la case à cocher.', + 'gdpr_error_is_admin' => "Suppression RGPD impossible : Le compte dispose de droits d'administrateur. Veuillez d'abord retirer les droits d'administrateur.", + 'gdpr_error_active_abo' => "Suppression RGPD impossible : Un abonnement actif existe encore. Veuillez d'abord résilier l'abonnement.", + 'gdpr_error_customer_is_member' => "Suppression RGPD impossible : Cette fiche client appartient à un compte de conseiller. Veuillez utiliser la suppression RGPD dans l'administration des utilisateurs.", ]; diff --git a/resources/lang/fr/order.php b/resources/lang/fr/order.php index 253206dc..02ab1548 100644 --- a/resources/lang/fr/order.php +++ b/resources/lang/fr/order.php @@ -44,6 +44,7 @@ return [ 'gross' => 'brut', 'gross_price' => 'Prix brut', 'incentives' => 'Incentives', + 'incl_VAT' => 'TVA incl.', 'included_VAT' => 'TVA incluse', 'invoice' => 'Facture', 'invoice_address' => 'Adresse de facturation', diff --git a/resources/lang/fr/team.php b/resources/lang/fr/team.php index 60f3e59a..2f86d9a2 100644 --- a/resources/lang/fr/team.php +++ b/resources/lang/fr/team.php @@ -67,6 +67,8 @@ return [ 'qualified_green' => 'Qualifié (vert)', 'in_progress_yellow' => 'En cours (jaune)', 'no_level_red' => 'Aucun niveau (rouge)', + 'badge_own_abo' => 'a son propre abonnement', + 'badge_customer_abos' => '{1} 1 abonnement client propre|[2,*] :count abonnements clients propres', 'optimized' => 'OPTIMISÉ', 'standard_monitoring' => 'STANDARD + MONITORING', 'fallback' => 'FALLBACK', diff --git a/resources/views/admin/abo/_change_history.blade.php b/resources/views/admin/abo/_change_history.blade.php index facdfd7f..c1a1af52 100644 --- a/resources/views/admin/abo/_change_history.blade.php +++ b/resources/views/admin/abo/_change_history.blade.php @@ -1,5 +1,6 @@ @php $changeHistory = $user_abo->getChangeHistory(); + $statusHistory = $user_abo->status_histories()->with('actor.account')->orderByDesc('created_at')->orderByDesc('id')->get(); $priceLabel = $user_abo->is_for === 'me' ? __('abo_history.price_net') : __('abo_history.price_gross'); @endphp @@ -20,6 +21,34 @@ @endif + @if($statusHistory->isNotEmpty()) +
    {{ __('abo_history.status_history_title') }}
    +
    +
    + + + + + + + + + + + @foreach($statusHistory as $statusEntry) + + + + + + + + @endforeach + +
    {{ __('abo_history.col_date') }}{{ __('abo_history.col_action') }}{{ __('abo_history.col_details') }}{{ __('abo_history.col_changed_by') }}{{ __('abo_history.col_channel') }}
    {{ $statusEntry->getFormattedDate() }}{!! $statusEntry->getActionBadge() !!}{{ $statusEntry->getDescription() }}{{ $statusEntry->getActorName() }}{!! $statusEntry->getChannelBadge() !!}
    +
    + @endif + @if($changeHistory->isEmpty())

    {{ __('abo_history.no_changes') }} diff --git a/resources/views/admin/abo/_detail.blade.php b/resources/views/admin/abo/_detail.blade.php index 725f5c24..80b4552c 100644 --- a/resources/views/admin/abo/_detail.blade.php +++ b/resources/views/admin/abo/_detail.blade.php @@ -112,11 +112,11 @@

    {!! $user_abo->getIsForFormated() !!} - @if ($user_abo->is_for === 'me') + @if ($user_abo->is_for === 'me' && Route::has('user_edit')) @endif - @if ($user_abo->is_for === 'ot') + @if ($user_abo->is_for === 'ot' && $user_abo->shopping_user && Route::has('user_customer_edit')) diff --git a/resources/views/admin/abo/_order_abo_show.blade.php b/resources/views/admin/abo/_order_abo_show.blade.php index f640ae11..a73b3c7f 100644 --- a/resources/views/admin/abo/_order_abo_show.blade.php +++ b/resources/views/admin/abo/_order_abo_show.blade.php @@ -1,5 +1,7 @@ @php($cartInstance = \App\Services\AboOrderCart::INSTANCE) @php($change_locked = isset($change_locked) ? $change_locked : false) +{{-- Kunden-Portal: Versand brutto ("inkl. MwSt."), Berater/Admin: netto ("netto") --}} +@php($portal_view = $portal_view ?? false) @if(isset($error_message) && $error_message)
    {{ $error_message }}
    @endif @@ -88,9 +90,10 @@ {{ __('Delivery country') }}: {{ Yard::instance($cartInstance)->getShippingCountryName() }} + @php($shippingGross = $portal_view && ! $taxFree) - {{ __('order.shipping_costs') }}: - {{ $taxFree ? Yard::instance($cartInstance)->shippingNet() : Yard::instance($cartInstance)->shipping() }} € + {{ __('order.shipping_costs') }} ({{ $shippingGross ? __('order.incl_VAT') : __('order.net') }}): + {{ $shippingGross ? Yard::instance($cartInstance)->shipping() : Yard::instance($cartInstance)->shippingNet() }} € @if($taxFree) diff --git a/resources/views/admin/abo/_order_combined_summary.blade.php b/resources/views/admin/abo/_order_combined_summary.blade.php index 13f28c15..83169340 100644 --- a/resources/views/admin/abo/_order_combined_summary.blade.php +++ b/resources/views/admin/abo/_order_combined_summary.blade.php @@ -1,6 +1,9 @@ @php $cartInstance = \App\Services\AboOrderCart::INSTANCE; $taxFree = Yard::instance($cartInstance)->getUserTaxFree(); + // Kunden-Portal: Versand brutto ("inkl. MwSt."), Berater/Admin: netto ("netto") + $portal_view = $portal_view ?? false; + $shippingGross = $portal_view && ! $taxFree; @endphp
      @@ -26,9 +29,10 @@ - {{ __('order.shipping_costs') }}: + {{ __('order.shipping_costs') }} + ({{ $shippingGross ? __('order.incl_VAT') : __('order.net') }}): - {{ $taxFree ? Yard::instance($cartInstance)->shippingNet() : Yard::instance($cartInstance)->shipping() }} + {{ $shippingGross ? Yard::instance($cartInstance)->shipping() : Yard::instance($cartInstance)->shippingNet() }} € @if ($taxFree) diff --git a/resources/views/admin/abo/modal_abo_update.blade.php b/resources/views/admin/abo/modal_abo_update.blade.php index 5e4b051a..79e10781 100644 --- a/resources/views/admin/abo/modal_abo_update.blade.php +++ b/resources/views/admin/abo/modal_abo_update.blade.php @@ -90,8 +90,7 @@ $canCancel = App\Services\AboHelper::canCancelAbo($user_abo, $data['view']); @endphp
    - @if($canCancel || $data['view'] == 'admin') - + @if($data['view'] === 'admin')
    - @else - -
    -
    - {{ __('abo.info_min_duration_orders_left', ['count' => App\Services\AboHelper::getAboMinDuration() - $user_abo->getCountPaidOrders()]) }} + @elseif($canCancel) + {{-- Selfservice: kein Aktiv-Schalter mehr (die Pause übernimmt diese Rolle), + aktueller Zustand wird unverändert mitgesendet. --}} + + + @php + $canPause = App\Services\AboHelper::canPauseAbo($user_abo, $data['view']); + $nextPossiblePause = App\Services\AboHelper::nextPossiblePauseDate($user_abo); + @endphp + @if($canPause || ($user_abo->active && $nextPossiblePause)) +
    +
    + @if($canPause) + +
    + {{ __('abo.abo_copy_pause', ['months' => App\Services\AboHelper::getPauseIntervalMonths()]) }} +
    + @else + {{ __('abo.info_pause_available_from', ['date' => $nextPossiblePause->format(Util::formatDateDB()), 'months' => App\Services\AboHelper::getPauseIntervalMonths()]) }} + @endif
    -
    +
    +
    @endif + +
    +
    + +
    +
    + @else + +
    +
    + {{ __('abo.info_min_duration_orders_left', ['count' => App\Services\AboHelper::getAboMinDuration() - $user_abo->getCountPaidOrders()]) }} +
    +
    + @endif @endif
    diff --git a/resources/views/admin/customer/detail.blade.php b/resources/views/admin/customer/detail.blade.php index e739a0ab..ab545c81 100644 --- a/resources/views/admin/customer/detail.blade.php +++ b/resources/views/admin/customer/detail.blade.php @@ -9,4 +9,40 @@ @include('admin.customer._detail') {{ __('back') }} + @if (Auth::user()->isSuperAdmin() && !$shopping_user->auth_user_id) + + + + + @endif + @endsection \ No newline at end of file diff --git a/resources/views/admin/payment/modal_credit_status.blade.php b/resources/views/admin/payment/modal_credit_status.blade.php index fb67bf7d..ea33f559 100644 --- a/resources/views/admin/payment/modal_credit_status.blade.php +++ b/resources/views/admin/payment/modal_credit_status.blade.php @@ -50,15 +50,15 @@ --}} Bankinhaber -
    {{ $UserCredit->user->account->bank_owner }}
    +
    {{ $UserCredit->user?->account?->bank_owner }}
    IBAN: -
    {{ $UserCredit->user->account->bank_iban }}
    +
    {{ $UserCredit->user?->account?->bank_iban }}
    BIC: -
    {{ $UserCredit->user->account->bank_bic }}
    +
    {{ $UserCredit->user?->account?->bank_bic }}
    diff --git a/resources/views/admin/settings/index.blade.php b/resources/views/admin/settings/index.blade.php index 3ebb3725..5ecbb1cd 100755 --- a/resources/views/admin/settings/index.blade.php +++ b/resources/views/admin/settings/index.blade.php @@ -124,6 +124,14 @@ Anzahl Tage vor der Ausführung, ab der das Abo nicht mehr pausiert oder gekündigt werden kann (Standard: 3).
    +
    +
    + + {{ Form::text('settings[abo-pause-interval-months][val]', \App\Models\Setting::getContentBySlug('abo-pause-interval-months'), array('class'=>'form-control')) }} + {{ Form::hidden('settings[abo-pause-interval-months][type]', 'int') }} + Maximal eine Pause pro X Monate (rollierend ab der letzten Pause, Standard: 6). +
    +

    Yn|M#yh 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%0AbT*>Zds-6p(ZYA`Oiv0E#p7Y#tUGW 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%0DG+q;tC5^St6H+Lew>vJx3 zx^phAbATs|;rDo761vkP&Qdu&u;%_qVU7A$V9_d?JIl5%^+MQyveQ*q#6V(D;Z|Ma zLk2bULU@mcYE;7Oo`S%NF`D-aNt@vG;X+5K4oZG zwKazEHTTCxhAP|Fu_-tA8^(?!&jpBFMv` zwkG_WXj$pIJBUfwsRyX(!z56tmz@`ANN%TM@MB{|cv5%gx9(CBcfx$E&WP5`2c`F; zvs?i(v*=TKe?B!Zh5A~a`YsY6bv+xac;Y7r*fse3^#}C(Y$w89#GAK9dOgJHPAVgV zB0-_f?^*sc=tN*?kog(W)|sSd zUA^pcWG0KPTcvF_cu1QY;+&*{zzAa@O`Qm^Yq5qJY=|AXRiwP>aFd*}IGC&T#%2@~ z^i2IxLr7Jqkd@<>txNNC9+?+#b?L<)YS?QCn{slgUI~~Xy9d8skwrN&H$#(kBZnhu z9Z7IS#yBSo8tz7As()(s9`(QXgqMV)@rwira=*+xh_y%O=EZ(&Pl@&?iH5;CWks^p z9c}AnJa3w8J2qsfmQJFS-l@?=GM|Lg*$wF{{6=qK-9vzB--%ZHod4p% z#m^P$0rTYlz|<87LqGsh$i7?`Y&2tn16Oj`dO#rY`|nxWYF~PqZmosd`}%seIUT-L zh)3-79XX%JUp29z;;Rc4O+WE{PU9vvVHAy(3r$U}q6+J12h@h0Gt|ad$)fI(%EAm@8Jx7_LGD8A;sJA}CjM2|b&Lz4`;i78dQuWbdqHy8e@LBS0RD5$6dkAai?lgaQ zNNZxEmGu0vfI_pB==6@8r`IM-U8(k2*xg;|N;u)*uf7dYLRb`=DbhB~@4lr|1G%J# z4(|nd4SQv3xATd`&HDFyGY>0?fwZX(wO|4ms^bGRCc_HY%upq&R3WB;4S`#+`kWE{!0CJxdwjUT7sI)Mf;^5F@F<4mAkK?32sXG1P zhPWr9s8VR-m$awY;4`k3aPZHQKq1U<{Y*w-5+$i#+Q5nd01&HcO=4wbq@llS3cF9prv_=;@EYlKSlVTZ1msS!{-atxMNCS zVInZbA${{eGHscXm2A{s=d%)xf2XkQPn0wUKbqy4I0JA}NXqi#P^lf%trNS5*K=2B z-j!drrJELW73wKESiRmPI@GEZG}^6|dQE4j!Y0jmSR1h_o&{aM!<=)&z1IeNid*5y zJi1xVYGzGH@{d1VC0}ia6ja-^a;7F-gzYrbgzeHN)%>NP&;J8wwgX6Q{+i{XN-{8d zowGAVtrXxT5Rtrk6^lt`nhp5;bIiWq6isS0P;42VddZZ@JUV!{hBP`_&y|PzQ0Jr+ zB{_&HC(qR2* zJ6zSIk^(P^fm~R~+CHU+(UUNcR^M>vOj?mr+Qb0CpXXeY4hrPY<_A?P3w$5H%)Px! z(Kp=2O6^??l?CT(6WgzA?o!DK{s3j*%76z!#yZpYcSFF})ZW>slvB(FtY*)a(lH0G zAYP9H%*XLcJM2%@XsE+w2@@Sfw_A?>o$v~9eqk>tj|+4I2G7Eq^M-^*9(vXt>) z-@W_?X9bU+in{zo;DZkCx?G0_a~otCt6aQhCWGQo#?Fu|Ka2P&R<}!dW2y9xZ=xi( zQP`R)e)l3grC0Czy7cehBuEeGC(^UYq=b@C)e&)IcxE2gE5bYV<=S-kY(8bBqyRR( zUneVf6Er#<=KH?CcGh($cfPM?d0LQg4DZ-)r!hWA@q%!%s5 zQO-Gxo?pq@sHP|b$9df~ZQ;O)tHb$yiHK3UWd7+FZ~SS%V!snZ##5bn(~2DKutj?( z3v)T4`sP2+l`bC0xu&6Di~BA0JmVYT%Dt(`1H=RBmWBL;?s3U2egYA~t1L4jgP|B8 zH+2#bO-Vepd_}Oq@^S%N!{xN{pX-$gw;RdxH~sk;+qQn#|w0+O!HnLS9p6&KWsR z5-T*doL93tTTHk7>NuP=I}6Fzv(+!g9Zz}(w%z(RH)}8FFeXw`W(StJia|0a6SuKl z3PV`xcnkfYHoNv8qIZRkd*1FWxyuCM;$Ikdnun1q{-7b0+$s{uDv8hb>Kf|}Rx>8w z(>vp1Qc%vc!J`$)Hs`lMt^(K{#mOZ&l$5!*ct=TRhNpu7hpA{pzFG=d^yGg}k7n)eO=&4IPB3y}-}kOvc8Cm{ySoiYzT`!7G& z?uwgcTaE0EYGE@jwZmB*4z@yWBTg%AS$4?p&asZzovn!k_O;B$Z^X3Yd)R+-C@`&$ z-E*cPGE=PW=m9i+jf|^VOi#Wl#PHi)(m)C!zvwkXz0ROr!+oW4VmigiJn}2+DX;Uj zVO9!j-xAUuWQRnVLLdFX-CWI|npI%N9DCr8jA|L~svfaF;b~xPtSMC3edxNzu#657 z^vOHeGa6W}q6NdD!CWFGdl6T`8+i*sxb8nt`j}QKMG$VTg*2J11|*AMcQ2NX=iWxj zJc1GXGpMwS2s1B98G{#dtzECy1eM`xHmM=4PGqn2dFY`0-#C}iwt2Vx=03LKno~VGr)#}_OizwvikZESC zyc(8FP0>g4?-lC(<05KufBEcMSLL4Ky-4+}k;K|MrIbrdmvPT|RuvJ+SceKwc4&A@ z4L;)3k>lYTzZFzG3+DX>qk=K0cKJFcrBdm4yNJZ330TJ=arQ#sk2=oVbyd3%vx71w z^~xeLuIF9@03QW>wXASa=eDg9Miv;$s`Brd=`Q%pqx_EQ4!K+jutRj=G}BZf0dP$HKk$knTJG7I7>#38BWJr99PCfwSHPH&doY|Uy`&oEnEc8 zoEq&vhbeI&3a@BrI5;6z(UAA$%y7SFvUUk2EiNx4Hr=!ixFNMrV~M=q&m^uLc*)#* z0cZ1@oOzu^%6K)Cx^UJ73VKZoD`)h?`=%@LUWL46rr9rbJypi`%S^aoamR*`To^KI z%o*;%q;w6sZpcbV`SUOdN3!3uHe`G^vlj|>FPM_Q22^L+1xbDeXT0^HC4}j|oP}@6 zt7S5$uMtnIZ}OB6XqgDn`1YJ!C*)QY@q*dWQc-UEdp6=o@2KXG)R7vUivxih!AFoX zT0V~9yaJn{TSAHx#lbnA>TjLO7#uUkTpU2KPm3%Zv1iAcsmMm-N} zA7MJm7C>XihXnZb#zOOj#=iHM$^+_X?e9Ow7uIk(oUpWTLlMV|wdRnS%n;P~@g7*) zxai`KLoaw+Pe&;qq?-y%JZNR3zb|49!=<~LUiWm0%aRp480YRI_LjQnb}3@h;6}4# z?OG($<8(C40q17jj4Kcd%L^)M64@tLhN`I&|Dsyo#^#swjL${H{2BP}1Y^|=X_7s! zns%zBwuLeWBL}sXcv5UcpV&O@s&<=^u1}`HbWdqZ2^ljZli{z?pycL3c9${Xi6oc~oT$aE5#1RtKicyWEfxgSjxRb!@KxZiJ`=jU{ zbc9E`dw`@;ZApMyxUrrgxWi#(?gQdCSRZ!*r#wl%g4j%X32G(Lk+N;XskVT`3e4qP zAC3UFLr`xd-fF8h+oSy|k*DsdiySow!!lSO+_t|7DD-X^g#9~i9HO-B?FhN5%y*ZA zzc8(UbAReQ3P8WkpT2=BsxxYi&NK*jU#QTUnLj6|sF2Sa4qH&| zFx7AzdtW^@wrn$*AJl*fzfh#_G(D(&u~bWR0MBT{!f2b-QkP2YJF8EPFe5a1&z#}? zNz_qZ;5M}QlAg4wz+*DOdcp))GI2?8=SUH(%xRQswwhC7#M&-6$6ymkanpxpR{>$c ziu73XA(w=!=DU-g)2lOh9=2_CcXofWG)wb|s)(!v%b>II-6t)gS?b?*%->;kf_yOV zTgFyM44xW{H9LmqQrNg^Nh8F%tvtHzaR3^@d+U!Ibm)-l1gTYso{o+_22;N$QaXut ztmt_uK*^n6|8z=Pv7B?z#L zleK$xNI!Ny@4hL++E1&XD8f=SRABS2v#+>eQHW-nz=%z2_??tz%6@)d=VY2*_s(9# zYT_*Nb!l77(HYeEo#1Wo``xbqXFkI@ODA!M0}rJIg#tiXK?TMnI6E%}n-IE^X~+Ll z*m;LFv339cC<=;TK>+~)Q30tTKnS6!^xlLBq4ySwbV2ZdQbUoFgpQQZdzGRzQE8!v z4kCo!I|y>e^ZxF=2j2TUcmFl>&Dv}2S+n=dAG7mWhW0X1p#-T4DoX55Z}GzR*!#lb z`*$GzQUuLH&Hl~M++X%syAs(~R%)t3XV7tN#3f%**=wn3^|v!xhXg<0%U|38`M?5;jiGrF zqofi%r6=aj@1#{~CSJd$n793rIgy*I+dljERgeVbbJ~L3J~f2T+Q8Eqy`Rg4@?Ask zn`>%l%zv6KRH`mpG=**Xk!)ubZi#4GX*Ud2xS6~pUf#DKbM>@H<58ajadF%@bmqhw z2(iDZQY#x-otd#CRkXrp7U?1g@aWM`>C237KFhsn4M?_I`qYm90J3`7RzEQj5bq%O z5?-Ps^xZH1q<^`34-=4ng7!N~2(74q1qhI}r1^cV@%9Scsck$k!WM21Rm|@e@2c1_ z=ot>(U+xRt+SV^m;8$9uBNP_N9xCFD=$|Wj=7+c8!zoO1Z*x#G+=`&dr0)F^ z*QLysJ%Ku6lK2o>bB#f^a$bZmYo1k`;3i6BN`9*b7i(R`?fy!*r7RWM7YgfKVHm@% zB;S_5EiPAuH<(Q79};y>4vrUjxrj`y*&AgMp{=LNCpB22Dxkmg{iK3D+4>6phQn1( zhb4qDDW403d&S&@pmNjFC$zOibM4zk7&}RIL1#j0gN#Z7<9-^mxameOTBlxJ{|$E+ z0gpUr9+BVj<%MPaEF$gjv=QvxysLJ(|KwdQuDe)5cv0(Jm4%>b?(g!dmo%!yD0O9o zT#bK`QqL}3Zbi}k1{(RQL?3G?diL=)M^>OMM}smaN+h!;j#0ctA9N|P!EXxpIUwNW ziACgeYZ}s2(J-51v8<`{weei8N(Be54i$O@a=}q^4VfWQES@pQn{XSmh@hn8Zi?g2ZdgvY%pY1&y(RL!X9F5)7i=8(SuifI8ER=g;cyaL5GCc8DlM8CX)%oX76fg3yRf_i8!BIzp zftyWr*J-mh_SC2MGVHWJy<>i!qX=Z^T4VFdaJ#@d;;u!{Z%uu}AfY$-@uGBei)$~= zpQpBBPH5dGZ#@;m`^jZ`hRkZLjO*>pu4$pn?)4)CW z6dgVlp^}!rzsbZqbz>R+K0n7k(!MadnUI-%xqR)~To%qB?^xja)cyVAETMNIR+5Q~ z3PIJ^Wp<+?N(PCJ9=&>R<}61_IvMB^r^BUnB&AmL6?a}FxZ0Mddu*LrI)4k#idx4) zypnk#0^iVZgf?xGDaRa@RQZyvK$l;Va*SeBEP9Q*&aik0cc(jEh=$f|v*xo`NiA$B zZ-IjJQ|q-vSCu4mYM{y}E5mYORx~~kf0&GQml)4YK?`1p3zy}lup*UkyR&C(vSaww zDW+T&_aftS(pHjl4EDN%p-AVe+=n}wpe0;Hk2jSgQ%0gJ<&~Sy?`*~$C4~lR7`|OJ zi9vGu+9ynl|GN0=gHOIeyk)ATNB2P&cd15qxK9WVR8 zyf_&-=A%!5A0s*)JVCN6LUmISlvfJA9Md&~l=2U*Rkx0^goc-xE>4`rj%tLcs;zsJ zxaTVbzHBi!>EE6e36u4$H9aJ5E7DfS)>3kYYuJSea_4ba^X|{d((bs+xNOs|8N~I& zvFm-DaaZXCk5-oUqW!HubAf70sznpHbP=Z3YPmKXFbS(#mE~P;#-=6pkNn+O##|%8 z4BMPfJ+n?D%JAy06wChF{&BpqjjV%q%9A={*&E4fm)U+laMbj{4n*1MUh8JxGuG&< z=9ew}Ti4!yr1pWCmeei#g)A+X-VtNHtV5)&9vvY|wgRcWw?ZfKSlg)slM3siA=lU$ zx!ac|`@GA_EY}{9a6$CefhO|Ngu5(-;&Dy(NqPPS0F9h*q3&%aRA7rOxhvHuX|z@( z;Z?}svsB>~+G?<4FVQh*x6r2ixeLFhtL-O5rJ%r=Wv`uNvglkJ&F6a?7psDEHtuNu zx@g3A7fMmk!?0tE3L2B&uz_eXPOX;m@TeJ-2Iek!IJ#NSoAGK|3?3(=KsP z$fvfUutLRQxm+3#ubgHH<-C zU}x-%M^ebNr?*cY#P{{e%#e<~9-|q<388tGoT^7SN2ONXpfrjBJ31_kj7U|FvD#)7Ig#c| z7QVNCbMNrN$3?$>N=mB|4a(iOddB1jK9bq4(Q(6+JwC`u>$w8={4T2uBOL$cdPo@v zq5ha-Md{u_w3CTj8aJ(?CG{yi1))2G{kk-~$5HXg+n{$92-c(FR0m5gOsRrQ$6n<# zMN=HNlB!#ls>_x__nq9&k~pSQb#V5a#UXj0a{Ipdp-F2}N-D8K#`@UEmikD?R<=qi zyPkWd;d_s$`n*Jts;>sd@cl0SX)W2Wo9Mbq4uTrjb_B01-_NB@HYn2w9VLCz8(dyYL=4AQzTKWc?q>bQJxanwtZNioQdDYsT-~iL3 z%y^!*p4CgP8%b=*)!@L03`EEp?|Y+x1@78XT75$=gTAy)C41G{si$zdRnPjskDCU4 zKAr~!Hm&Zo_OkcKe!6Fm%!d2DCou_cwcpnh%U!H09V=nK%GD$dW0}gpH%E+Xt+d%^ zzBm*HPaC0M-V7IGf2Qws%;hUr7)qw}qZr$N&1?H|tp;RTb0KO5oKMvXR+BpFC$_QA z&C^5=Jf}rx9@Q@`Iq}jc;n0%dlzF~DDgvC=px;7 zf#B5|frH76ua7If?dc!IXZBVgCOflWt%A~{X{DK?#oCFX~+$nRD0pd=Yk~P!2O_ z@JY!x?zf2PrS*SBHlp|z0T$jZZWrRgN#E4qkjWcC(Qi3QX%Pl#x8(vL3avx|Lj`(8 zr>uf}@7sbaHjmThbDEyc%O{UJA__{reicpI!BUfOVe(j&EE671*l6a_63h>5Y2or- zdV!*l7PkBs60phBX4H(5uR|HbAU|nkWrNpZrTv(p&*6yM@KnAv#qcI5N?f?5+9~it z-Z_(GKa#eV%NFh$zGS_oQfN}g*8*eEa;=eEJk-)vxaTuv~fucbI_$+ zhoBv}tjdc@Q|BzvK7p=iuaPZchjtmy!@&RpkF8n*=h3Pm!=pijm|E1}0<)UJe#3#k z>uHQv;svXGjbysiNT!mTlc$gNre>pU%&S~MPv&h!4yHNOA&i$7+u)_sH^It1af-KE zE`{el?bI0m3oIK@(Z5{Y?m{+()6}?rdk61g+sQB>fjeN2$*|#gRY0>n{2_V3)y#e} zXC)-dO82dq zz7B9jtJ#;3ChDttMns54ng6Zw*F&AAV&Z=9@og^3sJ1tYT@01!A1l&Jbr21;7Tkdk zV$^K1)(ngbu~1Wq5Hki(>MHMd;+krOMOogSt=m{z;%u1xzCp=RQJ34Rxet#)M_wXmDgW`}=(u`mef9+N%7Ot)@ndUV6}^$fF~JPNi&t&K&`?pUE{cOC zhOuiwLWX~V`U44j&#T6`9?;q7p|X4|7ug?Se4WN#a?+=-X3Hm(NF+^e)s)G^JH|0Yt*E_MuQNE# z()c9U^4pO{bpp*s>K?{K5#%09$d66MAVZC+=6_d4_30cp8aj>t4DXE78?AepC2B`V zs7jcO-zePLC_KGKhd6Ew+8^IynIQ{uXejYOjQTG#NBSJjlPx(XU>qBwy>f&2wk8Ty zSzDt+1|?NhF|jcmM05FP#j!EG#7qT~$UCa&t&!%WmPiMGUetU-g`^^@WVqT^j7PAs zrSsPuW}q-)oJ!XAB3wxc6J)t{cQLy+Wd&tSfHq|>)E>khJl|Qo(wuW|_9L02r|?Uu z0Vlzae9X(~h|g-J^(GVL=GnIPC z#u7uq>F$nFafkz3AB5Q>f+MMT-Rm;P3!5hAODzyF8W~MY!fjh%pDTsdVP3gUEu1~? z#Rb_-4(jeKS$bs@RpLY$7u`Q?^%at$VO)c2rSXDlk2#TojZA;5IrNP6Yp{=LuzP%P z9Ei!*Nsimj$H`-2Qx)b1HEfTyY>#thvlz0*J2z``!4uZ_NUe7pO13c&O>e5x=G0qk z0arJjzcXk&L{#(|K40D+N~flIqB%{t<1tp!jAdWB^5&g(4AsqK&IUS|R3gOgdncsy zux$SlC_N727ZhE8hmvP5i9_QeLBaaj{G8i(x@+^V_%8bdg>Ib1nB2Pha^X=aC#oY) zn*!d?j)D$|@aNHJl@;0}GT^NFZYhf=w8}=l)*pt&f93I5&63xTq^&ub3-2QIFrutn zkU?%b%tVE^#UuV|UQtny-u!oG6NN87+pl`%VODK&r@UKQ#*BJIOK6`ySpE^^;6L~) zbL91k-bE=ZbtzC(yDOh7U9x^G*bb{c0V&2*Ry$V{_v=u>}v z_*v_1Aqn!v1)se)4)>awKwR!J90e=x@Q*OUD(KidjJi0Bs8$QA^`0AV9X%o1H)=5V>c?D`>D&9wKu~qD zIO4{{D!)(-d@|czw9b=CpzV?^c7^p9jILOpR@Cp=8u5X0s=Ou$T6L`<7|ro=yS+|I zgGyOly~@8M3~w11fZ9Le zN|ea6CG)iyp8qy+5_KYF<_vnH*PmOe|IERp&xKy3^1UEJ0M~R{~B6^v}Qbn5j>M$~} zQIceWG%Ueo0B-CS8evkQ`)Fu=0j29IaCKrWNTDrO)B=oY!p?cw7s#6-72}bM2{fV9 zoCGTT*vi9u`JQzsk>}NSVlTEAKfec^Cf=%IFQ1`Veh}c_$EKF3JfZW6n zV}A{d+h{sKyuW1frM9!>XxJe79Q`+C8IMKY=Ql@_HR@c+7?{YPCV$vA$nJmZt92JbP4M}V?HvKU%00u) z6`_oc2#C)t=ZK;F9=@NXdo!Xv-;eNi|1LSFIqQhoh#Pay#8=q>bXHcY$|@QePtTe% z#Cq7(Qp5Cp4c;m$?n=jJJl}1E9z)y+1Byj@zv6!+uHLPi+wymSQ=NiPgo@8uR+VILi?j)2nl|%fI z9*M8`Yd6)&gF@RHTkE)@r>yJGHX<=|W=!nm8$KItxXh^f)}^j^BW~&(-0P|$t(%x; z(%g7=mM5!{T}}fFH^=3y);MBpJ4QQ%VmWRhKix%NE6o@--JD5%o#7(t3W7gzyqB>n zknCk{ez}3!O`RF|SDBXhC%2=~MaApzVp*d6fF@OQOj5()$>`Dz@>&z~iC|2_lczph zK1x?U`LBHoEm@tu@lTSdop3|BK&%B%@sAeRN`*vJjHLcxKlag z0XiBDC_Hq5Qoi}L+t^at7k!wYpH+;!ZW7HC1*dw>q|sZA<+AR2MDAR+!K>T+?#*6t z=FiSyy863I;)wS%A4vJ zGYEk4vAq938dz8Ws6PIu-FNs$0|Oi4_#n_T+CRVZ11zC`*#U=O7y$e^tMNnm0jSSe z?LTM#*8ap00*Z+LTl?o27{$LeFi=_i4^-&i8gR@H)O9|m@e4wP&->$t@$m_tw}bux z8J+dV4+8_Rpz|6(P$2!RCd3C3Id(WI%g-y z2NME-RA*uc3IpxDov<(j_Fo!slg?eQpfC&!z@^UkgTNsF4^0sK2iEnc{qK7Y*zupA z8-OMVIX6CGU^YX}<^>GqgTT)D1M~9%sXu22(6j^q*w(+}{#i$0;j?1~3;gN(Uzz}L zd1w0q{)7b1X@Eceb7TG!L*U%=;EyJFZfyY?49N7^7=Q*$m~$G0?|lA%buRed{-6TF z(DVMF0L|#UKVc}0?`)odbp#avfMI8IB`gfg=>My^I-A%aEu6{4!~n*cjh6-RWV{d3 zbaZqDIA;G)kU$C!mX7xUKG{DAH3jMWdiTXFOdtX#77$AdOFm%%elXb71PlXP!psCM nOn{kZDj-4r|2O#$lg!1{#M$+qCp0j_AV7}ESy^S&WXb;*5R&RL literal 0 HcmV?d00001 diff --git a/dev/2026-07-22/entwicklungskonzept.md b/dev/2026-07-22/entwicklungskonzept.md new file mode 100644 index 00000000..9ed8eb3d --- /dev/null +++ b/dev/2026-07-22/entwicklungskonzept.md @@ -0,0 +1,233 @@ +# Entwicklungskonzept — To-Dos vom 2026-07-22 + +Basis: `dev/2026-07-22/todos.md` (Kundenwünsche). Stand der Code-Analyse: 2026-07-22. +Noch **kein Code geändert** — dieses Dokument ist die Planungsgrundlage. + +Die To-Dos zerfallen in zwei Blöcke: + +- **A — Abo-Verwaltung**: Pause-Funktion, Kündigung +- **B — Statistiken & Dashboard**: Home-Dashboard, VIP-Statistik (`/user/backoffice/statistics`), Abo-Statistik + +Die Führungskräfte-Statistik taucht in der To-Do-Liste dreimal auf (Z. 35–36, 62–64, 67–74) — inhaltlich ist das **eine** Anforderung (→ B7). + +--- + +## Übersicht der Arbeitspakete + +| # | Arbeitspaket | Ist-Stand | Aufwand | Offene Fragen | +|---|---|---|---|---| +| A1 | Abo-Pause (1 Monat, Regeln) | Nur Aktiv/Inaktiv-Toggle, keine Terminverschiebung | mittel | F1, F2 | +| A2 | Abo-Kündigung prüfen/finalisieren | Weitgehend vorhanden (Status 4 + Bestätigung) | klein | F3, F4 | +| B1 | Provision „Stand heute" (Home + Statistik-Übersicht) | Provision nur monatlich per Batch, admin-only | groß | F5, F6 | +| B2 | Abo-Zahlen bei Monatswechsel aktuell | Snapshot friert Bestandszahlen ein | klein–mittel | F7 | +| B3 | Neupartner-Liste: Sponsor + Kundenpunkte | Beides fehlt im Drilldown | klein | – | +| B4 | 1000-Punkte-Shop: eigene Person zählt mit | Nur Team, Root-User ausgeschlossen | klein | – | +| B5 | Top-10 Kundenabos (Anzahl) | Existiert nicht | klein–mittel | F8 | +| B6 | Top-10 Kundenabos (Umsatz/Punkte) | Existiert nicht | klein–mittel | F8 | +| B7 | Führungskräfte-Statistik: 4 Kennzahlen + Summe | Nur eigene Abos + eigene Kundenabos | mittel | F9 | +| B8 | Abo-Gesamtumsatz in der Payline | Existiert nicht | mittel | F10 | +| B9 | „Neue Abos" klickbar → wer sind sie | Nur `+N`-Badge, kein gefilterter Drilldown | klein | – | +| B10 | Payline-Prognose zum 5./10./20./25. | Existiert nicht; Datenbasis vorhanden | mittel–groß | F11, F12 | + +> **Update 2026-07-22:** Alle Fragen wurden vom Kunden beantwortet — Zusammenfassung im Abschnitt **„Entscheidungen"** am Ende. Die Entscheidungen sind in die Arbeitspakete unten eingearbeitet. Einzig F12 bleibt eine dokumentierte Annahme (Vorschlag umgesetzt, Kunde prüft nach Umsetzung — siehe B10). +> +> **Umsetzungsstand (2026-07-22):** ✅ **B3, B4, B9 und A2 sind umgesetzt** (inkl. Tests: `AboOneAboRuleTest`, Erweiterungen in `BackofficeStatisticsDrilldownTest`/`BackofficeStatisticsAccessTest`). Zu A2: Die Ein-Abo-Prüfungen (`AboHelper::userHasAbo/memberHasAbo/hasAboByEmail`) blockierten tatsächlich auch nach Kündigung (`status >= 1` schloss Status 4/5 ein) — behoben; `abo-min-duration` hat jetzt Code-Default 6 (`AboHelper::DEFAULT_ABO_MIN_DURATION`). Offen aus diesem Paket: Produktions-Setting `abo-min-duration` auf 6 prüfen. +> +> ✅ **B1 ist umgesetzt** (Tests: `LiveCommissionServiceTest`) — **damit sind ALLE Arbeitspakete dieses Konzepts umgesetzt.** Neuer `App\Services\BusinessPlan\LiveCommissionService`: Der bestehende Live-`TreeCalcBot`-Lauf berechnet entgegen der ursprünglichen Analyse bereits alle drei Provisionsbestandteile (`commission_shop_sales` in `makeUser()`, `commission_pp_total`/`commission_growth_total` in `calcQualPP()`) — es brauchte nur einen dünnen Service mit 6-h-Cache (F5). Liegt für den Monat ein `UserBusiness`-Datensatz vor (Monats-Batch gelaufen), gilt dieser als final (kein Live-Badge). Anzeige: Kachel „Provision (Stand heute)" auf dem Home-Dashboard für **jeden Berater** (F6) im Umsatz-Cluster (Gesamtwert in €, Live-Badge) + KPI-Card auf der VIP-Statistik-Übersicht mit Aufschlüsselung Payline/Shop/WB. +> +> ✅ **B8 + B10 sind umgesetzt** (Tests: `PaylineForecastServiceTest`): Neuer `App\Services\Abo\PaylineForecastService`. Payline = die ersten N Ebenen der Downline, N kommt live aus dem Provisionslevel (`TreeCalcBot`/`BusinessUserItem::getQualLevelPaylines()`, kein Bot-Umbau nötig); Kontext (N + Mitglieder-IDs) 6 h gecacht. **B8**: Karte „Abo-Umsatz in der Payline" auf der Team-Abo-Seite mit **Soll** (Abo-Punkte pro Zyklus, Berater- + Kundenabos der Payline) und **Ist** (im Monat abgerechnete Abo-Punkte, neues SQL-Fragment `SalesVolumePoints::aboPoints()`). **B10**: vier Prognose-Kacheln auf dem Home-Dashboard (nur laufender Monat): Basis = Kundenumsatz + Payline-Punkte heute, plus kumuliert die bis zum 5./10./20./25. noch offenen Abo-Punkte (`next_date` > heute); vergangene Termine ausgegraut. **F12 wie vorgeschlagen umgesetzt**: eigene Abos + eigene Kundenabos zählen mit — Schalter `PaylineForecastService::INCLUDE_OWN_ABOS` (Default true), ohne Umbau umkehrbar. → **Rückfrage an den Kunden nach Livegang:** Soll das so bleiben oder sollen nur die Payline-Abos zählen? +> +> ✅ **A1 ist umgesetzt** (Tests: `AboPauseTest`): Button „1 Monat pausieren" im Abo-Einstellungs-Modal (Berater + Kunden-Portal, nicht Admin-View), verschiebt `next_date` um genau einen Zyklus auf den gleichen Liefertag des Folgemonats, Abo bleibt aktiv (Status 2). Regeln serverseitig in `AboRepository::pauseOneMonth()`: 3-Tage-Sperre vor Ausführung, Mindestlaufzeit (`abo-min-duration`, wie Kündigung), max. 1 Pause pro X Monate rollierend über **neues Setting `abo-pause-interval-months`** (Code-Default 6, `AboHelper::DEFAULT_PAUSE_INTERVAL_MONTHS`). Neue Felder `last_pause_date`/`pause_count` an `user_abos` + neue Tabelle **`user_abo_status_histories`** — protokolliert jetzt Pause, Kündigung, Deaktivierung und Reaktivierung (wer/wann/View + Terminverschiebung). UI zeigt bei gesperrter Pause den Hinweis „wieder möglich ab …". Sprachkeys in de/en/es/fr ergänzt (du-Form). +> +> ✅ **B2, B5/B6 und B7 sind umgesetzt** (Tests in `BackofficeStatisticsListsTest`): Führungskräfte-Liste mit Teamabos/Team-Kundenabos je Führungskraft (Abschneiden an der nächsten Führungskraft, additive Summen) + Gesamt-Spalte; zwei Top-10-Karten „Kundenabos (Anzahl)" und „Kundenabos (Umsatz)" mit Soll (Abo-Punkte-Bestand) und Ist (abgerechnete Kundenabo-Punkte des Monats); Snapshot-Monate überlagern die Abo-Bestandszahlen (Linien, Summen, Führungskräfte, Top 10) jetzt live — Badge „Abo-Bestände tagesaktuell" in der Übersicht, Monats-Punkte/-Umsätze und „+N neu" bleiben eingefroren. Noch offen: A1 (Pause), dann B8+B10 und B1. + +--- + +## Block A — Abo-Verwaltung + +### A1 — Pause-Funktion (max. 1× pro 6 Monate, verschiebt um 1 Monat) + +**Kundenwunsch:** Pausieren erst nach 6 Monaten möglich, maximal 1× in 6 Monaten, Pause = 1 Monat, die Ausführung verschiebt sich um einen Monat. Button in den Abo-Einstellungen. + +**Ist-Stand:** +- Es gibt heute keine echte Pause. Der Toggle „aktiv" in den Abo-Einstellungen setzt Status 2 ↔ 6 (`AboRepository::updateStatus()`, [AboRepository.php:102-127](app/Repositories/AboRepository.php#L102-L127)). Dabei wird `next_date` **nicht verschoben** — das Abo steht einfach still, bis es jemand wieder aktiviert. +- Sperrfrist existiert: 3 Tage vor Ausführung keine Pause/Kündigung (Setting `abo-lock-days-pause-cancel`). +- Es gibt **keine Historie** für Pause-Aktionen — man kann heute nicht feststellen, wann/wie oft ein Abo pausiert wurde. + +**Konzept:** +1. **Neuer Button „1 Monat pausieren"** im Abo-Einstellungs-Modal ([modal_abo_update.blade.php](resources/views/admin/abo/modal_abo_update.blade.php)) für Berater- und Portal-View (mit Bestätigungsabfrage, analog Kündigen-Button). +2. **Wirkung:** `next_date` wird um genau einen Ausführungs-Zyklus verschoben (nächster `abo_interval`-Tag im Folgemonat via `AboHelper::setNextDate()`). Das Abo bleibt aktiv (Status 2) — kein Status-Wechsel nötig, dadurch bleiben alle Statistiken konsistent. +3. **Neue Felder an `user_abos`** (Migration): `last_pause_date` (Datum der letzten Pause) und `pause_count` — oder alternativ Pause-Einträge in einer kleinen Historie (siehe Punkt 5). +4. **Regeln (serverseitig in `AboHelper`/`AboRepository`, UI blendet Button entsprechend aus):** + - Erlaubt erst ab 6 **bezahlten Lieferungen** (entschieden, F1) — gleiche Basis wie Kündigung: `getCountPaidOrders()` gegen das Setting `abo-min-duration`; vorhandene Mechanik `canCancelAbo()` wird zu `canPauseAbo()` gespiegelt. + - Maximal 1 Pause pro X Monate, **rollierend** (entschieden, F2): `last_pause_date` muss länger als X Monate zurückliegen. X kommt aus einem **neuen Admin-Setting `abo-pause-interval-months`** (Default 6, änderbar — vom Kunden explizit gewünscht). + - Bestehende 3-Tage-Sperre vor Ausführung gilt auch für die Pause. +5. **Historie:** Pause (und idealerweise auch Kündigung, s. A2) wird protokolliert — Vorschlag: kleine Tabelle `user_abo_status_histories` (abo_id, action, actor_user_id, created_at) oder Erweiterung der bestehenden `AboItemHistoryService`-Mechanik um Status-Aktionen. Ohne Log ist die „1× in 6 Monaten"-Regel nicht sauber durchsetzbar und nicht nachvollziehbar. +6. **Selfservice-Regel beachten:** wie bei den Lock-Settings gilt die Prüfung auf Basis des Consultant-Views, kein Admin-Bypass im Selfservice-Bereich (Admin-Bereich darf weiterhin frei agieren). + +**Abgrenzung:** Der bestehende Aktiv/Inaktiv-Toggle bleibt unverändert bestehen (Admin-Werkzeug); die neue Pause ist eine separate, regelgebundene Funktion. + +### A2 — Kündigung nach 6. Lieferung („bitte noch mal genau prüfen") + +**Kundenwunsch:** Kündigung nach der 6. Lieferung, monatlich, über Berater oder Kunden-Login. Button „Abo jetzt kündigen" + Rückfrage, dann Entfernung (Softdelete). + +**Ist-Stand — weitgehend vorhanden:** +- Kündigen-Button mit `confirm()`-Rückfrage existiert im Abo-Einstellungs-Modal für Berater- **und** Portal-View ([modal_abo_update.blade.php:110-116](resources/views/admin/abo/modal_abo_update.blade.php#L110-L116)). +- Mindestlaufzeit wird über `AboHelper::canCancelAbo()` gegen das Setting **`abo-min-duration`** geprüft (Zählung: bezahlte + extern erledigte Lieferungen). Vorher wird der Button gar nicht angezeigt, stattdessen ein Hinweis mit Rest-Lieferungen. +- Kündigung setzt `status = 4` (storniert), `active = false`, `cancel_date = now()` — **kein Softdelete**. 3-Tage-Sperre vor Ausführung greift. + +**Prüf-/Restpunkte:** +1. **Setting-Wert kontrollieren:** `abo-min-duration` hat **keinen Code-Default und keinen Seeder** — fehlt der DB-Eintrag, ist die Mindestlaufzeit faktisch 0. In Produktion prüfen, dass das Setting auf `6` steht, zusätzlich Default `6` im Code hinterlegen. Kündigung ab der 6. **bezahlten** Lieferung ist bestätigt (F4) — bei rechtzeitiger Kündigung findet die 7. Lieferung nicht mehr statt. +2. **Kein Softdelete, Status-Modell bestätigt (F3):** Beim regulären Kündigen bleibt es bei `status = 4` — das Abo bleibt für Statistik/Abrechnung nachvollziehbar und verschwindet aus den aktiven Listen. +3. **Neues Abo nach Kündigung darf nicht blockiert werden (F3, wichtig):** Es gilt „immer nur EIN Abo pro Kunde". Die Prüfung, die ein zweites Abo verhindert, muss gekündigte/beendete Abos (Status 4/5, soft-deleted) **ignorieren** — nach einer Kündigung muss sofort ein neues Abo angelegt werden können. Ist-Verhalten der Ein-Abo-Prüfung analysieren, ggf. fixen, mit Test absichern. +4. **Kündigungs-Historie** analog A1 (wer hat wann gekündigt — Berater oder Kunde) mitloggen. +5. Kleiner UI-Review: Button-Beschriftung/Platzierung ggf. an Kundenwunsch anpassen („Abo jetzt kündigen"). + +--- + +## Block B — Statistiken & Dashboard + +### B1 — Provision „Stand heute" (Home-Dashboard + Statistik-Übersicht) + +**Kundenwunsch:** Auf dem Dashboard (und auf der Übersichtsliste, Z. 46) die aktuelle Provision Stand heute anzeigen. + +**Ist-Stand:** +- Provision wird ausschließlich per Batch `business:store-optimized` nach Monatsende berechnet und in `UserBusiness` gespeichert (`commission_pp_total`, `commission_shop_sales`, `commission_growth_total`). Anzeige heute nur im Admin-Bereich. +- Live läuft im HomeController bereits ein `TreeCalcBot` — aber nur für **Payline-Punkte**, nicht für Provision ([HomeController.php:169-183](app/Http/Controllers/HomeController.php#L169-L183), Cache 6 h). + +**Konzept:** +1. Den vorhandenen Live-`TreeCalcBot`-Lauf so erweitern, dass zusätzlich zu `payline_points` auch die Provisions-Kennzahlen für den User berechnet werden (die Rechenlogik existiert in `TreeCalcBot`/`BusinessStoreOptimized`, muss aber für einen Einzel-User-Livelauf extrahiert werden). +2. Ergebnis im selben 6-h-Cache mitführen (`home_payline_*` → erweitern), damit kein zweiter Baum-Lauf nötig ist. +3. Anzeige: neue Kachel „Provision (Stand heute)" auf dem Home-Dashboard (`_statistics.blade.php`) mit „Live"-Badge + Hinweis „vorläufig, final nach Monatsabschluss"; gleiche Kennzahl als KPI-Card auf der VIP-Statistik-Übersicht. +4. Für abgeschlossene Monate: fertigen Wert aus `UserBusiness` anzeigen (kein Live-Lauf). + +**Entschieden (F5/F6):** Die Kennzahl enthält **alle Provisionsbestandteile** (Payline/Team + Shop + Wachstum), Aktualisierung alle ~6 h reicht, und sie wird **jedem Berater** auf dem Home-Dashboard angezeigt (nicht nur VIP). + +**Risiko/Hinweis:** Die Live-Provision ist rechnerisch immer „vorläufig" (Ränge/Qualifikationen können sich bis Monatsende ändern). Das muss im UI klar gekennzeichnet sein. Aufwand ist der größte im Statistik-Block, weil Provisionslogik bisher nur im Monats-Batch für den Gesamtbaum läuft. Da die Kachel für **alle** Berater kommt, ist die Performance des Live-Laufs (6-h-Cache pro User, Berechnung beim ersten Dashboard-Aufruf) besonders zu beachten. + +### B2 — Abo-Zahlen aktuell halten beim Monatswechsel + +**Befund (Kundenbeobachtung bestätigt):** Der Monats-Snapshot (`backoffice:store-statistics-snapshots`) friert **alle** Kennzahlen ein — auch die Abo-Zahlen (Teamabos, Teamkundenabos, Führungskräfte-Liste). Diese Abo-Zahlen sind aber **Bestandszahlen ohne Monatsbezug** (Zählung `activeAbo` ohne Datumsfilter). Wählt man einen vergangenen Monat, sieht man den eingefrorenen Bestand vom Snapshot-Zeitpunkt statt aktueller Zahlen. Nur die `*_neu`-Zahlen sind echt monatsbezogen. + +**Konzept (vom Kunden bestätigt, F7):** Beim Anzeigen eines Snapshot-Monats die **Bestands-Kennzahlen (Abos) live nachrechnen** und über den Snapshot-Payload legen; die monatsbezogenen Zahlen (Punkte, Neupartner, neue Abos) weiter aus dem Snapshot. So sind Abo-Bestände immer tagesaktuell, historische Monatswerte bleiben stabil. + +### B3 — Neupartner-Liste: Sponsor + tagesaktuelle Kundenpunkte + +**Ist-Stand:** Der Drilldown der Neupartner-KPI-Card zeigt Name, E-Mail, Karriere-Level, Aktiv-seit, Account-Gültigkeit — **weder Sponsor noch Punkte**. + +**Konzept:** `BackofficeDrilldownService::newPartnerRows()` erweitern: +- **Sponsor**: Join auf `m_sponsor` → Sponsorname als Spalte. +- **Kundenpunkte (tagesaktuell)**: `externalPoints`-Summe des laufenden Monats je Neupartner über die vorhandenen `SalesVolumePoints`-SQL-Fragmente. +- View `details.blade.php` um die beiden Spalten ergänzen. Kleiner, klar umrissener Eingriff. + +### B4 — 1000-Punkte-Shop: eigene Person zählt mit + +**Ist-Stand:** `lineBuckets()` beginnt bei den Kindern des Root-Users — der VIP selbst ist in `shop1000Count()` und im Drilldown **nie enthalten** (gleiches Muster auf dem Home-Dashboard via `activeTeamUserIds()`). + +**Konzept:** Für die 1000-Punkte-Kennzahl (KPI-Card, Drilldown, Home-KPI) die Root-User-ID mit in die geprüfte ID-Menge aufnehmen. Erreicht der User selbst ≥ 1000 Punkte, erscheint er in Zählung und Liste (z. B. mit Kennzeichnung „(ich)"). Bewusst **nur** für diese Metrik — die übrigen Teamzahlen bleiben ohne den Root-User. + +### B5 + B6 — Top-10 Kundenabos (Anzahl und Umsatz/Punkte) + +**Kundenwunsch:** Zwei Ranglisten „unabhängig vom Incentive": Top 10 nach Anzahl Kundenabos (z. B. „Platz 1: Monika Kunz, 15 Kundenabos") und Top 10 nach Kundenabo-Umsatz in Punkten. + +**Ist-Stand:** Es gibt bereits das Ranking „Neue Kundenabos" (nur Neuzugänge im Monat). Ein Gesamt-Ranking (Bestand) existiert nicht. + +**Konzept (Entscheidungen aus F8 eingearbeitet):** +- Zwei neue Listen auf der VIP-Statistik-Übersicht, technisch analog `newCustomerAboRanking()` in `BackofficeDashboardService`. **Scope: das eigene Team** des Statistik-Nutzers (nicht unternehmensweit). + - **Top 10 Anzahl:** aktive Kundenabos (`is_for = ot`) je Berater zählen — **Gesamtbestand, unabhängig vom Incentive** —, absteigend, Top 10. + - **Top 10 Umsatz mit zwei Werten „Soll" und „Ist"** (Kundenwunsch): + - **Soll** = Abo-Punkte-Bestand je Berater (Produktpunkte × Menge der laufenden Kundenabos, `getTotalPoints()`-Logik als SQL-Summe) — was die Abos pro Zyklus bringen. + - **Ist** = im gewählten Monat tatsächlich abgerechneter Kundenabo-Umsatz (Abo-Punkte aus `user_sales_volumes` über die `SalesVolumePoints`-Fragmente). + - Sortierung nach Soll, Ist als zweite Wertspalte daneben. +- Darstellung mit Platz-Nummerierung (Platz 1, 2, …), Name, Wert(e); Linie/Level klein darunter wie bei den bestehenden Listen. + +### B7 — Führungskräfte-Statistik: 4 Kennzahlen + Gesamtsumme + +**Kundenwunsch (3× in der Liste genannt, eine Anforderung):** Pro Führungskraft (ab Vertriebsleiter): eigenes Abo, eigene Kundenabos, **Teamabos**, **Kundenabos im Team**, plus **Summe aller 4 Kennzahlen**. + +**Ist-Stand:** Die Liste „Abos Führungskräfte" (`leaderAboOverview()`) zeigt nur die **eigenen** Abos und **eigenen** Kundenabos je Führungskraft. Downline-Aggregate pro Führungskraft gibt es nicht. + +**Konzept:** +1. `leaderAboOverview()` erweitern: pro Führungskraft den eigenen Teilbaum ermitteln (BFS über `m_sponsor`, Mechanik aus `lineBuckets()`/`teamUserIds()` wiederverwendbar) und darauf zählen: + - `team_abo_count`: aktive Berater-Abos (`is_for = me`) der Downline + - `team_customer_abo_count`: aktive Kundenabos (`is_for = ot`) der Downline +2. Neue Spalten + Summenspalte `total = own + own_customer + team + team_customer` in [index.blade.php](resources/views/user/backoffice/statistics/index.blade.php), Sortierung nach Summe. +3. **Performance:** Teilbäume aller Führungskräfte einmalig aus einer gemeinsamen Sponsor-Map im Speicher ableiten (ein Query für alle User-Beziehungen, keine N Abfragen pro Leader). Ergebnis landet mit im Monats-Snapshot (alte Snapshots zeigen dann den bestehenden „bitte Snapshot neu erzeugen"-Hinweis). +4. **Zählweise (entschieden, F9): an der nächsten Führungskraft abschneiden.** Der Teilbaum einer Führungskraft endet, sobald darunter die nächste Führungskraft (ab Vertriebsleiter) beginnt — deren Team zählt nur bei ihr selbst. Vorteil: keine Überlappungen, die Teamzahlen der Führungskräfte sind untereinander additiv. + +### B8 — Abo-Gesamtumsatz in der Payline (Abo-Statistik) + +**Kundenwunsch:** Auf der Abo-Statistik zusätzlich den Abo-Gesamtumsatz **in der Payline** ausweisen. + +**Ist-Stand:** Die Team-Abo-Seite zeigt Abo-Punkte pro Linie und gesamt (Bestandspunkte). Eine Verknüpfung „Abo-Punkte ∩ Payline" existiert nicht; die Payline wird nur im Live-`TreeCalcBot` als Gesamtpunktzahl berechnet. + +**Konzept (entschieden, F10 — „Soll und Ist"):** Die Payline-Berechnung liefert (bzw. kann liefern), welche Linien/User in der Payline des Users liegen. Darauf aufbauend zwei Kennzahlen auf der Abo-Statistik-Seite, gecacht analog `home_payline_*`: +- **Soll** = Summe der aktiven Abo-Punkte aller Payline-Mitglieder (Berater-Abos + Kundenabos), Stand heute. +- **Ist** = im laufenden Monat bereits abgerechneter Abo-Umsatz der Payline-Mitglieder (aus `user_sales_volumes`). + +Voraussetzung ist, dass der Live-Bot die Payline-Mitglieder-IDs exponiert (kleine Erweiterung an `TreeCalcBot`). + +### B9 — „Neue Abos" klickbar: wer sind sie? + +**Ist-Stand:** Die `+N`-Badges (Home-Dashboard-Kacheln und VIP-Übersicht) sind reine Anzeige; die Kacheln verlinken nur auf generische Abo-Listen. Der Abo-Drilldown markiert neue Abos mit „Neu"-Badge, filtert aber nicht. + +**Konzept:** Der vorhandene Abo-Drilldown (`metric=team_partner_abos` / `team_customer_abos`) bekommt einen Filter-Parameter `only_new=1` (Filter auf `start_date` im gewählten Monat — Logik aus `newAboCount()` existiert). Die `+N`-Badges werden zu Links auf den gefilterten Drilldown. Auf dem Home-Dashboard verlinken die Badges auf dieselben Drilldowns. + +### B10 — Payline-Prognose: voraussichtlicher Gesamtumsatz am 5./10./20./25. + +**Kundenwunsch:** Vier Kennzahlen auf der Übersicht (HOME): voraussichtlicher Payline-Gesamtumsatz zum 5./10./20./25. = aktueller Kundenumsatz + Payline-Gesamtumsatz Stand heute **+ Abo-Umsätze der Payline, die bis zum jeweiligen Termin dazukommen**. Ziel: Anfang des Monats absehen, wo die Payline an den Ausführungsterminen stehen wird. + +**Ist-Stand / Datenbasis (gut vorhanden):** +- Feste Ausführungstage existieren als `UserAbo::$aboDeliveryDays = [5, 10, 20, 25]`; jedes Abo trägt `abo_interval` (gewählter Tag) und `next_date` (konkreter nächster Termin). +- Punkte je Abo über `getTotalPoints()` (Produktpunkte × Menge). +- Aktueller Kundenumsatz und Live-Payline-Punkte werden auf dem Home-Dashboard bereits berechnet. +- Eine Auswertung „Abo-Umsätze pro Ausführungstag" existiert noch nirgends. + +**Konzept:** +1. Neuer Service (z. B. `PaylineForecastService`): ermittelt für den laufenden Monat je Termin T ∈ {5, 10, 20, 25}: + `Prognose(T) = Kundenumsatz heute + Payline-Punkte heute + Σ Abo-Punkte aller aktiven Abos in der Payline mit next_date im laufenden Monat und Tag ≤ T, die heute noch nicht ausgeführt sind.` + Bereits ausgeführte Abos stecken automatisch im Ist-Umsatz und werden nicht doppelt gezählt (Abgrenzung über `next_date` > heute). +2. Kumulative Logik (bestätigt, F11): die Prognose zum 25. enthält auch die Termine 5./10./20. (sofern noch offen) — „so steht die Payline am 25.". +3. **Payline-Zugehörigkeit der Abos — Annahme zu F12 (vom Kunden noch nicht final entschieden):** + - **Vorschlag/Umsetzung:** Die **eigenen Abos und eigenen Kundenabos** des Beraters **zählen mit** — zusätzlich zu den Abos der Payline-Downline (Mitglieder-Menge wie B8). Begründung: Die Basis der Formel enthält den aktuellen Kundenumsatz; kommende eigene Abo-Ausführungen erhöhen genau diesen Anteil. Ohne sie wäre die Prognose systematisch zu niedrig. + - **Umsetzungs-Notiz (wichtig):** Die Auswahl wird an EINER Stelle im `PaylineForecastService` gekapselt (Parameter/Konstante `includeOwnAbos`, Default `true`), sodass die Entscheidung später ohne Umbau umkehrbar ist. Nach der Umsetzung bekommt der Kunde eine Notiz, wie es umgesetzt wurde, mit der Frage, ob es so bleiben soll (siehe Entscheidungen, F12). +4. Anzeige: vier Kacheln (oder eine kleine Tabelle „Prognose") auf dem Home-Dashboard mit „Live"-Kennzeichnung; Cache zusammen mit `home_payline_*` (6 h), tagesaktuell wie vom Kunden beschrieben. +5. Ausfall-Risiken (fehlgeschlagene Zahlungen, Pausen, Kündigungen bis zum Termin) machen die Zahl naturgemäß zur **Prognose** — im UI so benennen. + +B8 und B10 teilen sich die Grundlage „Payline-Mitglieder + deren aktive Abos" und sollten zusammen umgesetzt werden. + +--- + +## Empfohlene Umsetzungsreihenfolge + +1. **Schnelle, klar definierte Pakete:** B3, B4, B9, A2 (Prüfung/Feinschliff) +2. **Statistik-Ausbau:** B5/B6, B7, B2 +3. **Abo-Pause:** A1 (nach Klärung F1/F2) +4. **Payline/Provision (aufwändig, gemeinsame Basis):** B8 + B10, danach B1 + +--- + +## Entscheidungen (Kundenantworten vom 2026-07-22) + +| # | Frage (Kurzform) | Entscheidung | +|---|---|---| +| F1 | Pause-Voraussetzung | **6 bezahlte Lieferungen** (wie Kündigung, gegen `abo-min-duration`) | +| F2 | Pause-Zyklus | **Rollierend**: letzte Pause muss X Monate zurückliegen; X als **änderbares Setting** (`abo-pause-interval-months`, Default 6) | +| F3 | Kündigung „Softdelete" | Status-Modell bestätigt (nachvollziehbar für Statistik/Abrechnung). **Wichtig:** Nach Kündigung darf die Ein-Abo-Regel ein **neues Abo nicht blockieren** — gekündigte Abos zählen bei der Prüfung nicht mit | +| F4 | Mindestlaufzeit Kündigung | Bestätigt: ab der 6. **bezahlten** Lieferung; Setting in Produktion auf 6 + Code-Default 6 | +| F5 | Provision live — Umfang | **Alle Bestandteile** (Payline + Shop + Wachstum); Aktualisierung alle ~6 h | +| F6 | Provision live — Sichtbarkeit | **Jeder Berater** (Home-Dashboard) | +| F7 | Abo-Zahlen bei Monatswechsel | Wie empfohlen: Abo-Bestände **live/tagesaktuell**, Monats-Punkte/-Umsätze bleiben eingefroren | +| F8 | Top-10-Listen | a) Scope: **eigenes Team**; b) **Bestand aktiver Kundenabos**, unabhängig vom Incentive; c) Umsatz-Ranking mit **Soll UND Ist** | +| F9 | Verschachtelte Führungskräfte | **An der nächsten Führungskraft abschneiden** (keine Überlappung, Zahlen additiv) | +| F10 | Payline-Abo-Umsatz | **Soll und Ist** (Abo-Punkte-Bestand + abgerechneter Monatsumsatz) | +| F11 | Prognose kumuliert | **Ja**, kumuliert (25. enthält 5./10./20.) | +| F12 | Eigene Abos in der Prognose | **Vom Kunden offen gelassen** — siehe unten | + +### F12 — dokumentierte Annahme (Kunde entscheidet nach Umsetzung) + +Der Kunde konnte nicht entscheiden, ob eigene Abos/eigene Kundenabos des Beraters in die Payline-Prognose (B10) einfließen; wir sollen einen Vorschlag umsetzen und dokumentieren. + +- **Umgesetzt wird (Vorschlag):** Eigene Abos + eigene Kundenabos **zählen mit**, weil die Prognose-Basis den aktuellen Kundenumsatz enthält und kommende eigene Abo-Ausführungen genau diesen erhöhen. Ohne sie wäre die Prognose systematisch zu niedrig. +- **Umkehrbar:** Die Auswahl liegt an einer Stelle im `PaylineForecastService` (Schalter `includeOwnAbos`, Default `true`). +- **Offener Punkt an den Kunden nach Umsetzung:** „Die Prognose zum 5./10./20./25. enthält auch deine eigenen Abos und deine Kundenabos. Soll das so bleiben oder sollen nur die Team-Abos der Payline zählen?" diff --git a/dev/2026-07-22/feedback-an-kundin-statistiken.md b/dev/2026-07-22/feedback-an-kundin-statistiken.md new file mode 100644 index 00000000..7748ee1e --- /dev/null +++ b/dev/2026-07-22/feedback-an-kundin-statistiken.md @@ -0,0 +1,106 @@ +# Rückmeldung zu deinem Dokument „Statistiken kontrolliert" + +Vielen Dank für deine gründliche Kontrolle — sie war sehr hilfreich! Wir sind alle Punkte einzeln durchgegangen und haben jede Zahl mit der Datenbank nachgerechnet. + +**Das Wichtigste vorweg: Alle Zahlen im System stimmen — es gibt keinen Rechenfehler.** An einigen Stellen zählen zwei Ansichten aber bewusst unterschiedlich (das erklären wir unten), und einige deiner Wünsche waren berechtigte Verbesserungen, die wir jetzt umgesetzt haben. Hier die Antworten zu jedem deiner Punkte: + +--- + +## 1. Neue Kundenabos — „hier muss ICH auch in die Liste" + +✅ **Umgesetzt.** Du erscheinst jetzt selbst in der Liste, sobald du neue Kundenabos abgeschlossen hast. Deine Zeile ist mit einem kleinen „ich"-Zeichen markiert. + +## 2. Top 10 Kundenabos (Anzahl) + +✅ **Du bist jetzt dabei:** Wenn du selbst unter den Top 10 bist, erscheinst du in der Liste (ebenfalls mit „ich"-Zeichen). + +**Zu den Zahlen (Rosmarie 14 statt 13, Tanja 16 statt 13 usw.):** Wir haben jede einzelne Zahl nachgerechnet — **beide Listen stimmen**, sie zählen nur zwei verschiedene Dinge: + +- Die **Montenegro-Rangliste** zählt alle Abos, die im Aktionszeitraum (1. April bis 31. Juli) gestartet sind. Was einmal gezählt wurde, bleibt gezählt — auch wenn das Abo inzwischen beendet oder gelöscht wurde. Außerdem zählt dort das **eigene Abo der Beraterin mit** (deshalb „17/6" bei Tanja). +- Die **Top-10-Liste** zeigt dagegen den **aktuellen Bestand**: nur Kundenabos, die heute wirklich laufen. + +Am Beispiel Tanja: Montenegro zeigt 17 = 13 heute laufende Kundenabos + 1 eigenes Abo + 3 Abos, die im Aktionszeitraum gestartet, inzwischen aber beendet oder gelöscht wurden. Beide Zahlen sind also richtig — sie beantworten nur verschiedene Fragen („Was wurde für das Incentive geschafft?" vs. „Was läuft heute?"). + +Ein Teil der Differenz kam übrigens von den Kundenabos, die wegen Zahlungsproblemen gelöscht und neu angelegt wurden — die alten zählen im Incentive weiter, im Bestand natürlich nicht. Damit das nicht mehr verwirrt, steht der Unterschied jetzt direkt als Hinweis an der Top-10-Liste. Zusätzlich haben wir intern dafür gesorgt, dass gelöschte Abos sauber als beendet markiert werden. + +## 3. Top 10 Kundenabos (Umsatz) + +✅ **Umgesetzt, genau wie gewünscht:** + +- Die Liste zeigt jetzt als Hauptwert die **im laufenden Monat bereits angerechneten Kundenabo-Punkte** — danach wird auch sortiert. +- Daneben steht jetzt die **Anzahl der Kundenabos**, mit denen die Beraterin diesen Umsatz gemacht hat (dein Beispiel: „Tanja: 1.123 Punkte mit 16 Kundenabos"). +- Du selbst erscheinst ebenfalls, wenn du unter den Top 10 bist. + +**Zu deiner Frage, warum „Soll" mal höher und mal niedriger war als „Ist":** Der bisherige „Soll"-Wert war der heutige Abo-Bestand — also was die aktuell laufenden Abos pro Lieferung bringen. Der „Ist"-Wert ist, was im Monat schon angerechnet wurde. Wenn ein Abo Anfang des Monats noch geliefert wurde und danach beendet wurde, steckt es im Ist, aber nicht mehr im Bestand — dann ist Ist höher. Kommt ein neues Abo dazu, dessen Liefertag noch aussteht, ist es umgekehrt. Beide Werte sind weiterhin sichtbar, aber jetzt klar beschriftet: **„Abgerechnet"** und **„Bestand/Lieferung"**. + +## 4. Abos Führungskräfte — „stimmen leider nicht" + +Hier stimmen die Zahlen — die Liste hat aber anders gezählt, als du erwartet hast, und zwar so, wie es ursprünglich gemeinsam festgelegt wurde: Jede Führungskraft zählte ihr Team nur **bis zur nächsten Führungskraft**. Der Grund: So wird kein Abo doppelt gezählt, und die Gesamtsumme oben geht exakt auf. + +Deine Rechnung zählt dagegen die **komplette Downline** — das haben wir nachgerechnet und es stimmt exakt (Nina: 21 Teamabos + 52 Teamkundenabos, genau wie von dir angegeben; Rosmarie lag bei unserer Prüfung bei 82 + 201, dein Stand 81 + 200 war vom Vortag). + +✅ **Umgesetzt — die Tabelle zeigt jetzt beides:** + +- **„direkt"** = das eigene Team bis zur nächsten Führungskraft (diese Spalten gehen in der Summe oben exakt auf), +- **„gesamt"** = die komplette Downline, so wie du gezählt hast. Die **Gesamt-Spalte** rechnet jetzt genauso wie du: eigenes Abo + Kundenabos + alle Teamabos + alle Teamkundenabos. + +Wichtig zu wissen: In der „gesamt"-Sicht zählt dasselbe Abo bei mehreren Führungskräften mit (Ninas Team steckt z. B. auch komplett in Rosmaries Zahlen). Deshalb kann man diese Spalten nicht einfach aufaddieren — ein kurzer Hinweis dazu steht unter der Tabelle. Schau es dir bitte an und gib uns Bescheid, ob dir beide Sichten helfen oder ob eine davon reicht. + +## 5. Statistik 97.453 vs. Struktur 92.211 — „theoretisch gleich, warum verschieden?" + +Beide Zahlen sind richtig — sie enthalten unterschiedliche Punkte: + +- Die **Statistik** zählt **alle** Umsatzpunkte deines Teams. +- Die **Struktur-/Provisionsansicht** zählt nur die Punkte, die in deine **Payline** fließen und damit provisionsrelevant sind. + +Der Unterschied sind Punkte, die einer Beraterin persönlich gutgeschrieben werden, aber nicht in die Payline wandern — vor allem die **Einschreibungspunkte für Neupartner** (bei deiner Kontrolle: 19 Neupartner-Einschreibungen plus eine Gutschrift, zusammen genau die Differenz). + +✅ **Umgesetzt:** Unter der Statistik-Tabelle steht jetzt ein Hinweis, wie viele der Gesamtpunkte nicht payline-wirksam sind — dann sieht man auf einen Blick, warum die Struktur-Ansicht niedriger liegt. + +## 6. Team-Abos: „Was bedeuten diese 42.628 Abo-Punkte?" + +Diese Zahl ist der **Bestand**: die Punkte, die alle aktuell laufenden Abos deines Teams **pro Lieferung** bringen würden — über alle 10 Ebenen deines Teams. (Die Payline-Karte darüber zeigt weniger, weil deine Payline nur die ersten 6 Ebenen umfasst.) Es ist also nicht der abgerechnete Umsatz. + +✅ **Umgesetzt — die Tabelle „Abos nach Ebenen" zeigt jetzt drei Werte pro Ebene:** + +1. **Punkte pro Lieferung (Bestand)** — die bisherige Zahl, jetzt klar beschriftet, +2. **abgerechnet (Monat)** — was in diesem Monat schon angerechnet wurde, +3. **bis zum 25. erwartet** — was bis zum letzten Liefertag des Monats voraussichtlich zusammenkommt (bereits Abgerechnetes plus die noch anstehenden Lieferungen). + +Damit hast du genau die Sicht, die du dir gewünscht hast: was zum Stichtag 25. im aktuellen Monat abgerechnet sein wird. + +## 7. Payline: „Wieviel Abos gibt es in der Payline?" + +✅ **Umgesetzt.** Unter der Payline-Karte steht jetzt zusätzlich, wie viele Abos dahinterstecken, bei deinem Account aktuell: „Payline = 6 Ebenen · 502 Berater — 129 Teamabos + 340 Kundenabos in der Payline." + +## 8. Live-Rangliste Montenegro — Nummerierung + +✅ **Umgesetzt, genau wie von dir beschrieben:** Die Plätze werden jetzt so vergeben, dass die **qualifizierten** Beraterinnen oben stehen und fortlaufend Platz 1, 2, 3, … tragen. Wer mehr Punkte hat, aber die Mindestqualifikation (Partner/Abos) noch nicht geschafft hat, wird **darunter** eingereiht — und springt nach oben, sobald die Qualifikation erreicht ist. Dein Beispiel: Tanja steht mit den meisten Punkten, aber ohne Mindestqualifikation, jetzt auf Platz 5 — nicht auf Platz 1. + +Der Fix hatte noch einen positiven Nebeneffekt: Die Gewinner-Ermittlung („die besten 20 qualifizierten") arbeitet jetzt ebenfalls sauber nach dieser Reihenfolge. + +## 9. Portokosten Deutschland: Abo 19,90 € vs. Einzelbestellung 16,72 € + +Gute Nachricht: **Es gibt gar keinen Preisunterschied.** Beide Zahlen sind derselbe Versandsatz — einmal **mit** Mehrwertsteuer (19,90 €) und einmal **ohne** (16,72 €; 16,72 € + 19 % MwSt = 19,90 €). Die Abo-Ansicht zeigte den Betrag inklusive Steuer, die Einzelbestellungs-Übersicht ohne — deshalb sah es wie ein Aufschlag aus. + +In Österreich fällt der Unterschied nicht auf, weil dort für Teampartner mit gültiger UID-Nummer keine deutsche Mehrwertsteuer berechnet wird (Reverse Charge) — darum stand dort in beiden Ansichten derselbe Betrag (25,21 €). + +✅ **Umgesetzt:** Die Anzeige ist jetzt einheitlich und eindeutig beschriftet — bei Beratern (die als Selbstständige netto rechnen) steht der Nettobetrag mit dem Zusatz **„(netto)"**, bei Endkunden der Bruttobetrag mit **„(inkl. MwSt.)"**. Abgebucht wurde immer der korrekte Betrag; es war rein eine Darstellungsfrage. + +## 10. Struktur: Kennzeichen für Abos je Teampartner + +✅ **Umgesetzt.** In der Struktur-Ansicht steht jetzt bei jedem Teampartner: + +- ein grünes **„A"**, wenn er/sie ein eigenes laufendes Abo hat, +- daneben eine rote Zahl, z. B. **(8)**, für die Anzahl der eigenen Kundenabos. + +Beim Drüberfahren mit der Maus wird die Bedeutung angezeigt. Gezählt wird genauso wie in der Statistik, damit die Zahlen überall zusammenpassen. + +--- + +## Was wir noch von dir brauchen + +1. **Führungskräfte-Liste (Punkt 4):** Schau dir bitte die neue Tabelle mit den beiden Sichten „direkt" und „gesamt" an — reicht dir eine davon oder sollen beide bleiben? +2. **Payline-Vorschau (offen aus der letzten Runde):** In der Vorschau auf die Liefertage zählen aktuell auch deine **eigenen** Abos und Kundenabos mit. Soll das so bleiben oder sollen nur die Team-Abos der Payline zählen? + +Alle Änderungen sind auf dem Testsystem bereits aktiv — du kannst alles direkt mit deinem Zugang nachprüfen. Melde dich gern, wenn eine Zahl nicht zu deiner Erwartung passt: Wie du an den Punkten oben siehst, lohnt sich das Nachrechnen immer — entweder finden wir eine Verbesserung oder eine gute Erklärung. diff --git a/dev/2026-07-22/feedback-analyse-2026-07-24.md b/dev/2026-07-22/feedback-analyse-2026-07-24.md new file mode 100644 index 00000000..ca08b2f0 --- /dev/null +++ b/dev/2026-07-22/feedback-analyse-2026-07-24.md @@ -0,0 +1,261 @@ +# Analyse: Feedback „Statistiken kontrolliert" (2026-07-24) + +Basis: `dev/2026-07-22/Statistiken kontrolliert.pdf` (Kundin, getestet mit User **454** / info@claudialattner.com). +Alle Zahlen wurden am **2026-07-24** gegen die aktuelle Test-DB verifiziert (Datenstand von heute). + +> **Umsetzungsstand (2026-07-24): ✅ ALLE Punkte sind gemäß den „++"-Antworten des Kunden umgesetzt** — +> Details je Punkt im jeweiligen Abschnitt „Umgesetzt". Tests: `BackofficeStatisticsListsTest` (12), +> `TeamAboOverviewTest` (11), `PaylineForecastServiceTest` (6), `AboAdminDeleteTest` (3), +> `Incentive/IncentiveRankingTest` (4, neu), `TeamStructureAboBadgesTest` (5, neu), +> `YardShippingTaxTest` (neu) + erweiterte `AboOneTimeViewTest` — alle grün. +> Einziger roter Test im Umfeld: `IncentiveTeaserPageTest` (Galerie-Bild `nikki-beach.jpg` liegt lokal im +> Ordner) — vorbestehend, ohne Bezug zu diesen Änderungen. + +**Gesamtbild:** Von den 10 Punkten sind **2 echte Fixes** (Rang-Nummerierung Incentive, Porto-Anzeige), +**3 kleine Erweiterungen** („ich" in Listen, Abo-Zähler Payline, Struktur-Symbole), +**2 Erklärungs-/Beschriftungsthemen** (Zahlen stimmen, sind aber unterschiedliche Metriken) +und **1 Konzeptänderung** (Führungskräfte: komplette Downline statt Abschneiden — widerspricht der früheren Entscheidung F9). +Alle vom Kunden gemeldeten „falschen" Zahlen ließen sich vollständig aufklären — **kein Rechenfehler in den neuen Statistiken**. + +| # | Punkt | Einstufung | Aufwand | +|---|---|---|---| +| 1 | „Neue Kundenabos": ich selbst fehlt | Erweiterung (bewusster Ist-Stand) | klein | +| 2a | Top 10 Anzahl: ich selbst fehlt | Erweiterung | klein (mit 1) | +| 2b | Top 10 Anzahl ≠ Montenegro-Zahlen | **kein Bug** — andere Metrik, erklärbar | Doku/UI-Text | +| 3 | Top 10 Umsatz: Soll/Ist unklar, Abo-Anzahl fehlt | Erweiterung + Beschriftung | klein | +| 4 | Führungskräfte-Zahlen „stimmen nicht" | **Konzeptänderung** (F9 wird revidiert) | klein–mittel + Rückfrage | +| 5 | Statistik 97.453 ≠ Struktur 92.211 | **kein Bug** — Neupartner-Punkte sind nicht payline-wirksam | Doku/UI-Text | +| 6 | Was bedeuten 42.628 Abo-Punkte? | Erklärung + sinnvolle Erweiterung (Ist je Ebene) | klein–mittel | +| 7 | Payline: Anzahl Abos anzeigen | Erweiterung | klein | +| 8 | Montenegro: Nummerierung falsch | **Fix** (Ranking-Sortierung) | klein, aber mit Nebenwirkungen prüfen | +| 9 | Porto DE Abo 19,90 vs. Einzel 16,72 | **Anzeige-Fix** (brutto vs. netto) | klein | +| 10 | Struktur: Abo-Symbole je Teampartner | neue Anforderung | mittel | + +--- + +## 1. „Neue Kundenabos": eigene Person muss erscheinen + +**Feedback:** „Hier muss ICH auch in die Liste aufgenommen werden, sollte ich neue Kundenabos abgeschlossen haben." + +**Befund/Ursache:** Alle Team-Auswertungen der VIP-Statistik basieren auf `lineBuckets()` +([BackofficeDashboardService.php:215-240](app/Services/Backoffice/BackofficeDashboardService.php#L215-L240)). +Dort steht der Root-User von Anfang an in `visitedUserIds` und wird per `whereNotIn('id', …)` in **jeder** Linie ausgeschlossen. +Damit fehlt die eingeloggte Person in „Neue Kundenabos" (`newCustomerAboRanking()`, Z. 499-533), in beiden Top-10-Listen und in der Führungskräfte-Liste. +Einzige bisherige Ausnahme ist `shop_1000` — dort wurde der Root-User auf Kundenwunsch (B4) explizit ergänzt (Z. 96-98, Muster „(ich)" existiert also schon). + +Hinweis: User 454 hat aktuell **0 neue Kundenabos im Juli** — sie würde in dieser Liste derzeit ohnehin nicht auftauchen. Die Anforderung ist trotzdem korrekt. + +**Empfehlung:** Root-User-ID in die Kandidatenmenge von `newCustomerAboRanking()` und `topCustomerAboRanking()` aufnehmen (Linie 0 / Markierung „(ich)", analog `shop_1000`). Kleiner, klar umrissener Eingriff + Test. + +++ so umsetzen wie in der Empfehlung + +**Umgesetzt (2026-07-24):** `usersWithLine()` nimmt optional den Root-User als Linie 0 auf; `newCustomerAboRanking()` und `topCustomerAboRanking()` (beide Listen) zählen ihn jetzt mit. Neue Zeilen tragen `is_self`; die View zeigt ein „ich"-Badge und „Eigene Kundenabos" statt „Linie 0". Test: „nimmt den Statistik-Nutzer selbst in die Kundenabo-Ranglisten auf". + +## 2. Top 10 Kundenabos (Anzahl) + +### 2a. Eigene Person fehlt +Gleiche Ursache und Empfehlung wie Punkt 1. Zum Vergleich: User 454 hat aktuell **7 aktive Kundenabos** — wäre also derzeit nicht in den Top 10 (Platz 10 = 10 Abos), muss aber grundsätzlich mitspielen. + +++ so umsetzen wie in der Empfehlung + +**Umgesetzt (2026-07-24):** mit Punkt 1 erledigt (beide Top-10-Listen inkl. „ich"). + +### 2b. „Zahlen stimmen nicht" (Rosmarie 14 statt 13, Tanja 16 statt 13, …) + +**Befund: Beide Zahlen sind korrekt — es sind zwei verschiedene Metriken.** Die Service-Methode liefert heute exakt die Screenshot-Werte (Tanja 13 usw.), und die Montenegro-Werte stimmen ebenfalls exakt mit der DB überein. + +Die Montenegro-Spalte „ABOS" zählt etwas anderes als die Top-10-Liste: + +| | Top 10 Kundenabos (Anzahl) | Montenegro „ABOS x/6" | +|---|---|---| +| Was | **aktueller Bestand** aktiver Kundenabos | **im Qualifikationszeitraum (1.4.–31.7.) aktivierte** Abos | +| Eigenabo des Beraters | zählt nicht (`is_for='ot'`) | zählt mit (+1, inkl. Alt-Eigenabo) | +| Inzwischen gelöschte/inaktive Abos | zählen nicht | bleiben gezählt (Tracking-Tabelle `incentive_new_abos`, einmal erreicht = bleibt) | +| Vor dem Zeitraum angelegte Abos | zählen (solange aktiv) | zählen, wenn **Aktivierung/erste Zahlung** in den Zeitraum fällt | + +Konkret nachgerechnet (DB-Stand heute), Beispiel **Tanja Longerich** (Montenegro 17 vs. Top-10 13): + +- 13 = aktive, nicht gelöschte Kundenabos heute (Top-10-Wert ✓) +- 17 = 13 + **1 Eigenabo** + **2 im Juli gelöschte** Kundenabos (soft-delete am 06.07./21.07., im Mai angelegt) + **1 inzwischen storniertes** Abo (Status 6, Januar-Abo, erste Ausführung im April) + +Analog: Rosa Maria Assenbaum 15 = 13 + 1 Eigenabo + 2 gelöschte (16.07./21.07.) − 1 vor dem Zeitraum aktiviertes; Monika Kunz 16 = 13 + 1 + 2; Melanie Hoffmann-Gebhard 15 = 13 + 1 + 1. +Die Erwartung der Kundin („Tanja 16") ist die Montenegro-Kundenabo-Zahl (17 − 1 Eigenabo) — kein Bestand. + +Code: Top-10 [BackofficeDashboardService.php:764-776](app/Services/Backoffice/BackofficeDashboardService.php#L764-L776) (`active=1`, `status NOT IN (4,5,6)`, SoftDelete-Scope) vs. Incentive [IncentiveParticipant.php:300-354](app/Models/IncentiveParticipant.php#L300-L354) + [IncentiveTracker.php:85-135](app/Services/Incentive/IncentiveTracker.php#L85-L135). + +**Empfehlungen:** +1. **UI-Text schärfen:** Untertitel der Top-10-Karte z. B. „aktueller Bestand aktiver Kundenabos — weicht bewusst von der Incentive-Zählung ab (dort zählen alle im Aktionszeitraum gestarteten Abos dauerhaft)". Dazu eine kurze Erklärung an die Kundin (Text kann aus der Tabelle oben übernommen werden). +2. **Daten-Auffälligkeit klären (separat!):** Es gibt im Team von 454 **7 Kundenabos, die im Juli per Soft-Delete gelöscht wurden, aber weiter `active=1`/Status 2-3 tragen** (Löschung vermutlich über den Admin-Delete [AboController.php:170-178](app/Http/Controllers/Admin/AboController.php#L170-L178), der Status/Flags nicht anfasst). Diese Abos werden durch den SoftDelete-Scope nirgends mehr ausgeführt oder gezählt — der inkonsistente Zustand (aktiv + gelöscht) sollte aber geprüft werden: War die Löschung beabsichtigt? Sollte `destroy()` zusätzlich `active=0`/Status setzen? + +++ Umsetzen wie in der Empfehlung zusätzlich ja es ist richtig die Abos mussten gelöscht werden, da diese neu angelegt worden sind. Hier gab's Zahlungsprobleme grundsätzlich auf active null setzen und auch gleich die Funktion reparieren. + +**Umgesetzt (2026-07-24):** +- UI-Text: Untertitel der Karte lautet jetzt „aktueller Bestand aktiver Kundenabos · weicht bewusst von der Incentive-Zählung ab" mit Erklär-Tooltip. +- Funktion repariert: `UserAbo` hat einen `deleting`-Hook — jeder Softdelete setzt jetzt automatisch `active = false` (gilt für Admin-`destroy()`, Portal-`deletePending()` und alle weiteren Model-Deletes). Test in `AboAdminDeleteTest` („setzt beim Softdelete auch active auf false"). +- Datenbereinigung: Migration `2026_07_24_120000_deactivate_soft_deleted_user_abos` deaktiviert alle bestehenden gelöschten-aber-aktiven Abos (auf dem Testsystem ausgeführt: 7 Datensätze bereinigt; läuft in Produktion beim Deploy). + +## 3. Top 10 Kundenabos (Umsatz): Soll/Ist unklar, Abo-Anzahl fehlt + +**Feedback:** Warum ist Soll mal höher, mal niedriger als Ist? Was heißt „pro Zyklus"? Gewünscht: bereits **angerechnete** Kundenabopunkte des Monats + Anzahl der Abos dahinter (z. B. „Tanja: 1123 Punkte mit 16 Kundenabos"). + +**Befund/Ursache:** +- **Soll** = Punktebestand der *heute* aktiven Kundenabos (Produktpunkte × Menge, ohne gelöschte/stornierte) — „was die Abos pro Lieferzyklus bringen" ([BackofficeDashboardService.php:721-736](app/Services/Backoffice/BackofficeDashboardService.php#L721-L736)). +- **Ist** = im gewählten Monat tatsächlich abgerechnete Kundenabo-Punkte aus `user_sales_volumes` ([Z. 744-756](app/Services/Backoffice/BackofficeDashboardService.php#L744-L756)). +- **Ist > Soll** entsteht, wenn Abos nach ihrer Abrechnung gelöscht/storniert wurden (Beispiel Tanja: 2 im Juli gelöschte Abos wurden Anfang Juli noch abgerechnet → stecken im Ist 1.123, fehlen im Soll 992) oder Mengen/Artikel reduziert wurden. **Ist < Soll**, wenn Abos im Monat neu dazukamen und ihr Liefertermin noch aussteht. Beides ist korrekt, nur unglücklich erklärt. + +**Empfehlung (kleiner Umbau):** +1. **Ist als Hauptwert** (Sortierung nach Ist statt Soll — die Kundin denkt vom abgerechneten Monatsumsatz her), Soll als Zweitwert. +2. **Spalte „Abos"** ergänzen (Anzahl aus `customerAboCounts()`, ist bereits berechnet). +3. Beschriftung: „Soll" → z. B. „Punkte pro Lieferung (heutiger Bestand)", „Ist" → „im {Monat} abgerechnet". +4. Eigene Person aufnehmen (Punkt 1/2a). + +++ umsetzen wie in der Empfehlung. + +**Umgesetzt (2026-07-24):** Sortierung nach Ist (`points_actual`), neue Spalte „Abos"; Beschriftungen: „Abgerechnet (Punkte)" (Hauptwert, fett) und „Bestand/Lieferung" (Zweitwert), Untertitel „sortiert nach abgerechneten Kundenabo-Punkten {Monat}" mit Erklär-Tooltip; „ich" inklusive. Test: „sortiert die Top-10-Umsatzliste nach abgerechneten Ist-Punkten und liefert die Abo-Anzahl mit". + +## 4. Führungskräfte-Statistik: „Zahlen stimmen leider nicht" + +**Feedback:** Teamabos/Team-Kundenabos sollen die **komplette Downline** umfassen. Beispiele: Rosmarie tatsächlich 81 Teamabos + 200 Teamkundenabos (Liste: 35 + 54), Nina 21 + 52 (Liste: 4 + 12). + +**Befund: Kein Rechenfehler — die Liste tut exakt das, was in F9 entschieden wurde:** Der Teilbaum jeder Führungskraft wird an der **nächsten Führungskraft abgeschnitten** ([BackofficeDashboardService.php:627-659](app/Services/Backoffice/BackofficeDashboardService.php#L627-L659), `continue` bei Leader-Kind), damit nichts doppelt zählt und die Summen additiv sind (Kopfzeile „464" = exakte Gesamtsumme). + +Nachgerechnet ohne Abschneiden (DB heute): **Rosa 82 Teamabos + 201 Teamkundenabos** (Kundin: 81/200 — Stand ihres Tests), **Nina exakt 21 + 52** wie von der Kundin angegeben. Die Kundin hat also die komplette Downline gezählt — ihre Erwartung widerspricht der eigenen Entscheidung F9 („an der nächsten Führungskraft abschneiden", siehe `entwicklungskonzept.md`, Entscheidungstabelle). + +**Konsequenz der Umstellung, die die Kundin kennen sollte:** Zählt jede Führungskraft ihre komplette Downline, werden Abos **mehrfach** gezählt (Ninas 73 Abos stecken dann auch komplett in Rosas 283). Die Kopf-Summe „464" und die Spaltensummen sind dann **keine** echten Gesamtwerte mehr. + +**Empfehlung:** +1. Umstellung auf komplette Downline ist technisch klein (das `continue` in `teamIdsPerLeader()` entfernen bzw. Schalter einbauen); Performance unkritisch (eine gemeinsame Sponsor-Map, BFS in memory). +2. **Vorher kurz an die Kundin:** „Dann zählen Abos bei mehreren Führungskräften gleichzeitig — die Gesamtsumme oben rechnen wir dann weiterhin ohne Doppelzählung. Okay?" (Kopfzeile auf Basis der Gesamtmenge, Zeilen mit kompletter Downline.) +3. Optional beide Sichten: Spalten „Team (direkt)" und „Team (gesamt)" — dann bleibt die additive Sicht erhalten. + +++ wir sitzen Option drei, um dass wir beides zeigen und kurz erklären. Das ist relativ komplex und vermutlich wohl nicht verständlich. Von daher würde ich erst mal beides zeigen und dann klären, was dein sinnvoller ist.. + +**Umgesetzt (2026-07-24, Option 3 — beide Sichten):** `leaderAboOverview()` liefert je Führungskraft jetzt zusätzlich `team_abo_count_total`/`team_customer_abo_count_total` (komplette Downline, ohne Abschneiden) neben den bisherigen „direkt"-Werten. Die Tabelle zeigt beide Spaltenpaare — „Teamabos/Team-Kundenabos (direkt)" und „(gesamt)" — mit Tooltips; die **Gesamt-Spalte** rechnet mit der kompletten Downline (entspricht der Zählung der Kundin: eigenes Abo + Kundenabos + Teamabos gesamt + Team-Kundenabos gesamt), sortiert danach. Die **Kopf-Summe** bleibt bewusst überschneidungsfrei („direkt"), eine Fußnote unter der Tabelle erklärt den Unterschied. Test: „liefert je Fuehrungskraft zusaetzlich die Teamzahlen der kompletten Downline". → Nach Livegang mit der Kundin klären, ob beide Sichten bleiben oder eine reicht. + +## 5. Statistik 97.453 ≠ Struktur 92.211 („theoretisch gleich") + +**Befund: Beide Zahlen sind korrekt — die Differenz sind Punkte, die nicht payline-wirksam sind.** + +- Die Statistik-Übersicht summiert je Linie `own_points + external_points` aus `user_sales_volumes` ([BackofficeDashboardService.php:437-464](app/Services/Backoffice/BackofficeDashboardService.php#L437-L464)) — also **alle** Umsatzpunkte der Team-Mitglieder. +- Die Struktur-/Provisionsansicht (PP-Tabelle) summiert je Ebene `month_TP_points + month_shop_points` ([TreeCalcBotOptimized.php:279-300](app/Services/BusinessPlan/TreeCalcBotOptimized.php#L279-L300), [UserSalesVolume::getPointsTPSum()](app/Models/UserSalesVolume.php)) — nur die **Teampunkte (TP)**, die in die Payline der Upline fließen. +- Der Unterschied entsteht in [SalesPointsVolume.php:56-64](app/Services/BusinessPlan/SalesPointsVolume.php#L56-L64): Einträge mit `status_points = 2` zählen **nur als KP (Karrierepunkte des Beraters), nicht als TP**. + +Nachgerechnet für das Team von 454, Juli 2026 (heute): Statistik-Summe **97.769**, TP-Summe **92.569**, Differenz **5.200** = **19 Neupartner-Einschreibungen** (Status 5, je 200/400 Punkte = 5.000) + **1 Gutschrift** (200 Punkte), alle mit `status_points=2`. Die Screenshot-Werte (97.453/92.211, Differenz 5.242) sind derselbe Effekt zum Testzeitpunkt. + +**Empfehlung:** Kein Fix nötig. In der Statistik-Übersicht eine Fußnote/Tooltip ergänzen: „enthält auch Punkte, die nicht in die Payline fließen (z. B. Neupartner-Einschreibungspunkte)" — optional als eigene Aufschlüsselungszeile (Datenbasis vorhanden: `status_points=2`-Summe je Linie). + +++ Umsetzung wie in der Empfehlung. + +**Umgesetzt (2026-07-24):** Neues SQL-Fragment `SalesVolumePoints::nonPaylinePoints()` (status_points = 2) + Kennzahl `non_payline_points` im Overview/Snapshot. Unter der Linien-Tabelle erscheint eine Fußnote: „In den Gesamtpunkten enthalten: X Punkte, die nicht in die Payline fließen (z. B. Neupartner-Einschreibungspunkte) …" (nur wenn > 0; alte Snapshots ohne den Wert zeigen nichts). Test: „summiert Punkte ohne Payline-Wirkung (status_points 2) als eigene Kennzahl". + +## 6. Team-Abo-Seite: „Was bedeuten diese 42.628 Abo-Punkte?" + +**Befund:** Die Spalte „Punkte" in „Abos nach Ebenen" ist der **Soll-Bestand pro Lieferzyklus**: Summe `getTotalPoints()` (Produktpunkte × Menge) aller **aktiven** Abos (Eigen- + Kundenabos) je Ebene — über **alle 10 Ebenen** des Teams ([TeamAboOverviewService.php:282-326](app/Services/Abo/TeamAboOverviewService.php#L282-L326)). Es ist also **nicht** der abgerechnete Umsatz, sondern „was alle Team-Abos pro Zyklus bringen würden". + +Zur Einordnung der Karte darüber: „Abo-Umsatz in der Payline" (Soll 38.375 / Ist 37.912) ist dieselbe Soll-Logik, aber nur für die **Payline** (6 Ebenen), plus Ist = im Monat abgerechnete Abo-Punkte ([PaylineForecastService.php:75-86](app/Services/Abo/PaylineForecastService.php#L75-L86)). 42.628 > 38.375, weil das Team 10 Ebenen hat, die Payline nur 6. + +Der Wunsch „Zahlen, die zum Stichtag 25. im aktuellen Monat abgerechnet werden" ist auf dem Home-Dashboard durch die **Prognose-Kacheln 5./10./20./25.** (B10) bereits abgedeckt. + +**Empfehlung:** +1. Spaltenüberschrift präzisieren: „Punkte pro Lieferzyklus (Bestand)". +2. **Ist-Spalte je Ebene** ergänzen („im Juli abgerechnet") — SQL-Fragment `SalesVolumePoints::aboPoints()` existiert bereits, nur je Ebenen-User-Menge gruppieren. +3. Optional dritte Spalte „davon bis zum 25. erwartet" (Logik aus `forecastDays()` wiederverwendbar). + +++ Umsetzung wie in einer Empfehlung alle drei Punkte entsprechend umsetzen. + +**Umgesetzt (2026-07-24):** Die Ebenen-Tabelle hat jetzt drei Punkte-Spalten: „Punkte pro Lieferung (Bestand)" (bisherige Spalte, präzisiert), „abgerechnet ({Monat})" (`abo_points_billed`, gleiche Zählweise wie der Payline-Ist-Wert) und „bis zum 25. erwartet" (`abo_points_expected` = abgerechnet + offene Ausführungen mit `next_date` bis zum 25.; nur im laufenden Monat, sonst = abgerechnet) — inkl. Summenzeile und Tooltip. Sprachkeys in de/en/es/fr. Test: „liefert je Ebene abgerechnete Abo-Punkte und die Prognose bis zum letzten Liefertag". + +## 7. Payline: Anzahl der Abos ausweisen + +**Feedback:** „Wieviel ABOs gibt es in der Payline? z. B. 205 Teampartnerabos + 302 Teamkundenabos (6 Ebenen)." + +**Befund:** Die Karte zeigt bisher nur „Payline = 6 Ebenen · 504 Berater". Die Zähler sind trivial ermittelbar (gleiche Filter wie `aboTargetPoints()`, [PaylineForecastService.php:164-183](app/Services/Abo/PaylineForecastService.php#L164-L183)). Heute für User 454: 6 Ebenen, 502 Berater, **129 Teampartner-Abos + 340 Team-Kundenabos** (die Beispielzahlen der Kundin waren Schätzungen). + +**Empfehlung:** `aboTurnover()` um `team_abo_count`/`team_customer_abo_count` erweitern und in der Kartenunterzeile anzeigen: „6 Ebenen · 502 Berater · 129 Teamabos + 340 Kundenabos". Aufwand klein, Test in `PaylineForecastServiceTest` ergänzen. + +++ Umsetzung wie in einer Empfehlung + +**Umgesetzt (2026-07-24):** `aboTurnover()` liefert zusätzlich `team_abo_count`/`team_customer_abo_count` (gleiche Filter wie das Soll); die Karten-Unterzeile zeigt jetzt z. B. „Payline = 6 Ebenen · 502 Berater — 129 Teamabos + 340 Kundenabos in der Payline" (Sprachkey `abo.payline_abo_counts`, de/en/es/fr). Test in `PaylineForecastServiceTest` erweitert. + +## 8. Live-Rangliste Montenegro: Nummerierung + +**Feedback (berechtigt):** Gewinner müssen 1, 2, 3, … nummeriert sein; wer mehr Punkte hat, aber die Mindestqualifikation nicht erfüllt, wird **darunter** gereiht (Beispiel Tanja: meiste Punkte, nicht qualifiziert → Platz 5, nicht Platz 1). + +**Befund/Ursache:** Der gespeicherte Rang ist ein **reines Punkte-Ranking über alle Teilnehmer** ([IncentiveTracker.php:320-341](app/Services/Incentive/IncentiveTracker.php#L320-L341), Qualifikation spielt keine Rolle). Die **Anzeige** sortiert aber zuerst nach `is_qualified DESC` ([IncentiveParticipant.php:126-143](app/Models/IncentiveParticipant.php#L126-L143)). Ergebnis: Qualifizierte stehen oben, tragen aber ihre globalen Punkte-Ränge (4, 7, 9), darunter stehen Rang 1, 2, 5 — genau die gemeldete Verwirrung. + +**Zusätzliche Brisanz:** `isWinner` prüft `rank <= max_winners` ([IncentiveParticipant.php:519-526](app/Models/IncentiveParticipant.php#L519-L526)). Mit dem heutigen Punkte-Rang könnte ein qualifizierter Berater mit globalem Punkte-Rang 21+ **fälschlich kein Gewinner** sein, obwohl weniger als 20 qualifiziert sind. Die Sortier-Korrektur repariert also auch die Gewinner-Logik. + +**Empfehlung:** `updateRanking()` auf `ORDER BY is_qualified DESC, total_points DESC` umstellen (Tie-Break unverändert) — dann ist der gespeicherte Rang identisch mit der Anzeigereihenfolge: Qualifizierte zuerst (1..n), Nicht-Qualifizierte dahinter; „springt nach oben", sobald die Qualifikation erreicht ist. **Vorher prüfen:** Wo wird `rank` noch verwendet (Mails/Benachrichtigungen bei Rangänderung, `withRankingActivity()`)? Rangsprünge durch die Umstellung könnten einmalig Benachrichtigungen auslösen — ggf. Benachrichtigung für den Umstellungs-Lauf unterdrücken. Test ergänzen (qualifiziert schlägt Punkte). + +++ Umsetzung wie in einer Empfehlung + +**Umgesetzt (2026-07-24):** `IncentiveTracker::updateRanking()` sortiert jetzt `is_qualified DESC → total_points DESC → Terms-Tie-Break`; der gespeicherte Rang entspricht damit exakt der Anzeigereihenfolge (Qualifizierte 1..n, danach die Nicht-Qualifizierten; wer sich qualifiziert, springt hoch — genau das Kundin-Beispiel „Tanja → Platz 5"). Nebenwirkungen geprüft: `is_qualified` wird vor jedem Ranking-Lauf frisch berechnet, es existiert **kein** Rang-Benachrichtigungsmechanismus (keine Mail-Flut möglich), und `isWinner (rank <= max_winners)` wird durch den Fix erst korrekt (vorher konnte ein Qualifizierter mit Punkte-Rang 21+ fälschlich leer ausgehen). Neuer Test `Incentive/IncentiveRankingTest` (4 Fälle); ein vorbestehend roter Unit-Test (Reflection auf falsche Klasse) wurde mitrepariert. + +## 9. Porto Deutschland: Abo 19,90 vs. Einzelbestellung 16,72 + +**Befund: Es gibt keinen echten Preisunterschied — es ist derselbe Versandsatz, einmal brutto und einmal netto angezeigt.** 16,72 × 1,19 = 19,90. + +- Konfiguration: `shipping_prices.price_comp` (Teampartner-Versand, **brutto**): DE **19,90 €**, AT **30,00 €**, jeweils `tax_rate` 19 %. +- Der **Abo-Checkout** zeigt für steuerpflichtige DE-Teampartner den **Brutto**-Versand: [_order_combined_summary.blade.php:31](resources/views/admin/abo/_order_combined_summary.blade.php#L31), [_order_abo_show.blade.php:93](resources/views/admin/abo/_order_abo_show.blade.php#L93) (`$taxFree ? shippingNet() : shipping()`), [portal/abo/_create_check.blade.php:158](resources/views/portal/abo/_create_check.blade.php#L158) sogar fest brutto. +- Die **Einzelbestellungs-Übersicht** ist eine Netto-Aufstellung und zeigt **netto**: [api_order_list_total.blade.php:57](resources/views/user/shop/sales/api_order_list_total.blade.php#L57) → 19,90 / 1,19 = **16,72 €**. +- **Österreich:** Teampartner mit gültiger USt-ID ist Reverse-Charge-steuerfrei (`user_tax_free`, [UserService.php:103-137](app/Services/UserService.php#L103-L137)) → auch der Abo-Zweig zeigt netto: 30,00 / 1,19 = **25,21 €** — deshalb dort „passt es". + +Die tatsächlich berechneten Gesamtbeträge sind konsistent (netto + MwSt); es ist eine **Anzeige-Inkonsistenz**, kein Abrechnungsfehler. + +**Empfehlung:** Porto-Ausweis vereinheitlichen — im Abo-Checkout in der Netto-Aufstellung den **Netto**-Versand zeigen (bzw. „19,90 € inkl. MwSt" kennzeichnen), damit Abo und Einzelbestellung vergleichbar sind. Nebenbefund: [Yard.php:323](app/Services/Yard.php#L323) berechnet `shipping_tax` falsch (liefert den Nettowert statt des Steueranteils) — mit fixen. + +++ Umsetzung wie in einer Empfehlung, Mit einer Kennzeichnung, denn wichtig ist. Bei MU Preise müssen wir immer den Bruttowert anzeigen. Bei den Beratern im System können wir den Nettowert anzeigen. Das ist leider nun mal so, dass die Berater als selbstständige im netto handeln und alles, was nach außen geht, an Kunden brutto zu behandeln ist. Das müsste einmal geprüft werden, dass das einheitlich ist und dann bitte netto oder inklusive Mehrwertsteuer kennzeichnen. + +**Umgesetzt (2026-07-24) nach der Regel „Berater netto (gekennzeichnet), Endkunden brutto (gekennzeichnet)":** +- Wichtiger Befund: `_order_combined_summary` und `_order_abo_show` werden **auch im Kundenportal** eingebunden. Deshalb neues View-Flag `portal_view` (Default = Berater), gesetzt von den Portal-Aufrufern (`Portal/AboController`, `portal/abo/my_abo`). +- Berater-Ansichten (Abo-Detail Berater/Admin, Einzelbestellungs-Übersicht): Versand **netto** + Kennzeichnung „(netto)" (Key `order.net`, existierte). Die Netto-Summenzeilen passen jetzt rechnerisch zur Porto-Zeile. +- Kundenportal (Abo anlegen/ansehen): Versand **brutto** + „(inkl. MwSt.)" (neuer Key `order.incl_VAT`, de/en/es/fr); bei Reverse-Charge/steuerfrei automatisch netto + „(netto)". +- Nebenbefund gefixt: `Yard::shipping_tax` berechnete den Nettowert statt des Steueranteils (jetzt brutto − netto); alle anderen `shipping_tax`-Verwendungen (HomepartyCart, ShopApiOrderCart, Correction) waren bereits korrekt und blieben unverändert. Tests: `YardShippingTaxTest` (neu) + 2 Rendering-Tests in `AboOneTimeViewTest`. +- **Nachtrag (gleicher Tag):** Drei weitere Versandkosten-Anzeigen ergänzt, die in der ersten Runde fehlten (dort waren die Kundin-Screenshots entstanden): CRM-Warenkorb der Berater [user/order/yard_view_form.blade.php](resources/views/user/order/yard_view_form.blade.php) → „(netto)"; Shop-Warenkorb [web/templates/card.blade.php](resources/views/web/templates/card.blade.php) und Shop-Checkout [web/templates/checkout.blade.php](resources/views/web/templates/checkout.blade.php) → „(inkl. MwSt.)", bei Reverse-Charge/steuerfrei netto + „(netto)" (dort zeigte die Porto-Zeile zuvor sogar brutto über einer Netto-Summenzeile). Nicht angefasst: Homeparty-/Sammelbestellungs- und PDF-/Mail-Ansichten (eigene Belegformate). +- **Für die Kundin:** Es gab nie einen Preisunterschied — DE-Teampartner-Porto ist 19,90 € brutto = 16,72 € netto; jetzt ist überall gekennzeichnet, welcher Wert gezeigt wird. + +## 10. Struktur-Ansicht: Symbole „A" (eigenes Abo) und „(n)" (Kundenabos) + +**Feedback (neue Anforderung):** In der Struktur je Teampartner zwei Kennzeichen: grünes **A** = hat eigenes Abo, rotes **(8)** = Anzahl eigener Kundenabos. + +**Einschätzung:** Machbar, Datenbasis vorhanden (aktives `me`-Abo je `user_id`, Kundenabo-Zählung je `member_id` — gleiche Queries wie in der Statistik). Umsetzungsort: Struktur-/Tree-Rendering ([TeamController.php](app/Http/Controllers/User/TeamController.php), `TreeHtmlRenderer`). Wichtig: Zählungen **gebatcht** für alle sichtbaren Knoten laden (zwei Group-by-Queries), nicht pro Knoten. Aufwand mittel (inkl. Badge-Styling + Test). Vorschlag: gleiche Zählweise wie Top-10 (aktiver Bestand, ohne gelöschte) — dann sind Struktur und Statistik konsistent. + +++ So umsetzen + +**Umgesetzt (2026-07-24):** Badges im `TreeHtmlRenderer` (Struktur-Ansicht, `TeamController::structure()`): grünes „A"-Badge bei eigenem aktivem Abo, rotes „(n)"-Badge mit der Anzahl aktiver eigener Kundenabos (nur bei n > 0), direkt neben dem Karriere-Level. Zählweise identisch zur Statistik (`activeAbo`, ohne gelöschte); Daten werden für den ganzen Baum mit zwei gebatchten Queries geladen (keine Query pro Knoten). Tooltips über Sprachkeys `team.badge_own_abo`/`team.badge_customer_abos` (de/en/es/fr). Neuer Test `TeamStructureAboBadgesTest` (5 Fälle). + +--- + +## Rückfragen an die Kundin — Stand nach Umsetzung + +1. ~~Führungskräfte direkt vs. gesamt~~ → **entschieden: beide Sichten** (Option 3, umgesetzt). Nach Livegang klären, ob beide Spaltenpaare bleiben. +2. ~~Top-10-Umsatz-Sortierung~~ → **entschieden: nach Ist** (umgesetzt). +3. ~~Gelöschte aktive Abos~~ → **beantwortet:** Löschungen waren beabsichtigt (Abos wurden wegen Zahlungsproblemen neu angelegt). Fix: Softdelete setzt jetzt `active=0` (Model-Hook) + Datenbereinigung per Migration. +4. **Neu/offen (F12 aus dem ursprünglichen Konzept, weiterhin unbeantwortet):** Zählen eigene Abos/Kundenabos in der Payline-Prognose mit? Aktuell ja (`PaylineForecastService::INCLUDE_OWN_ABOS = true`). + +## Anhang: Verifikationsdaten (DB-Stand 2026-07-24, Team von User 454) + +| Beraterin | Top-10 (aktiver Bestand) | davon-Rechnung Montenegro | +|---|---|---| +| Tanja Longerich (909) | 13 | 17 = 13 + 1 Eigenabo + 2 gelöschte + 1 storniertes | +| Rosa M. Assenbaum (456) | 13 | 15 = 13 + 1 Eigenabo + 2 gelöschte − 1 vor Zeitraum aktiviert | +| Monika Kunz (1218) | 13 | 16 = 13 + 1 Eigenabo + 2 gelöschte | +| Melanie Hoffmann-G. (1143) | 13 | 15 = 13 + 1 Eigenabo + 1 gelöschtes | +| Claudia Lattner (454) | 7 (fehlt in Liste, Punkt 1) | 8 = 7 + 1 Eigenabo | + +- Statistik-Linien-Summe heute: 97.769; TP-Summe (Struktur): 92.569; Differenz 5.200 = 19 Neupartner-Einschreibungen (5.000 P.) + 1 Gutschrift (200 P.), alle `status_points=2`. +- Führungskräfte komplette Downline heute: Rosa 82 Teamabos / 201 Teamkundenabos (Kundin: 81/200), Nina 21 / 52 (exakt wie Kundin). +- Payline 454 heute: 6 Ebenen, 502 Berater, 129 Teamabos, 340 Teamkundenabos. +- Montenegro-Incentive: `incentives` id 2, Qualifikation 01.04.–31.07.2026, min. 4 Partner / 6 Abos, max. 20 Gewinner. + +## Anhang: Geänderte Dateien (Umsetzung 2026-07-24) + +**Services/Models:** `BackofficeDashboardService` (ich-Aufnahme, Ist-Sortierung, direkt+gesamt-Teamzahlen, `nonPaylinePointsSum`), `SalesVolumePoints::nonPaylinePoints()`, `TeamAboOverviewService` (`abo_points_billed`/`abo_points_expected`), `PaylineForecastService` (Abo-Zähler), `UserAbo` (deleting-Hook), `IncentiveTracker::updateRanking()`, `Yard` (shipping_tax), `TreeHtmlRenderer` (Abo-Badges), `Portal/AboController` (`portal_view`). + +**Views:** `user/backoffice/statistics/index.blade.php`, `user/team/abos.blade.php`, `admin/abo/_order_combined_summary.blade.php`, `admin/abo/_order_abo_show.blade.php`, `portal/abo/_create_check.blade.php`, `portal/abo/my_abo.blade.php`, `user/shop/sales/api_order_list_total.blade.php`. + +**Sprachdateien:** `abo.php` (payline_abo_counts, abo_points_per_cycle/billed/expected + hint), `order.php` (incl_VAT), `team.php` (badge_own_abo, badge_customer_abos) — jeweils de/en/es/fr. + +**Migration:** `2026_07_24_120000_deactivate_soft_deleted_user_abos` (Datenbereinigung gelöschte-aber-aktive Abos). + +**Tests:** neu `Incentive/IncentiveRankingTest`, `TeamStructureAboBadgesTest`, `YardShippingTaxTest`; erweitert `BackofficeStatisticsListsTest`, `TeamAboOverviewTest`, `PaylineForecastServiceTest`, `AboAdminDeleteTest`, `AboOneTimeViewTest`, `Unit/Incentive/IncentiveTrackerTest`. diff --git a/dev/2026-07-22/neuerungen-fuer-berater.md b/dev/2026-07-22/neuerungen-fuer-berater.md new file mode 100644 index 00000000..92210d8e --- /dev/null +++ b/dev/2026-07-22/neuerungen-fuer-berater.md @@ -0,0 +1,116 @@ +# Was ist neu? – Übersicht der Neuerungen (Juli 2026) + +Diese Übersicht erklärt alle Neuerungen, die auf **my.mivita.care** freigeschaltet wurden – mit direkten Links, damit du sofort siehst, wo du klicken musst. + +**Kurzüberblick:** + +| Neuerung | Wo? | Für wen? | +| --- | --- | --- | +| Abo pausieren | [Mein Abo](https://my.mivita.care/user/abos/me) | Alle Berater mit Abo | +| Neues Abo nach Kündigung möglich | [Mein Abo](https://my.mivita.care/user/abos/me) | Alle Berater | +| Provision „Stand heute" | [Dashboard](https://my.mivita.care/home) | Alle Berater | +| Payline-Prognose (Liefertage) | [Dashboard](https://my.mivita.care/home) | Alle Berater | +| Payline-Abo-Umsatz Soll/Ist | [Team-Abos](https://my.mivita.care/user/abos/team/show) | Alle Berater | +| Statistik: aktuelle Abo-Bestände, Neupartner-Liste, Top-10, Führungskräfte-Zahlen u. v. m. | [Statistik](https://my.mivita.care/user/backoffice/statistics) | VIP-Berater | + +--- + +## 1. Abo pausieren – einen Monat aussetzen + +**Wo:** [Mein Abo](https://my.mivita.care/user/abos/me) → Abo öffnen → Button **„Abo bearbeiten"** + +Du kannst dein Abo jetzt selbst um **einen Monat pausieren**. Die nächste Lieferung wird dabei automatisch um einen Monat nach hinten geschoben – dein Abo bleibt bestehen und läuft danach ganz normal weiter. + +So funktioniert es: + +1. Öffne [Mein Abo](https://my.mivita.care/user/abos/me) und klicke auf **„Abo bearbeiten"**. +2. Im Fenster findest du (unter dem Liefertag) den Bereich **Pause** mit dem Button **„Abo pausieren"**. +3. Nach dem Bestätigen siehst du sofort das neue Datum der nächsten Lieferung. + +Die Spielregeln: + +- Eine Pause ist möglich, sobald dein Abo **6 bezahlte Lieferungen** erhalten hat (Mindestlaufzeit). +- Du kannst **einmal alle 6 Monate** pausieren. Ist die Pause gerade nicht möglich, zeigt dir das Fenster an, **ab wann** du wieder pausieren kannst. +- Kurz vor dem nächsten Liefertermin (wenn die Bestellung bereits in Vorbereitung ist) ist keine Pause mehr möglich – dann greift sie ab der übernächsten Lieferung. + +Das Bearbeiten-Fenster wurde dabei auch aufgeräumt: oben der **Liefertag**, darunter die **Pause**, und ganz unten – bewusst dezent – die Kündigung. + +## 2. Kündigung blockiert kein neues Abo mehr + +Bisher konnte es passieren, dass nach einer Abo-Kündigung **kein neues Abo** angelegt werden konnte, weil das alte, gekündigte Abo das System blockiert hat. Das ist behoben: Ein gekündigtes oder ausgelaufenes Abo steht einem **Neustart** nicht mehr im Weg. Wer sein Abo beendet hat, kann also jederzeit wieder ein neues abschließen. + +## 3. Dashboard: Provision „Stand heute" 💶 + +**Wo:** [Dashboard (Startseite)](https://my.mivita.care/home) → Karte „Monatsstatistik" + +Im Umsatz-Bereich der Monatsstatistik gibt es eine neue Kachel: **deine Provision zum heutigen Stand** – in Euro, für jeden Berater sichtbar. Sie enthält alle Bestandteile: Payline-Provision, Shop-Provision und Wachstumsbonus. + +Wichtig zu wissen: + +- Im **laufenden Monat** trägt die Kachel ein **„Live"**-Zeichen: Der Wert ist eine Momentaufnahme und wird ca. alle **6 Stunden** aktualisiert. Er ist **vorläufig** – verbindlich wird die Provision erst mit dem Monatsabschluss. +- Bei **abgeschlossenen Monaten** siehst du automatisch die endgültig abgerechnete Provision (ohne „Live"-Zeichen). + +## 4. Dashboard: Payline-Prognose zu den Liefertagen 📈 + +**Wo:** [Dashboard (Startseite)](https://my.mivita.care/home) → Karte „Monatsstatistik", unterhalb der Kacheln + +Für den laufenden Monat siehst du jetzt eine **Vorschau auf die Abo-Liefertage** (5., 10., 20., 25.): Für jeden noch anstehenden Liefertag wird angezeigt, wie viele Abo-Punkte aus deiner Payline dazukommen und wie hoch dein Punktestand **voraussichtlich insgesamt** danach ist. Bereits vergangene Liefertage sind als „erledigt" markiert. + +So erkennst du früh im Monat, wo du am Monatsende ungefähr landen wirst – z. B. ob die nächste Qualifikationsstufe erreichbar ist. + +## 5. Team-Abos: Payline-Abo-Umsatz Soll und Ist + +**Wo:** [Team-Abos](https://my.mivita.care/user/abos/team/show) + +Auf der Team-Abo-Seite gibt es eine neue Karte mit dem **Abo-Umsatz deiner Payline** – also der Ebenen deines Teams, die für deine Provision zählen: + +- **Soll:** die Punkte, die die aktiven Abos deiner Payline in diesem Monat planmäßig bringen. +- **Ist:** die Punkte, die davon **bereits bestellt und bezahlt** wurden. + +Darunter steht, wie viele Ebenen und Teampartner aktuell zu deiner Payline gehören. + +--- + +## Neuerungen in der Statistik (nur für VIP-Berater) + +**Wo:** [Statistik](https://my.mivita.care/user/backoffice/statistics) + +### 6. Abo-Bestände immer aktuell + +Die Abo-Zahlen (Teamabos, Kundenabos, Führungskräfte-Abos, Top-Kundenabos) zeigen jetzt **immer den aktuellen Bestand** – auch wenn du einen bereits abgeschlossenen Monat auswählst. Vorher wurden bei alten Monaten eingefrorene Zahlen angezeigt; jetzt siehst du den Bestand von heute (erkennbar am Hinweis „aktueller Stand"). + +### 7. Provisions-Karte in der Übersicht + +Neben „Neupartner" und „1000-Punkte-Shops" gibt es oben eine dritte Karte: **deine Provision** für den gewählten Monat, aufgeschlüsselt nach **Payline, Shop und Wachstumsbonus**. Im laufenden Monat als Live-Wert (siehe Punkt 3), bei alten Monaten der abgerechnete Endstand. + +### 8. Neupartner-Liste mit Sponsor und Kundenpunkten + +Klickst du auf die **Neupartner-Zahl**, öffnet sich jetzt eine Liste der neuen Partner des Monats – inklusive **Sponsor** (wer hat den Partner geworben) und dessen **Kundenpunkten**. Die Liste lässt sich wie gewohnt als **CSV-Datei** herunterladen. + +### 9. „Neu"-Zahlen sind jetzt klickbar + +Überall, wo eine grüne **„+N"-Markierung** neue Abos oder neue Partner anzeigt (auch auf dem [Dashboard](https://my.mivita.care/home)), kannst du jetzt **direkt draufklicken** und landest in der passenden Detail-Liste – gefiltert auf **nur die neuen** Einträge des Monats. + +### 10. 1000-Punkte-Shops: dein eigener Shop zählt mit + +Bei der Kennzahl „1000-Punkte-Shops" wird jetzt auch **dein eigener Shop** mitgezählt, wenn er die 1000 Punkte erreicht hat. In der Detail-Liste ist deine eigene Zeile mit **„(ich)"** markiert. + +### 11. Top-10-Listen: Kundenabos im eigenen Team + +Zwei neue Top-10-Übersichten zeigen, welche Teampartner die meisten **Kundenabos** haben: + +- **Top 10 nach Anzahl** der Kundenabos. +- **Top 10 nach Umsatz** – mit **Soll** (was die Abos planmäßig bringen) und **Ist** (was bereits bestellt wurde). + +Gezählt wird jeweils der aktuelle Abo-Bestand im eigenen Team. + +### 12. Führungskräfte-Übersicht mit echten Teamzahlen + +Die Führungskräfte-Tabelle zeigt pro Führungskraft jetzt: **eigene Abos**, **Kundenabos**, **Teamabos**, **Team-Kundenabos** und die **Gesamtsumme**. Dabei zählt jede Führungskraft nur ihr eigenes Team **bis zur nächsten Führungskraft** – nichts wird doppelt gezählt, die Summen gehen sauber auf. + +--- + +## Gut zu wissen + +- **„Live"-Werte** (Payline-Punkte, Prognose, Provision im laufenden Monat) werden ca. alle **6 Stunden** neu berechnet – dazwischen kann der Wert also ein paar Stunden alt sein. +- Die [Statistik-Seite](https://my.mivita.care/user/backoffice/statistics) ist weiterhin **VIP-Beratern** vorbehalten; Dashboard, Abo-Pause und Team-Abo-Seite gelten für **alle Berater**. diff --git a/dev/2026-07-22/todos.md b/dev/2026-07-22/todos.md new file mode 100644 index 00000000..0a82a715 --- /dev/null +++ b/dev/2026-07-22/todos.md @@ -0,0 +1,89 @@ +ABOS + +- Wenn der Kunde pausieren möchte, kann er dies nach 6 Monaten tun und für maximal 1 x in 6 Monaten pausieren, +Bei den Abo Einstellungen brauchen wir hier eine Pause Funktion d.h. hier kann der User dann einen entsprechenden ein Monat Pause drücken und die Ausführung verschiebt sich um einen Monat + +- Wenn der Kunde stornieren möchte, kann er das nach der 6. Lieferung monatlich kündigen – entweder über den Berater oder den Kunden-LogIn + ist glaube ich schon weitesgehend implementiert bitte noch mal genau prüfen hier machen wir einfach einen Button Abo. Jetzt kündigen dann noch mal eine Abfrage wirklich kündigen und dann wird das Abo entsprechend entfernt. Softdelete + + + Statisitken + + +Dashboard: + Hier fehlt auch noch: Provision aktuell Stand heute +Hier bin ich mir nicht sicher, ob die Zahlen aktuell sind, bei den Abos sieht man nicht die aktuellen Zahlen, wenn man den Monat verändert. + + + Neupartner im Team +Wenn man hier raufklickt, sollte in der Liste auch der Sponsor aufscheinen und ebenfalls die tagesaktuellen Kundenpunkte + +1000- Punkte Shop +Muss ich selbst auch Teil der Statistik sein, wenn jem selbst den 1000 Punkte-Shop erreicht hat, sollte diese Person selbst auch in der Liste aufgeführt werden und nicht nur sein Team + + + + +Kundenabos insgesamt (Anzahl) +Wir benötigen ebenfalls eine Auflistung der TOP 10 von den Kundenabos insgesamt. (unabhängig vom Incentive) +zB Platz 1: Monika Kunz 15 Kundenabos, Platz 2: Tanja Longerich 14 KUndenabos und so absteigend + +Kundenabos insgesamt (Umsatz) +Wir benötigen ebenfalls eine Auflistung der TOP 10 von den Kundenabos insgesamt vom Umsatz. (unabhängig vom Incentive) +zB Platz 1: Tanja Longerich: 1200 Punkte (Kundenumsatz mit Kundenabos), Platz 2: Peggy Groß 800 Punkte (Kundenumsatz mit Kundenabos) + +Führungskräfte- Statisik – teils erledigt +Mittlerweile sieht man die Führugnskräfte ab Vertriebsleiter: wer hat ein eigenes Abo, wer hat weiviel Kundenabos, diese Liste gehört noch ergänzg mit: wieviel Teamabos hat diese Person und wieviele Kundenabos vom Team hat diese Person, und am Ende eine Summe wo alle 4 Kennzahlen zusammengezählt werden + +ABO-Statistik +Wurde einiges erweitert – man kann jetzt sehen wieviel Umsatz mit Abos pro Ebene da sind und wiveviel Gesamtumsatz im Abo + +Interessant und wichtig wäre hier noch: +Abo-Gesamtumsatz in der Payline + + Auf der Übersichtsliste + +Hier auch noch aktuelle Provision als Kennzahl in der Übersichtsliste +Wenn man auf die neuen Abos klickt, sollte man sehen wer diese sind + + +Auf der Übersichtsliste (HOME) benötigen wir noch folgende Kennzahlen +- Voraussichtliche Gesamtumsatz in der Payline am 5. (hier wird der aktuelle Kundenumsatz + Gesamtumsatz der Payline genommen und addiert mit den Abo-Umsätzen Payline Stand heute, die am 5. Dazukommen.) + +- Voraussichtliche Gesamtumsatz in der Payline am 10. (hier wird der aktuelle Kundenumsatz + Gesamtumsatz der Payline genommen und addiert mit den Abo-Umsätzen Stand heute, die am 10. Dazukommen.) + +- Voraussichtliche Gesamtumsatz in der Payline am 20. ((hier wird der aktuelle Kundenumsatz + Gesamtumsatz der Payline genommen und addiert mit den Abo-Umsätzen Stand heute, die am 20. Dazukommen.) + +- Voraussichtliche Gesamtumsatz in der Payline am 25. ((hier wird der aktuelle Kundenumsatz + Gesamtumsatz der Payline genommen und addiert mit den Abo-Umsätzen Stand heute, die am 25. Dazukommen.) + +Das hätte den Vorteil, dass wir Anfang Monat schon wissen, wieviel Umsatz wir in der Payline am 5./10./20./25. Haben werden. Diese Zahl wird aber immer tagesaktuell mit dem aktuellen Kundenumsatz (Abo/nicht Abo, persönliche Bestellungen, neupartnereinschreibungspunkte, etc) und den sonstigen Paylinepunkten (Umsatz ohne Abos) addiert + + +Führungskräfte-Statistik +Pro Führungskraft braucht es folgende Kennzahl +Eigenes Abo, Kundenabo, Teamabos, Kundenabos im Team, SUMME Gesamtabos im Team (eigenes Abo + Kundenabos +Teamabos +Kundenabos im Team) + +https://my.mivita.test/user/backoffice/statistics +Abos bei den führungskrägfen: + +Hier pro Führungskraft auch noch + +Wieviel Abos im Team +Wieviel Kundenabos im Team + +Abos gesamt (eigenes Abo + eigene Kundenabos + teamabos + Kundenabos im team) + + +--- + +## Offene Fragen (Claude, 2026-07-22) — BEANTWORTET + +**Update:** Alle Fragen wurden am 2026-07-22 beantwortet und ins Konzept eingearbeitet — siehe `entwicklungskonzept.md`, Abschnitt „Entscheidungen". Einzig F12 (eigene Abos in der Payline-Prognose) wird als dokumentierter Vorschlag umgesetzt und nach der Umsetzung erneut vorgelegt. Ursprüngliche Fragen: + +1. **Abo-Pause:** Zählen für „nach 6 Monaten" 6 bezahlte Lieferungen (wie bei der Kündigung) oder 6 Kalendermonate? Gilt „1× in 6 Monaten" rollierend? +2. **Kündigung „Softdelete":** Empfehlung: Abo auf Status „gekündigt" setzen statt löschen (verschwindet aus aktiven Listen, bleibt für Statistik/Abrechnung erhalten) — okay so? Zudem muss das Setting `abo-min-duration` in Produktion auf 6 stehen (hat aktuell keinen Default). +3. **Provision „Stand heute":** Welche Bestandteile (nur Payline-Provision oder auch Shop/Wachstum)? Für alle Berater sichtbar oder nur VIP? Aktualisierung alle ~6 h ausreichend? +4. **Abo-Zahlen bei Monatswechsel:** Sollen Abo-Bestandszahlen bei vergangenen Monaten den heutigen Stand zeigen (Empfehlung), während Punkte/Umsätze eingefroren bleiben? +5. **Top-10 Kundenabos:** Eigenes Team oder unternehmensweit? Bestand aktiver Abos? Umsatz = Abo-Punkte-Bestand oder abgerechneter Monatsumsatz? +6. **Führungskräfte-Statistik:** Wenn eine Führungskraft unter einer anderen hängt — zählt deren Team beim Oberen mit (Überlappung) oder wird an der nächsten Führungskraft abgeschnitten? +7. **Payline-Prognose 5./10./20./25.:** Kumuliert (Prognose zum 25. enthält 5./10./20.)? Zählen auch eigene Abos/Kundenabos des Beraters dazu oder nur die Payline-Downline? \ No newline at end of file diff --git a/dev/log-errors/errors.md b/dev/log-errors/errors.md new file mode 100644 index 00000000..5f0bdad3 --- /dev/null +++ b/dev/log-errors/errors.md @@ -0,0 +1,43 @@ +#mivita Exception: https://in.mivita.care/portal/my-subscriptions +Route [user_edit] not defined. (View: /home/ploi/mivita.care/resources/views/admin/abo/_detail.blade.php) (View: /home/ploi/mivita.care/resources/views/admin/abo/_detail.blade.php) +in /home/ploi/mivita.care/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php (line 517) + if (! is_null($this->missingNamedRouteResolver) && ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) { return $url; } throw new RouteNotFoundException("Route [{$name}] not defined."); } /** * Get the URL for a given route instance. * + + + #mivita Exception: https://mivita.care +SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl' : failed to load external entity "https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl" +in /home/ploi/mivita.care/app/Http/Controllers/Api/KasController.php (line 75) + $this->checkSession('auth'); try { $SoapLogon = new SoapClient('https://kasapi.kasserver.com/soap/wsdl/KasAuth.wsdl', [ 'cache_wsdl' => WSDL_CACHE_NONE, 'exceptions' => false ]); $this->CredentialToken = $SoapLogon->KasAuth(json_encode(array( 'KasUser' => $this->kas_user, + + + +#mivita Exception: https://mivita.shop/checkout +Undefined variable $shopping_user (View: /home/ploi/mivita.care/resources/views/web/templates/checkout.blade.php) +in /home/ploi/mivita.care/storage/framework/views/d620a70b10aed9766a5ae675e5aaa600.php (line 384) +

  13. IXVPy)1zwVY{K51t={vW>pX7Q(8a#O@$qJS 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%0AQJXa{ars6H2RQ5k51d3<+2> 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

    diff --git a/resources/views/admin/user/index.blade.php b/resources/views/admin/user/index.blade.php index 6020610b..207723b8 100644 --- a/resources/views/admin/user/index.blade.php +++ b/resources/views/admin/user/index.blade.php @@ -359,6 +359,19 @@ User komplett ohne Wiederherstellung löschen?
    +
    +
    +
    DSGVO-Löschung (Art. 17 DSGVO)
    +

    Alle personenbezogenen Daten dieses Users werden unwiderruflich anonymisiert + (Stammdaten, Adressen, Bankdaten, Uploads, Zahlungs-Tokens, Kontaktdaten). + Die Downline wird auf den nächsten aktiven Sponsor übertragen. + Rechnungen, Gutschriften und Provisionsdaten bleiben wegen der gesetzlichen + Aufbewahrungspflichten erhalten. Aktive Abos müssen vorher gekündigt werden.

    + +
    @@ -143,6 +160,37 @@ @endforeach @endforeach + + @if (! empty($s['payline_forecast']['days'])) +
    + {{ __('home.payline_forecast_title') }} + Live +
    +
    + @foreach ($s['payline_forecast']['days'] as $forecastDay) +
    +
    +
    +
    + {{ __('home.forecast_day', ['date' => $forecastDay['date']]) }} +
    +
    {{ $fmt($forecastDay['total']) }}
    + @if ($forecastDay['upcoming'] > 0) +
    + +{{ $fmt($forecastDay['upcoming']) }} {{ __('home.forecast_upcoming') }} +
    + @else +
    + {{ $forecastDay['is_past'] ? __('home.forecast_done') : '—' }} +
    + @endif +
    +
    +
    + @endforeach +
    + @endif @@ -175,6 +223,14 @@ $('#stats-month-filter, #stats-year-filter').on('change', function() { updateStatsFilter(); }); + + // Das "+N"-Badge liegt innerhalb des Kachel-Links: eigenen Ziel-Link + // öffnen statt der Kachel-Navigation (kein verschachteltes möglich). + $('.dashboard-stat-new-badge').css('cursor', 'pointer').on('click', function(e) { + e.preventDefault(); + e.stopPropagation(); + window.location.href = $(this).data('href'); + }); }); @endif diff --git a/resources/views/portal/abo/_create_check.blade.php b/resources/views/portal/abo/_create_check.blade.php index b6497e7c..04dfc480 100644 --- a/resources/views/portal/abo/_create_check.blade.php +++ b/resources/views/portal/abo/_create_check.blade.php @@ -152,10 +152,13 @@ {{ Yard::instance('subscription')->getShippingCountryName() }} + @php($checkTaxFree = Yard::instance('subscription')->getUserTaxFree()) - {{ __('order.shipping_costs') }}: + {{ __('order.shipping_costs') }} + ({{ $checkTaxFree ? __('order.net') : __('order.incl_VAT') }}): - {{ Yard::instance('subscription')->shipping() }} € + {{ $checkTaxFree ? Yard::instance('subscription')->shippingNet() : Yard::instance('subscription')->shipping() }} + € @if (Yard::instance('subscription')->getUserTaxFree()) diff --git a/resources/views/portal/abo/my_abo.blade.php b/resources/views/portal/abo/my_abo.blade.php index dd652d53..d4129ebd 100755 --- a/resources/views/portal/abo/my_abo.blade.php +++ b/resources/views/portal/abo/my_abo.blade.php @@ -93,6 +93,7 @@ 'split_mode' => true, 'summary' => $summary, 'change_locked' => $aboChangeLocked, + 'portal_view' => true, ])
    @@ -106,7 +107,7 @@
    - @include('admin.abo._order_combined_summary', ['summary' => $summary]) + @include('admin.abo._order_combined_summary', ['summary' => $summary, 'portal_view' => true])
    @@ -115,6 +116,7 @@ @include('admin.abo._order_abo', [ 'add_only_mode' => $addOnlyMode, 'change_locked' => $aboChangeLocked, + 'portal_view' => true, ]) diff --git a/resources/views/sys/index.blade.php b/resources/views/sys/index.blade.php index a29a5417..5a7bb207 100644 --- a/resources/views/sys/index.blade.php +++ b/resources/views/sys/index.blade.php @@ -23,8 +23,6 @@ class="ion ion-ios-arrow-forward">
      Kundenhoheit prüfen   Cron Jobs -   Subdomains prüfen SSL/Aktiv   Shopping Orders Käufe any()) -
    -
    -
    -
      - @foreach ($errors->all() as $error) -
    • {{ $error }}
    • - @endforeach -
    -
    -
    -
    - @endif - - -

    - Subdomains prüfen SSL/Aktiv -

    - -
    - - - - - - @if(count($dobbleDomains)>0) - {!! Form::open(['action' => route('sysadmin_tool_store', ['domainssl']), 'class' => '']) !!} -
    -
    - - - - - - - - - - - @foreach($dobbleDomains as $userId=>$domains) - @foreach($domains as $domainId=>$slug) - - - - - - - - @endforeach - @endforeach - - -
    IDUser-IDSubDomain#
    {{ $domainId }}{{ $userId }}{{ $slug }} - -
    - -
    - -
    - {!! Form::close() !!} - @endif - - @if(count($SubDomains)>0) - {!! Form::open(['action' => route('sysadmin_tool_store', ['domainssl']), 'class' => '']) !!} -
    -
    - - - - - - - - - - @foreach($SubDomains as $SubDomain=>$ssl) - - - - - - @endforeach - - -
    SubDomainSSL#
    {{ $SubDomain }}@if(!is_array($ssl)){{ $ssl }}@endif - -
    - -
    - -
    - {!! Form::close() !!} - @endif - - @if(count($values)>0) - {!! Form::open(['action' => route('sysadmin_tool_store', ['domainssl']), 'class' => '']) !!} - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - @foreach($values as $value) - - - - - - - - - - - - - - - - - - - - - @endforeach - -
    IDUser-IDDomainSubSSL#PHPseitDatumErreichbarStatusUser AccountUser ShopUser seit#
    {{ $value->id }}{{ $value->user_id }}{{ $value->slug }}.mivita.care {!! get_active_badge($value->hasSubdomain) !!} {!! get_active_badge($value->hasSSL) !!} {!! $value->PHPversion !!} {{ $value->getActiveDateFormatSmall() }} - @if($value->user && $value->user->payment_shop) - @if($value->user->isActiveShop()) - {{ $value->user->getPaymentShopDateFormat() }} - @else - {{ $value->user->getPaymentShopDateFormat() }} - @endif - @else - - @endif - - - -- - {{-- - @if($value->getSubdomainAvailable()) - {{ __('available') }} - @if($value->getSubdomainSslSin()) HTTPS @else HTTP @endif - - @else - {{ __('not available') }} HTTP - @endif - --}} - {!! get_active_badge($value->active) !!}@if($value->user) - @if($value->user->payment_account) - @if($value->user->isActiveAccount()) - {{ $value->user->getPaymentAccountDateFormat() }} - @else - {{ $value->user->getPaymentAccountDateFormat() }} - @endif - @else - - @endif - @else - - - @endif - - @if($value->user) - @if($value->user->payment_shop) - @if($value->user->isActiveShop()) - {{ $value->user->getPaymentShopDateFormat() }} - @else - {{ $value->user->getPaymentShopDateFormat() }} - @endif - @else - - @endif - @else - - - @endif - - @if($value->user) - @if($value->user->shop) - @if($value->user->shop->active) - {{ $value->user->shop->getActiveDateFormatSmall() }} - @else - {{ $value->user->shop->getActiveDateFormatSmall() }} - @endif - @else - - @endif - @else - - - @endif - - @if(!$value->user || !$value->user->payment_shop || !$value->user->isActiveShop()) - - @else - - @endif -
    -
    -
    - {!! Form::close() !!} - @endif -
    -@endsection - diff --git a/resources/views/user/backoffice/statistics/details.blade.php b/resources/views/user/backoffice/statistics/details.blade.php index 467955e8..f1d51d9b 100644 --- a/resources/views/user/backoffice/statistics/details.blade.php +++ b/resources/views/user/backoffice/statistics/details.blade.php @@ -5,6 +5,9 @@
    {{ __('navigation.statistics') }} / {{ $details['metric_label'] }} VIP + @if (! empty($details['only_new'])) + Nur neue im {{ $details['month'] }}/{{ $details['year'] }} + @endif
    CSV @@ -95,6 +99,11 @@ Sonstige Punkte Kundenpunkte Gesamtpunkte + @elseif ($details['metric'] === 'new_partners') + Sponsor + Kundenpunkte + Aktiv seit + Account gültig bis @else Aktiv seit Account gültig bis @@ -157,6 +166,11 @@ {{ \App\Services\Util::formatNumber($row['customer_other_points']) }} {{ \App\Services\Util::formatNumber($row['external_points']) }} {{ \App\Services\Util::formatNumber($row['total_points']) }} + @elseif ($details['metric'] === 'new_partners') + {{ $row['sponsor'] ?? '-' }} + {{ \App\Services\Util::formatNumber($row['customer_points'] ?? 0) }} + {{ $row['active_date'] ?? '-' }} + {{ $row['payment_account'] ?? '-' }} @else {{ $row['active_date'] ?? '-' }} @@ -194,6 +208,11 @@ {{ \App\Services\Util::formatNumber($details['summary']['customer_other_points']) }} {{ \App\Services\Util::formatNumber($details['summary']['external_points']) }} {{ \App\Services\Util::formatNumber($details['summary']['total_points']) }} + @elseif ($details['metric'] === 'new_partners') + + {{ \App\Services\Util::formatNumber($details['summary']['customer_points'] ?? 0) }} + + @else diff --git a/resources/views/user/backoffice/statistics/index.blade.php b/resources/views/user/backoffice/statistics/index.blade.php index 505f7c13..4762975f 100644 --- a/resources/views/user/backoffice/statistics/index.blade.php +++ b/resources/views/user/backoffice/statistics/index.blade.php @@ -26,6 +26,9 @@ @if (!empty($performance['calculated_at'])) Snapshot vom {{ $performance['calculated_at'] }} @endif + @if (!empty($statistics['abo_stock_live'])) + Abo-Bestände tagesaktuell + @endif
    @endif @@ -86,11 +89,32 @@ }; }; + // Ziel-Link des grünen "+N"-Badges: Neupartner-Liste bzw. Abo-Drilldown + // gefiltert auf die im Monat neuen Abos (only_new). + $newBadgeLink = function (int $lineNo, string $metric) use ($selectedMonth, $selectedYear): string { + if ($metric === 'consultants') { + return route('user_backoffice_statistics_details', [ + 'line' => $lineNo, + 'metric' => 'new_partners', + 'month' => $selectedMonth, + 'year' => $selectedYear, + ]); + } + + return route('user_backoffice_statistics_details', [ + 'line' => $lineNo, + 'metric' => $metric, + 'month' => $selectedMonth, + 'year' => $selectedYear, + 'only_new' => 1, + ]); + }; + $selectedMonthName = $filterMonths[(int) $selectedMonth] ?? $selectedMonth; @endphp
    -
    +
    @@ -167,8 +217,9 @@ @php $newMetric = $newAboMetric($line, $metric); @endphp @if ($newMetric && $line[$newMetric] > 0) - +{{ number_format($line[$newMetric], 0, ',', '.') }} + +{{ number_format($line[$newMetric], 0, ',', '.') }} @endif @else @php $newMetric = $newAboMetric($statistics['totals'], $metric); @endphp @if ($newMetric && $statistics['totals'][$newMetric] > 0) - +{{ number_format($statistics['totals'][$newMetric], 0, ',', '.') }} + +{{ number_format($statistics['totals'][$newMetric], 0, ',', '.') }} @endif @else
    + @php $nonPaylinePoints = $statistics['non_payline_points'] ?? null; @endphp + @if ($nonPaylinePoints !== null && $nonPaylinePoints > 0) +
    +

    + In den Gesamtpunkten enthalten: + {{ \App\Services\Util::formatNumber($nonPaylinePoints) }} Punkte, + die nicht in die Payline fließen (z. B. Neupartner-Einschreibungspunkte) — + die Punkte-Summe der Struktur-/Provisionsansicht fällt deshalb um diesen Betrag niedriger aus. +

    +
    + @endif
    @@ -253,8 +316,13 @@ @foreach ($newCustomerAbos as $row) -
    {{ $row['name'] }}
    -
    Linie {{ $row['line'] }} · {{ $row['career_level'] }}
    +
    + {{ $row['name'] }} + @if (!empty($row['is_self'])) + ich + @endif +
    +
    {{ !empty($row['is_self']) ? 'Eigene Kundenabos' : 'Linie '.$row['line'] }} · {{ $row['career_level'] }}
    @@ -288,7 +356,9 @@ @if ($leaderAbos !== null)
    {{ number_format((float) ($leaderAbos['total_own'] ?? 0), 0, ',', '.') }} eigene · - {{ number_format((float) ($leaderAbos['total_customer'] ?? 0), 0, ',', '.') }} Kunden + {{ number_format((float) ($leaderAbos['total_customer'] ?? 0), 0, ',', '.') }} Kunden · + {{ number_format((float) ($leaderAbos['total_team'] ?? 0), 0, ',', '.') }} Team · + {{ number_format((float) ($leaderAbos['total_team_customer'] ?? 0), 0, ',', '.') }} Teamkunden
    @endif @@ -313,32 +383,171 @@ Führungskraft Eigene Abos Kundenabos + Teamabos (direkt) + Team-Kundenabos (direkt) + Teamabos (gesamt) + Team-Kundenabos (gesamt) + Gesamt @foreach ($leaderAbos['rows'] as $row) + @php + $leaderTotal = $row['total_abo_count_full'] + ?? (($row['own_abo_count'] ?? 0) + ($row['customer_abo_count'] ?? 0) + ($row['team_abo_count_total'] ?? ($row['team_abo_count'] ?? 0)) + ($row['team_customer_abo_count_total'] ?? ($row['team_customer_abo_count'] ?? 0))); + @endphp
    {{ $row['name'] }}
    Linie {{ $row['line'] }} · {{ $row['career_level'] }}
    - - @if (($row['own_abo_count'] ?? 0) > 0) - - {{ number_format((float) $row['own_abo_count'], 0, ',', '.') }} - - @else - 0 - @endif + @foreach (['own_abo_count', 'customer_abo_count', 'team_abo_count', 'team_customer_abo_count', 'team_abo_count_total', 'team_customer_abo_count_total'] as $countKey) + + @if (($row[$countKey] ?? 0) > 0) + + {{ number_format((float) $row[$countKey], 0, ',', '.') }} + + @else + 0 + @endif + + @endforeach + + {{ number_format((float) $leaderTotal, 0, ',', '.') }} + + + @endforeach + + + +
    +

    + direkt = Team bis zur nächsten Führungskraft (überschneidungsfrei, ergibt die Kopf-Summe). + gesamt = komplette Downline inklusive der Teams untergeordneter Führungskräfte — dieselben Abos + können dort bei mehreren Führungskräften zählen, die Gesamt-Spalte lässt sich deshalb nicht aufsummieren. +

    +
    + @endif + + + + + @php + $topCustomerAbos = $statistics['top_customer_abos'] ?? null; + @endphp + +
    +
    +
    +
    +
    Top 10 Kundenabos (Anzahl)
    +
    + aktueller Bestand aktiver Kundenabos · weicht bewusst von der Incentive-Zählung ab + +
    +
    + @if ($topCustomerAbos === null) +
    +

    + Für diesen Monat liegt noch ein älterer Snapshot ohne diese Liste vor. +

    +
    + @elseif (count($topCustomerAbos['by_count']) === 0) +
    +

    Im Team gibt es aktuell keine aktiven Kundenabos.

    +
    + @else +
    + + + + + + + + + + @foreach ($topCustomerAbos['by_count'] as $row) + + + + + @endforeach + +
    PlatzBeraterKundenabos
    {{ $loop->iteration }}. +
    + {{ $row['name'] }} + @if (!empty($row['is_self'])) + ich + @endif +
    +
    {{ !empty($row['is_self']) ? 'Eigene Kundenabos' : 'Linie '.$row['line'] }} · {{ $row['career_level'] }}
    - @if (($row['customer_abo_count'] ?? 0) > 0) - - {{ number_format((float) $row['customer_abo_count'], 0, ',', '.') }} - - @else - 0 - @endif + + {{ number_format((float) $row['abo_count'], 0, ',', '.') }} + +
    +
    + @endif +
    +
    +
    +
    +
    +
    Top 10 Kundenabos (Umsatz)
    +
    + sortiert nach abgerechneten Kundenabo-Punkten {{ $selectedMonthName }} {{ $selectedYear }} + +
    +
    + @if ($topCustomerAbos === null) +
    +

    + Für diesen Monat liegt noch ein älterer Snapshot ohne diese Liste vor. +

    +
    + @elseif (count($topCustomerAbos['by_points']) === 0) +
    +

    Im Team gibt es aktuell keine Kundenabo-Umsätze.

    +
    + @else +
    + + + + + + + + + + + + @foreach ($topCustomerAbos['by_points'] as $row) + + + + + + @endforeach diff --git a/resources/views/user/components/user_shop_edit.blade.php b/resources/views/user/components/user_shop_edit.blade.php index 1ffdfe54..404f3b2a 100644 --- a/resources/views/user/components/user_shop_edit.blade.php +++ b/resources/views/user/components/user_shop_edit.blade.php @@ -80,32 +80,6 @@ - {{--
  14. -
    {{ __('Status') }}
    -
    - @if($user->shop->getSubdomainStatus()) - {{ __('shop.available') }} DNS
    - @else - {{ __('shop.not_available') }} DNS - @endif - - @if($user->shop->getSubdomainAvailable()) - {{ __('shop.available') }} - @if($user->shop->getSubdomainSslSin()) HTTPS @else HTTP @endif - - @else - {{ __('shop.not_available') }} HTTP - @endif - - @if($user->shop->getSubdomainSslSinActive()) - {{ __('shop.available') }} SSL - - @else - {{ __('shop.not_available') }} SSL - @endif - -
    -
  15. --}}
  16. {{ __('shop.active_since') }}
    diff --git a/resources/views/user/order/yard_view_form.blade.php b/resources/views/user/order/yard_view_form.blade.php index 3d297d45..175c650b 100644 --- a/resources/views/user/order/yard_view_form.blade.php +++ b/resources/views/user/order/yard_view_form.blade.php @@ -287,7 +287,7 @@
  17. - + diff --git a/resources/views/user/team/abos.blade.php b/resources/views/user/team/abos.blade.php index 153acf87..a8618bc8 100644 --- a/resources/views/user/team/abos.blade.php +++ b/resources/views/user/team/abos.blade.php @@ -38,6 +38,46 @@ + {{-- Abo-Umsatz in der Payline (Soll/Ist, Live) --}} + @if (isset($paylineAboTurnover)) +
    +
    +
    +
    +
    + {{ __('abo.payline_abo_turnover') }} + Live +
    + @if (($paylineAboTurnover['paylines'] ?? 0) > 0) +
    +
    +
    {{ __('abo.payline_target_label') }}
    +
    + {{ \App\Services\Util::formatNumber($paylineAboTurnover['target']) }} +
    +
    +
    +
    {{ __('abo.payline_actual_label') }}
    +
    + {{ \App\Services\Util::formatNumber($paylineAboTurnover['actual']) }} +
    +
    +
    +
    + {{ __('abo.payline_hint', ['lines' => $paylineAboTurnover['paylines'], 'members' => $paylineAboTurnover['members']]) }} +
    + {{ __('abo.payline_abo_counts', ['team_abos' => $paylineAboTurnover['team_abo_count'] ?? 0, 'customer_abos' => $paylineAboTurnover['team_customer_abo_count'] ?? 0]) }} +
    + @else +

    {{ __('abo.payline_none') }}

    + @endif +
    +
    +
    +
    + @endif + {{-- Linien-/Ebenen-Tabelle --}}
    @@ -53,7 +93,9 @@
    - + + + @@ -77,9 +119,11 @@ + + -
    PlatzBeraterAbosAbgerechnet (Punkte)Bestand/Lieferung
    {{ $loop->iteration }}. +
    + {{ $row['name'] }} + @if (!empty($row['is_self'])) + ich + @endif +
    +
    {{ !empty($row['is_self']) ? 'Eigene Kundenabos' : 'Linie '.$row['line'] }} · {{ $row['career_level'] }}
    +
    + + {{ number_format((float) ($row['abo_count'] ?? 0), 0, ',', '.') }} + + + {{ \App\Services\Util::formatNumber($row['points_actual']) }} + + {{ \App\Services\Util::formatNumber($row['points_target']) }}
    {{ Yard::instance('shopping')->getShippingCountryName() }}
    {{ __('order.shipping_costs') }}:{{ __('order.shipping_costs') }} ({{ __('order.net') }}): @php($shippingFree = Yard::instance('shopping')->getShippingFree()) diff --git a/resources/views/user/shop/sales/api_order_list_total.blade.php b/resources/views/user/shop/sales/api_order_list_total.blade.php index abf57e4f..23b49b7e 100644 --- a/resources/views/user/shop/sales/api_order_list_total.blade.php +++ b/resources/views/user/shop/sales/api_order_list_total.blade.php @@ -44,7 +44,7 @@ @endforeach
    - {{ __('order.total_shipping_costs') }} + {{ __('order.total_shipping_costs') }} ({{ __('order.net') }}) {{ __('abo.team_customer_abos') }} {{ __('abo.new_this_month') }} ({{ $currentMonthName }}) {{ __('abo.team_total') }}{{ __('abo.abo_count_points') }}{{ __('abo.abo_points_per_cycle') }}{{ __('abo.abo_points_billed', ['month' => $currentMonthName]) }}{{ __('abo.abo_points_expected', ['day' => 25]) }}
    +{{ $line['own_abos_new'] + $line['customer_abos_new'] }} {{ $line['total_abos'] }} {{ \App\Services\Util::formatNumber($line['own_abo_points'] + $line['customer_abo_points']) }}{{ \App\Services\Util::formatNumber($line['abo_points_billed'] ?? 0) }}{{ \App\Services\Util::formatNumber($line['abo_points_expected'] ?? 0) }}
    +
    @@ -129,7 +173,7 @@ @empty - + @endforelse @@ -143,6 +187,8 @@ + + @endif diff --git a/resources/views/web/templates/card.blade.php b/resources/views/web/templates/card.blade.php index 7d5330ff..9fc7a077 100644 --- a/resources/views/web/templates/card.blade.php +++ b/resources/views/web/templates/card.blade.php @@ -337,9 +337,10 @@ --}} + @php($cardShippingTaxFree = Yard::instance($yard_instance)->getUserTaxFree())
    - {{ Yard::instance($yard_instance)->shipping() }} € - {{ __('order.shipping_costs') }}: + {{ $cardShippingTaxFree ? Yard::instance($yard_instance)->shippingNet() : Yard::instance($yard_instance)->shipping() }} € + {{ __('order.shipping_costs') }} ({{ $cardShippingTaxFree ? __('order.net') : __('order.incl_VAT') }}):

    @if(Yard::instance($yard_instance)->getUserTaxFree()) diff --git a/resources/views/web/templates/checkout.blade.php b/resources/views/web/templates/checkout.blade.php index a882f68f..adbc0408 100644 --- a/resources/views/web/templates/checkout.blade.php +++ b/resources/views/web/templates/checkout.blade.php @@ -339,9 +339,10 @@ + @php($checkoutShippingTaxFree = Yard::instance($yard_instance)->getUserTaxFree()) - - + + @if(Yard::instance($yard_instance)->getUserTaxFree()) diff --git a/routes/domains/crm.php b/routes/domains/crm.php index f0c6dbd9..fa7d825e 100644 --- a/routes/domains/crm.php +++ b/routes/domains/crm.php @@ -334,6 +334,7 @@ Route::domain(config('app.pre_url_crm').config('app.domain').config('app.tld_car Route::get('/admin/customers', 'CustomerController@index')->name('admin_customers'); Route::get('/admin/customer/detail/{id}', 'CustomerController@detail')->name('admin_customer_detail'); Route::get('/admin/customer/delete/{id}', 'CustomerController@delete')->name('admin_customer_delete'); + Route::post('/admin/customer/gdpr-delete/{id}', 'CustomerController@gdprDelete')->name('admin_customer_gdpr_delete'); Route::get('/admin/customer/edit/{id}', 'CustomerController@edit')->name('admin_customer_edit'); Route::post('/admin/customer/edit/{id}', 'CustomerController@store')->name('admin_customer_edit'); Route::get('/admin/customer/datatable', 'CustomerController@getCustomers')->name('admin_customer_datatable'); diff --git a/tests/Feature/AboAdminDeleteTest.php b/tests/Feature/AboAdminDeleteTest.php index 1fc1fc0a..cdd45bca 100644 --- a/tests/Feature/AboAdminDeleteTest.php +++ b/tests/Feature/AboAdminDeleteTest.php @@ -52,6 +52,22 @@ it('löscht ein Abo soft über deleted_at', function () { expect(UserAbo::withTrashed()->find($abo->id)->deleted_at)->not->toBeNull(); }); +it('setzt beim Softdelete auch active auf false', function () { + $this->actingAs(adminDeleteUser()); + $abo = makeUserAbo(); + expect($abo->active)->toBeTrue(); + + try { + (new AboController(app(AboRepository::class)))->destroy($abo->id); + } catch (RouteNotFoundException $e) { + // Domain-spezifische Routen sind im Test-Kontext nicht registriert – erwartet. + } + + $trashed = UserAbo::withTrashed()->find($abo->id); + expect($trashed->deleted_at)->not->toBeNull(); + expect($trashed->active)->toBeFalse(); +}); + it('wirft eine Not-Found-Exception für ein nicht existierendes Abo', function () { $this->actingAs(adminDeleteUser()); diff --git a/tests/Feature/AboOneAboRuleTest.php b/tests/Feature/AboOneAboRuleTest.php new file mode 100644 index 00000000..93a37c01 --- /dev/null +++ b/tests/Feature/AboOneAboRuleTest.php @@ -0,0 +1,94 @@ + 'oar-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'payment_account' => now()->addYear(), + ]); +} + +function oarMakeAbo(User $user, string $isFor, int $status, ?string $email = null): UserAbo +{ + return UserAbo::create([ + 'user_id' => $user->id, + 'member_id' => $user->id, + 'shopping_user_id' => 0, + 'email' => $email ?? 'oar-abo-'.uniqid('', true).'@example.com', + 'is_for' => $isFor, + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => $status === 2, + 'status' => $status, + 'abo_interval' => 5, + 'start_date' => now()->subMonths(7), + 'last_date' => now()->subMonth(), + 'next_date' => now()->addWeek(), + 'cancel_date' => in_array($status, [4, 5], true) ? now() : null, + ]); +} + +it('blockiert die Abo-Neuanlage nicht mehr durch gekuendigte oder beendete Abos', function (): void { + $user = oarMakeUser(); + + oarMakeAbo($user, 'me', 4); + expect(AboHelper::userHasAbo($user))->toBeFalse(); + + oarMakeAbo($user, 'me', 5); + expect(AboHelper::userHasAbo($user))->toBeFalse(); +}); + +it('blockiert die Abo-Neuanlage weiterhin bei laufenden, pausierten oder angehaltenen Abos', function (int $status): void { + $user = oarMakeUser(); + oarMakeAbo($user, 'me', $status); + + expect(AboHelper::userHasAbo($user))->toBeTrue(); +})->with([ + 'laufend (2)' => 2, + 'angehalten (3)' => 3, + 'pausiert (6)' => 6, +]); + +it('ignoriert gekuendigte Kundenabos bei memberHasAbo und hasAboByEmail', function (): void { + $user = oarMakeUser(); + $email = 'kunde-'.uniqid('', true).'@example.com'; + + oarMakeAbo($user, 'ot', 4, $email); + + $shoppingUser = new ShoppingUser; + $shoppingUser->billing_email = $email; + + expect(AboHelper::memberHasAbo($shoppingUser))->toBeFalse() + ->and(AboHelper::hasAboByEmail($email))->toBeFalse(); + + oarMakeAbo($user, 'ot', 2, $email); + + expect(AboHelper::memberHasAbo($shoppingUser))->toBeTrue() + ->and(AboHelper::hasAboByEmail($email))->toBeTrue(); +}); + +it('liefert 6 als Standard-Mindestlaufzeit ohne gepflegtes Setting', function (): void { + expect((int) AboHelper::getAboMinDuration())->toBe(AboHelper::DEFAULT_ABO_MIN_DURATION); +}); + +it('respektiert ein gepflegtes abo-min-duration Setting inklusive 0', function (): void { + Setting::setContentBySlug('abo-min-duration', 3, 'int'); + expect((int) AboHelper::getAboMinDuration())->toBe(3); + + Setting::setContentBySlug('abo-min-duration', 0, 'int'); + expect((int) AboHelper::getAboMinDuration())->toBe(0); +}); diff --git a/tests/Feature/AboOneTimeViewTest.php b/tests/Feature/AboOneTimeViewTest.php index e61a7067..0796848b 100644 --- a/tests/Feature/AboOneTimeViewTest.php +++ b/tests/Feature/AboOneTimeViewTest.php @@ -1,10 +1,12 @@ makeShopEnv()); @@ -193,6 +195,50 @@ describe('Abo Einmal-Produkte Views', function () { $yard->destroy(); }); + it('kennzeichnet den Versand in der Berater-Ansicht als netto und im Portal als brutto', function () { + $yard = Yard::instance(AboOrderCart::INSTANCE); + $yard->destroy(); + $aboRow = $yard->add(1, 'Abo-Produkt', 1, 119.0, false, false, ['weight' => 100]); + Yard::setTax($aboRow->rowId, 19.0); + + $summary = AboOrderCart::getSplitSummary(); + + $consultantHtml = view('admin.abo._order_combined_summary', ['summary' => $summary])->render(); + $portalHtml = view('admin.abo._order_combined_summary', ['summary' => $summary, 'portal_view' => true])->render(); + + expect($consultantHtml)->toContain('('.__('order.net').')') + ->and($consultantHtml)->not->toContain('('.__('order.incl_VAT').')') + ->and($portalHtml)->toContain('('.__('order.incl_VAT').')') + ->and($portalHtml)->not->toContain('('.__('order.net').')'); + + $yard->destroy(); + }); + + it('kennzeichnet den Versand in der Abo-Artikelliste je nach Kontext als netto oder brutto', function () { + $abo = makeMeAbo(); + + $yard = Yard::instance(AboOrderCart::INSTANCE); + $yard->destroy(); + $aboRow = $yard->add(1, 'Abo-Produkt', 1, 119.0, false, false, ['weight' => 100]); + Yard::setTax($aboRow->rowId, 19.0); + + $base = [ + 'user_abo' => $abo, + 'split_mode' => false, + 'only_show_products' => false, + 'add_only_mode' => false, + ]; + + $consultantHtml = view('admin.abo._order_abo_show', $base)->render(); + $portalHtml = view('admin.abo._order_abo_show', $base + ['portal_view' => true])->render(); + + expect($consultantHtml)->toContain('('.__('order.net').')') + ->and($consultantHtml)->not->toContain('('.__('order.incl_VAT').')') + ->and($portalHtml)->toContain('('.__('order.incl_VAT').')'); + + $yard->destroy(); + }); + it('rendert die Abo-Liste im Split-Modus mit Abo-Zwischensumme und Endsumme', function () { $abo = makeMeAbo(); @@ -242,7 +288,7 @@ describe('Abo Einmal-Produkte Views', function () { it('rendert nach einer Mengenänderung die aktuelle (persistierte) Menge – kein Stale-Cache', function () { $abo = makeMeAbo(); $product = makeProduct(['12'], 50, 0); - $item = \App\Models\UserAboItem::create([ + $item = UserAboItem::create([ 'user_abo_id' => $abo->id, 'product_id' => $product->id, 'comp' => 0, 'qty' => 1, 'status' => 1, ]); @@ -251,7 +297,7 @@ describe('Abo Einmal-Produkte Views', function () { expect($abo->user_abo_items->first()->qty)->toBe(1); // Menge über separate Instanz erhöhen (wie der Controller in updateCart/addProduct) - \App\Models\UserAboItem::find($item->id)->update(['qty' => 3]); + UserAboItem::find($item->id)->update(['qty' => 3]); // Fix: Relation vor dem Render neu laden → gerenderte Menge = gespeicherter Stand $abo->load('user_abo_items'); @@ -267,7 +313,7 @@ describe('Abo Einmal-Produkte Views', function () { it('blendet Minus/Entfernen im Add-only-Modus aus (Mindestlaufzeit nicht erfüllt)', function () { $abo = makeMeAbo(); $product = makeProduct(['12'], 50, 0); - \App\Models\UserAboItem::create([ + UserAboItem::create([ 'user_abo_id' => $abo->id, 'product_id' => $product->id, 'comp' => 0, 'qty' => 2, 'status' => 1, ]); $abo->load('user_abo_items'); @@ -292,7 +338,7 @@ describe('Abo Einmal-Produkte Views', function () { it('friert alle Produkt-Steuerungen ein, wenn der Change-Lock greift', function () { $abo = makeMeAbo(); $product = makeProduct(['12'], 50, 0); - \App\Models\UserAboItem::create([ + UserAboItem::create([ 'user_abo_id' => $abo->id, 'product_id' => $product->id, 'comp' => 0, 'qty' => 2, 'status' => 1, ]); $abo->load('user_abo_items'); diff --git a/tests/Feature/AboPauseTest.php b/tests/Feature/AboPauseTest.php new file mode 100644 index 00000000..c4ee4084 --- /dev/null +++ b/tests/Feature/AboPauseTest.php @@ -0,0 +1,227 @@ + 'apt-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'payment_account' => now()->addYear(), + ]); +} + +function aptMakeAbo(User $user, int $paidDeliveries = 6, string $nextDate = '2026-08-05', ?string $lastPauseDate = null): UserAbo +{ + $abo = UserAbo::create([ + 'user_id' => $user->id, + 'member_id' => $user->id, + 'shopping_user_id' => 0, + 'email' => 'apt-abo-'.uniqid('', true).'@example.com', + 'is_for' => 'me', + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => true, + 'status' => 2, + 'abo_interval' => 5, + 'start_date' => '2026-01-05', + 'last_date' => '2026-07-05', + 'next_date' => $nextDate, + 'last_pause_date' => $lastPauseDate, + ]); + + for ($i = 0; $i < $paidDeliveries; $i++) { + UserAboOrder::create([ + 'user_abo_id' => $abo->id, + 'shopping_order_id' => 0, + 'status' => 2, + 'paid' => true, + ]); + } + + return $abo->fresh(); +} + +function aptPause(UserAbo $abo, string $view = 'portal'): bool +{ + $repository = new AboRepository; + $repository->setModel($abo); + + $data = [ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => $view, + 'abo_interval' => $abo->abo_interval, + 'abo_pause' => 'true', + ]; + + if ($view === 'admin') { + // Das Admin-Formular sendet den Ausfuehrungsmonat immer mit + $data['abo_next_month'] = now()->addMonth()->format('Y-m'); + } + + return $repository->update($data); +} + +it('pausiert ein Abo um einen Monat und protokolliert die Aktion', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user); + + expect(aptPause($abo))->toBeTrue(); + + $abo = $abo->fresh(); + + expect(Carbon::parse($abo->getRawOriginal('next_date'))->format('Y-m-d'))->toBe('2026-09-05') + ->and(Carbon::parse($abo->getRawOriginal('last_pause_date'))->format('Y-m-d'))->toBe('2026-07-22') + ->and($abo->pause_count)->toBe(1) + ->and((int) $abo->status)->toBe(2) + ->and($abo->active)->toBeTrue(); + + $history = UserAboStatusHistory::where('user_abo_id', $abo->id)->get(); + expect($history)->toHaveCount(1) + ->and($history[0]->action)->toBe(UserAboStatusHistory::ACTION_PAUSED) + ->and($history[0]->view)->toBe('portal') + ->and($history[0]->previous_next_date->format('Y-m-d'))->toBe('2026-08-05') + ->and($history[0]->new_next_date->format('Y-m-d'))->toBe('2026-09-05'); +}); + +it('lehnt die Pause vor Erreichen der Mindestlaufzeit ab', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user, paidDeliveries: 3); // Default-Mindestlaufzeit ist 6 + + expect(aptPause($abo))->toBeFalse(); + + expect(Carbon::parse($abo->fresh()->getRawOriginal('next_date'))->format('Y-m-d'))->toBe('2026-08-05') + ->and($abo->fresh()->pause_count)->toBe(0) + ->and(UserAboStatusHistory::count())->toBe(0); +}); + +it('lehnt die Pause innerhalb der Sperrfrist vor der Ausfuehrung ab', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user, nextDate: '2026-07-24'); // in 2 Tagen, Sperre = 3 Tage + + expect(aptPause($abo))->toBeFalse() + ->and($abo->fresh()->pause_count)->toBe(0); +}); + +it('erlaubt die Pause nur einmal pro rollierendem Intervall', function (): void { + $user = aptMakeUser(); + + // Letzte Pause vor 2 Monaten, Default-Intervall 6 Monate -> gesperrt + $abo = aptMakeAbo($user, lastPauseDate: '2026-05-22'); + expect(AboHelper::canPauseAbo($abo, 'portal'))->toBeFalse() + ->and(aptPause($abo))->toBeFalse() + ->and(AboHelper::nextPossiblePauseDate($abo)->format('Y-m-d'))->toBe('2026-11-22'); + + // Verkuerztes Intervall per Setting -> wieder erlaubt + Setting::setContentBySlug('abo-pause-interval-months', 2, 'int'); + expect(AboHelper::getPauseIntervalMonths())->toBe(2) + ->and(AboHelper::canPauseAbo($abo->fresh(), 'portal'))->toBeTrue() + ->and(aptPause($abo->fresh()))->toBeTrue(); +}); + +it('erlaubt Admins die Pause ohne Regelpruefung', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user, paidDeliveries: 0, lastPauseDate: '2026-07-01'); + + expect(AboHelper::canPauseAbo($abo, 'admin'))->toBeTrue() + ->and(aptPause($abo, 'admin'))->toBeTrue() + ->and(Carbon::parse($abo->fresh()->getRawOriginal('next_date'))->format('Y-m-d'))->toBe('2026-09-05'); +}); + +it('lehnt die Pause fuer inaktive oder gekuendigte Abos ab', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user); + $abo->update(['status' => 6, 'active' => false]); + + expect(AboHelper::canPauseAbo($abo->fresh(), 'portal'))->toBeFalse() + ->and(aptPause($abo->fresh()))->toBeFalse(); +}); + +it('protokolliert die Kuendigung in der Status-Historie', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user); + + $repository = new AboRepository; + $repository->setModel($abo); + $repository->update([ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => 'portal', + 'abo_interval' => $abo->abo_interval, + 'abo_cancel' => 'true', + ]); + + expect((int) $abo->fresh()->status)->toBe(4); + + $history = UserAboStatusHistory::where('user_abo_id', $abo->id)->get(); + expect($history)->toHaveCount(1) + ->and($history[0]->action)->toBe(UserAboStatusHistory::ACTION_CANCELLED); +}); + +it('zeigt im Selfservice-Modal die Pause und Outline-Kuendigung ohne Aktiv-Schalter', function (): void { + app('request')->setLaravelSession(app('session.store')); + + $user = aptMakeUser(); + $abo = aptMakeAbo($user); + + $html = view('admin.abo.modal_abo_update', [ + 'user_abo' => $abo, + 'data' => ['action' => 'abo_update_settings', 'id' => $abo->id, 'view' => 'portal'], + 'route' => '/portal/abo/update', + ])->render(); + + expect($html) + ->toContain('abo_pause') + ->toContain('btn-outline-danger') + ->toContain(__('abo.cancel_abo')) + ->not->toContain('switcher-input'); + + $adminHtml = view('admin.abo.modal_abo_update', [ + 'user_abo' => $abo, + 'data' => ['action' => 'abo_update_settings', 'id' => $abo->id, 'view' => 'admin'], + 'route' => '/admin/abo/update', + ])->render(); + + expect($adminHtml)->toContain('switcher-input') + ->not->toContain('abo_pause'); +}); + +it('zeigt die Pause im Admin-Aenderungsprotokoll', function (): void { + $user = aptMakeUser(); + $abo = aptMakeAbo($user); + aptPause($abo); + + $html = view('admin.abo._change_history', [ + 'user_abo' => $abo->fresh(), + 'isAdmin' => true, + ])->render(); + + expect($html) + ->toContain(e(__('abo_history.status_history_title'))) + ->toContain(__('abo_history.status_paused')) + ->toContain(__('abo_history.status_shift', ['from' => '05.08.2026', 'to' => '05.09.2026'])) + ->toContain(__('abo_history.channel_portal')); +}); diff --git a/tests/Feature/AboUpdateAuthorizationTest.php b/tests/Feature/AboUpdateAuthorizationTest.php new file mode 100644 index 00000000..24f5c515 --- /dev/null +++ b/tests/Feature/AboUpdateAuthorizationTest.php @@ -0,0 +1,223 @@ + '/'.$name.'/'.implode('/', $parameters) + ); +}); + +afterEach(function () { + Carbon::setTestNow(); +}); + +function auaMakeUser(): User +{ + return User::forceCreate([ + 'email' => 'aua-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'payment_account' => now()->addYear(), + ]); +} + +function auaMakeAbo(User $user, int $paidDeliveries = 6, string $nextDate = '2026-08-05', ?string $lastPauseDate = null): UserAbo +{ + $abo = UserAbo::create([ + 'user_id' => $user->id, + 'member_id' => $user->id, + 'shopping_user_id' => 0, + 'email' => 'aua-abo-'.uniqid('', true).'@example.com', + 'is_for' => 'me', + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => true, + 'status' => 2, + 'abo_interval' => 5, + 'start_date' => '2026-01-05', + 'last_date' => '2026-07-05', + 'next_date' => $nextDate, + 'last_pause_date' => $lastPauseDate, + ]); + + for ($i = 0; $i < $paidDeliveries; $i++) { + UserAboOrder::create([ + 'user_abo_id' => $abo->id, + 'shopping_order_id' => 0, + 'status' => 2, + 'paid' => true, + ]); + } + + return $abo->fresh(); +} + +/** + * Simuliert den POST des Abo-Einstellungs-Modals an AboController@update. + * + * @param array $payload + */ +function auaCallUpdate(string $routeView, int $routeId, array $payload): mixed +{ + app('request')->merge($payload); + + return (new AboController(app(AboRepository::class)))->update($routeView, $routeId); +} + +it('blockiert das Kündigen eines fremden Abos über eine manipulierte Body-id', function (): void { + $attacker = auaMakeUser(); + $victim = auaMakeUser(); + $attackerAbo = auaMakeAbo($attacker); + $victimAbo = auaMakeAbo($victim); + + $this->actingAs($attacker); + + expect(fn () => auaCallUpdate('me', $attackerAbo->id, [ + 'action' => 'abo_update_settings', + 'id' => $victimAbo->id, + 'view' => 'admin', + 'abo_interval' => 5, + 'abo_next_month' => now()->addMonth()->format('Y-m'), + 'abo_cancel' => 'true', + ]))->toThrow(HttpException::class); + + expect((int) $victimAbo->fresh()->status)->toBe(2) + ->and($victimAbo->fresh()->active)->toBeTruthy(); +}); + +it('ignoriert ein gespooftes view=admin im Body: Mindestlaufzeit gilt weiterhin', function (): void { + $user = auaMakeUser(); + $abo = auaMakeAbo($user, paidDeliveries: 2); + + $this->actingAs($user); + + auaCallUpdate('me', $abo->id, [ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => 'admin', + 'abo_interval' => 5, + 'abo_next_month' => now()->addMonth()->format('Y-m'), + 'abo_cancel' => 'true', + ]); + + expect((int) $abo->fresh()->status)->toBe(2) + ->and($abo->fresh()->active)->toBeTruthy(); +}); + +it('ignoriert ein gespooftes view=admin im Body: Pause-Intervall gilt weiterhin', function (): void { + $user = auaMakeUser(); + $abo = auaMakeAbo($user, lastPauseDate: '2026-06-01'); + + $this->actingAs($user); + + auaCallUpdate('me', $abo->id, [ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => 'admin', + 'abo_interval' => 5, + 'abo_next_month' => now()->addMonth()->format('Y-m'), + 'abo_pause' => 'true', + ]); + + expect($abo->fresh()->getRawOriginal('next_date'))->toStartWith('2026-08-05'); +}); + +it('kündigt das eigene Abo nach erfüllter Mindestlaufzeit weiterhin regulär', function (): void { + $user = auaMakeUser(); + $abo = auaMakeAbo($user); + + $this->actingAs($user); + + auaCallUpdate('me', $abo->id, [ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => 'me', + 'abo_interval' => 5, + 'abo_cancel' => 'true', + ]); + + expect((int) $abo->fresh()->status)->toBe(4) + ->and($abo->fresh()->active)->toBeFalsy(); +}); + +it('blockiert die Kündigung serverseitig vor erreichter Mindestlaufzeit', function (): void { + $user = auaMakeUser(); + $abo = auaMakeAbo($user, paidDeliveries: 2); + + $this->actingAs($user); + + $repository = new AboRepository; + $repository->setModel($abo); + $repository->update([ + 'action' => 'abo_update_settings', + 'id' => $abo->id, + 'view' => 'me', + 'abo_interval' => 5, + 'abo_cancel' => 'true', + ]); + + expect((int) $abo->fresh()->status)->toBe(2) + ->and($abo->fresh()->active)->toBeTruthy(); +}); + +it('zeigt im Portal nach der Kündigung wieder die Abo-Neuanlage an', function (): void { + $shoppingUser = ShoppingUser::create([ + 'auth_user_id' => 1, + 'billing_firstname' => 'Karla', + 'billing_lastname' => 'Kundin', + 'billing_address' => 'Kundenweg 2', + 'billing_zipcode' => '11111', + 'billing_city' => 'Kundenstadt', + 'billing_country_id' => 1, + 'shipping_country_id' => 1, + 'billing_email' => 'aua-kundin@example.com', + 'same_as_billing' => true, + 'mode' => 'test', + 'wp_order_number' => 0, + ]); + + UserAbo::create([ + 'user_id' => 1, + 'member_id' => 1, + 'shopping_user_id' => $shoppingUser->id, + 'email' => 'aua-kundin@example.com', + 'is_for' => 'ot', + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => false, + 'status' => 4, + 'abo_interval' => 5, + 'cancel_date' => now(), + ]); + + $customer = Customer::create([ + 'name' => 'Karla Kundin', + 'email' => 'aua-kundin@example.com', + 'shopping_user_id' => $shoppingUser->id, + ]); + + $this->actingAs($customer, 'customers'); + + $response = (new PortalAboController)->myAbo(); + + expect($response->name())->toBe('portal.abo.my_abo_create'); +}); diff --git a/tests/Feature/AdminAboDatatableSortTest.php b/tests/Feature/AdminAboDatatableSortTest.php new file mode 100644 index 00000000..b56ec70c --- /dev/null +++ b/tests/Feature/AdminAboDatatableSortTest.php @@ -0,0 +1,81 @@ + 'adt-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'payment_account' => now()->addYear(), + ]); + + $abo = UserAbo::create([ + 'user_id' => $user->id, + 'member_id' => $user->id, + 'shopping_user_id' => 0, + 'email' => 'adt-abo-'.uniqid('', true).'@example.com', + 'is_for' => 'me', + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => true, + 'status' => 2, + 'abo_interval' => 5, + 'start_date' => '2026-01-05', + 'last_date' => '2026-06-05', + 'next_date' => '2026-08-05', + ]); + + for ($i = 0; $i < $paidDeliveries; $i++) { + UserAboOrder::create([ + 'user_abo_id' => $abo->id, + 'shopping_order_id' => 0, + 'status' => 2, + 'paid' => true, + ]); + } + + return $abo; +} + +it('sortiert die Admin-Abo-Tabelle nach Lieferungen ohne SQL-Fehler', function (): void { + URL::resolveMissingNamedRoutesUsing(fn (string $name, $parameters = []) => '/'.$name); + + $aboFew = adtMakeAboWithDeliveries(1); + $aboMany = adtMakeAboWithDeliveries(3); + + request()->merge([ + 'draw' => 1, + 'start' => 0, + 'length' => 10, + 'search' => ['value' => '', 'regex' => 'false'], + 'columns' => [ + ['data' => 'count', 'name' => 'count', 'searchable' => 'false', 'orderable' => 'true', 'search' => ['value' => '', 'regex' => 'false']], + ], + 'order' => [['column' => 0, 'dir' => 'desc']], + ]); + + $data = app(AboController::class)->datatable()->getData(true); + + expect($data['data'])->toHaveCount(2) + ->and((int) $data['data'][0]['count'])->toBe(3) + ->and((int) $data['data'][1]['count'])->toBe(1); + + request()->merge(['order' => [['column' => 0, 'dir' => 'asc']]]); + + $data = app(AboController::class)->datatable()->getData(true); + + expect((int) $data['data'][0]['count'])->toBe(1) + ->and((int) $data['data'][1]['count'])->toBe(3); +}); diff --git a/tests/Feature/ApiOrderFreeShippingTest.php b/tests/Feature/ApiOrderFreeShippingTest.php new file mode 100644 index 00000000..d5b41ba9 --- /dev/null +++ b/tests/Feature/ApiOrderFreeShippingTest.php @@ -0,0 +1,156 @@ + 'DE', 'phone' => '49', 'en' => 'Germany', 'de' => 'Deutschland', + 'es' => 'Alemania', 'fr' => 'Allemagne', 'it' => 'Germania', 'ru' => 'Германия', + ]); + $shipping = Shipping::create(['name' => 'DEUTSCHLAND', 'active' => true, 'free' => $freeThreshold ?? '']); + ShippingPrice::create([ + 'shipping_id' => $shipping->id, 'price' => 4.90, 'price_comp' => 0, 'num_comp' => 0, + 'tax_rate' => 19, 'weight_from' => 1, 'weight_to' => 1000, + ]); + $shippingCountry = ShippingCountry::create(['shipping_id' => $shipping->id, 'country_id' => $country->id]); + + return [$country, $shippingCountry]; +} + +function makeApiOrderEnv(?int $freeThreshold = 80): ShoppingUser +{ + [$country] = makeApiShopEnv($freeThreshold); + + $account = UserAccount::create(['m_first_name' => 'Mia', 'm_last_name' => 'Vita', 'country_id' => $country->id]); + $member = User::forceCreate([ + 'email' => 'member-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'account_id' => $account->id, + ]); + UserShop::create(['user_id' => $member->id, 'name' => 'Shop-'.uniqid('', true), 'active' => true]); + + $apiUser = User::forceCreate([ + 'email' => 'api-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_sponsor' => $member->id, + ]); + test()->actingAs($apiUser); + + return ShoppingUser::create([ + 'member_id' => $member->id, + 'auth_user_id' => 0, + 'number' => 1, + 'billing_firstname' => 'Max', + 'billing_lastname' => 'Muster', + 'billing_address' => 'Musterstr. 1', + 'billing_zipcode' => '12345', + 'billing_city' => 'Berlin', + 'billing_country_id' => $country->id, + 'billing_email' => 'kunde@example.com', + 'shipping_country_id' => $country->id, + 'same_as_billing' => true, + 'wp_order_number' => 424242, + 'mode' => 'dev', + ]); +} + +function makeApiProduct(float $price, int $weight = 500, bool $noFreeShipping = false): Product +{ + $now = now(); + $id = (int) DB::table('products')->insertGetId([ + 'name' => 'P-'.uniqid('', true), + 'title' => 'Produkt', + 'active' => true, + 'price' => $price, + 'tax' => 19, + 'weight' => $weight, + 'points' => 7, + 'wp_number' => random_int(10000, 99999999), + 'no_free_shipping' => $noFreeShipping, + 'show_on' => json_encode(['2']), + 'created_at' => $now, + 'updated_at' => $now, + ]); + + return Product::findOrFail($id); +} + +function callApiPrepareOrder(ShoppingUser $shoppingUser, array $items): void +{ + Mail::fake(); + $wpOrder = array_map(fn (Product $product) => [ + 'article' => $product->wp_number, + 'qty' => 1, + 'price' => (int) round($product->price * 100), + ], $items); + + $method = new ReflectionMethod(ShoppingUserController::class, 'prepareOrder'); + $method->invoke(new ShoppingUserController, $wpOrder, $shoppingUser, null, []); +} + +describe('API-Bestellung Versandkostenfrei-Schwellenwert', function () { + it('berechnet keine Versandkosten, wenn der Schwellenwert (DE 80 €) erreicht ist', function () { + $shoppingUser = makeApiOrderEnv(80); + $product = makeApiProduct(80.00); + + callApiPrepareOrder($shoppingUser, [$product]); + + $order = $shoppingUser->shopping_orders()->first(); + expect((float) $order->shipping)->toBe(0.0) + ->and((float) $order->total_shipping)->toBe(80.0); + }); + + it('berechnet Versandkosten, wenn der Schwellenwert nicht erreicht ist', function () { + $shoppingUser = makeApiOrderEnv(80); + $product = makeApiProduct(79.00); + + callApiPrepareOrder($shoppingUser, [$product]); + + $order = $shoppingUser->shopping_orders()->first(); + expect((float) $order->shipping)->toBe(4.90) + ->and((float) $order->total_shipping)->toBe(83.90); + }); + + it('berechnet Versandkosten, wenn kein Schwellenwert konfiguriert ist', function () { + $shoppingUser = makeApiOrderEnv(null); + $product = makeApiProduct(200.00); + + callApiPrepareOrder($shoppingUser, [$product]); + + $order = $shoppingUser->shopping_orders()->first(); + expect((float) $order->shipping)->toBe(4.90); + }); + + it('berechnet Versandkosten nach Gewicht der no_free_shipping-Produkte trotz erreichtem Schwellenwert', function () { + $shoppingUser = makeApiOrderEnv(80); + $normal = makeApiProduct(80.00); + $excluded = makeApiProduct(20.00, 500, true); + + callApiPrepareOrder($shoppingUser, [$normal, $excluded]); + + $order = $shoppingUser->shopping_orders()->first(); + expect((float) $order->shipping)->toBe(4.90); + }); +}); diff --git a/tests/Feature/BackofficeStatisticsAccessTest.php b/tests/Feature/BackofficeStatisticsAccessTest.php index 7dd035fe..b4574d26 100644 --- a/tests/Feature/BackofficeStatisticsAccessTest.php +++ b/tests/Feature/BackofficeStatisticsAccessTest.php @@ -5,6 +5,7 @@ use App\Models\ShoppingOrder; use App\Services\Backoffice\BackofficeDashboardService; use App\Services\Backoffice\BackofficeDrilldownService; use App\Services\Backoffice\PersonalStatisticsService; +use App\Services\BusinessPlan\LiveCommissionService; use App\User; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\StreamedResponse; @@ -13,6 +14,18 @@ use Tests\TestCase; uses(TestCase::class); +beforeEach(function () { + // Der Controller holt die Live-Provision über den Container; ohne Datenbank- + // Schema (user_businesses) hier durch einen Fake mit Null-Werten ersetzen. + app()->instance(LiveCommissionService::class, new class extends LiveCommissionService + { + public function commission(User $user, int $month, int $year): array + { + return ['total' => 0.0, 'pp' => 0.0, 'shop' => 0.0, 'growth' => 0.0, 'is_live' => true]; + } + }); +}); + function makeBackofficeStatisticsUser(int $admin): User { return (new User)->forceFill([ @@ -213,10 +226,11 @@ it('erstellt einen CSV-Export fuer Detaildaten mit Karriere-Level und Summenzeil $drilldownService ->shouldReceive('details') ->once() - ->with($vip, 0, 'shop_1000', 5, 2026) + ->with($vip, 0, 'shop_1000', 5, 2026, false) ->andReturn([ 'metric' => 'shop_1000', 'metric_label' => '1000 Punkte Shop', + 'only_new' => false, 'line' => 0, 'line_label' => 'Alle Linien', 'month' => 5, @@ -283,10 +297,11 @@ it('nutzt den gespeicherten Zeitraum fuer Detailansicht und Export', function () $drilldownService ->shouldReceive('details') ->once() - ->with($vip, 1, 'consultants', 4, 2026) + ->with($vip, 1, 'consultants', 4, 2026, false) ->andReturn([ 'metric' => 'consultants', 'metric_label' => 'Berater', + 'only_new' => false, 'line' => 1, 'line_label' => 'Linie 1', 'month' => 4, @@ -298,10 +313,11 @@ it('nutzt den gespeicherten Zeitraum fuer Detailansicht und Export', function () $drilldownService ->shouldReceive('details') ->once() - ->with($vip, 1, 'consultants', 4, 2026) + ->with($vip, 1, 'consultants', 4, 2026, false) ->andReturn([ 'metric' => 'consultants', 'metric_label' => 'Berater', + 'only_new' => false, 'line' => 1, 'line_label' => 'Linie 1', 'month' => 4, diff --git a/tests/Feature/BackofficeStatisticsDrilldownTest.php b/tests/Feature/BackofficeStatisticsDrilldownTest.php index cffac0fc..6bc692b2 100644 --- a/tests/Feature/BackofficeStatisticsDrilldownTest.php +++ b/tests/Feature/BackofficeStatisticsDrilldownTest.php @@ -3,6 +3,8 @@ use App\Models\Product; use App\Models\UserAbo; use App\Models\UserAboItem; +use App\Models\UserSalesVolume; +use App\Services\Abo\TeamAboOverviewService; use App\Services\Backoffice\BackofficeDashboardService; use App\Services\Backoffice\BackofficeDrilldownService; use App\User; @@ -77,6 +79,17 @@ function boMakeAbo(int $memberId, string $isFor, string $startDate, int $points return $abo->fresh(); } +function boMakeSalesVolume(int $userId, int $month, int $year, float $points, int $status): UserSalesVolume +{ + return UserSalesVolume::forceCreate([ + 'user_id' => $userId, + 'month' => $month, + 'year' => $year, + 'points' => $points, + 'status' => $status, + ]); +} + it('gruppiert Teamkundenabos pro Teampartner mit Punkten je Abo und gesamt', function (): void { $root = boMakeUser(); $anna = boMakeUser($root->id); @@ -163,3 +176,81 @@ it('rendert die kombinierte Monatsstatistik-Card mit Abo- und Neupartner-Kennzah ->toContain('user_abos_team_show') ->toContain('+1'); // "+neu"-Badge im gewählten Monat }); + +it('zeigt im Neupartner-Drilldown Sponsor und tagesaktuelle Kundenpunkte', function (): void { + $root = boMakeUser(); + $sponsor = boMakeUser($root->id); + $partner = boMakeUser($sponsor->id, '2026-06-15'); + + boMakeSalesVolume($partner->id, 6, 2026, 250, 2); // Kundenpunkte (Shop) + boMakeSalesVolume($partner->id, 6, 2026, 100, 1); // Eigenpunkte zaehlen nicht als Kundenpunkte + + $details = app(BackofficeDrilldownService::class)->details($root, 0, 'new_partners', 6, 2026); + + expect($details['rows'])->toHaveCount(1) + ->and($details['rows'][0]['sponsor'])->toBe($sponsor->email) + ->and($details['rows'][0]['customer_points'])->toBe(250.0) + ->and($details['summary']['customer_points'])->toBe(250.0); +}); + +it('zaehlt den Betrachter selbst beim 1000-Punkte-Shop mit', function (): void { + $root = boMakeUser(); + $partner = boMakeUser($root->id); + + boMakeSalesVolume($root->id, 6, 2026, 1200, 2); + boMakeSalesVolume($partner->id, 6, 2026, 1500, 2); + + $details = app(BackofficeDrilldownService::class)->details($root, 0, 'shop_1000', 6, 2026); + + expect($details['rows'])->toHaveCount(2); + + $selfRow = collect($details['rows'])->firstWhere('user_id', $root->id); + expect($selfRow['name'])->toContain('(ich)'); + + $overview = app(BackofficeDashboardService::class)->overview($root, 6, 2026); + expect($overview['totals']['shop_1000'])->toBe(2) + ->and($overview['lines'][1]['shop_1000'])->toBe(1); +}); + +it('zaehlt den Berater selbst bei den Dashboard-KPIs zum 1000-Punkte-Shop mit', function (): void { + $root = boMakeUser(); + boMakeSalesVolume($root->id, 6, 2026, 1100, 2); + + // auch ganz ohne Team zaehlt der eigene 1000-Punkte-Shop + $kpis = app(TeamAboOverviewService::class)->teamKpis($root, 6, 2026); + expect($kpis['shop_1000'])->toBe(1); + + $partner = boMakeUser($root->id); + boMakeSalesVolume($partner->id, 6, 2026, 1300, 2); + + $kpis = app(TeamAboOverviewService::class)->teamKpis($root->fresh(), 6, 2026); + expect($kpis['shop_1000'])->toBe(2); +}); + +it('filtert Abo-Drilldowns mit only_new auf die im Monat neuen Abos', function (): void { + $root = boMakeUser(); + $anna = boMakeUser($root->id); + $lena = boMakeUser($root->id); + + boMakeAbo($anna->id, 'me', '2026-06-10', 20); // neu im Juni + boMakeAbo($lena->id, 'me', '2026-05-10', 30); // Bestand + + $service = app(BackofficeDrilldownService::class); + + $all = $service->details($root, 0, 'team_partner_abos', 6, 2026); + $onlyNew = $service->details($root, 0, 'team_partner_abos', 6, 2026, true); + + expect($all['rows'])->toHaveCount(2) + ->and($all['only_new'])->toBeFalse() + ->and($onlyNew['rows'])->toHaveCount(1) + ->and($onlyNew['rows'][0]['user_id'])->toBe($anna->id) + ->and($onlyNew['only_new'])->toBeTrue() + ->and($onlyNew['metric_label'])->toContain('nur neue'); + + boMakeAbo($anna->id, 'ot', '2026-06-12', 10); // neues Kundenabo + boMakeAbo($anna->id, 'ot', '2026-04-01', 10); // Bestand + + $onlyNewCustomers = $service->details($root, 0, 'team_customer_abos', 6, 2026, true); + expect($onlyNewCustomers['rows'])->toHaveCount(1) + ->and($onlyNewCustomers['rows'][0]['abo_count'])->toBe(1); +}); diff --git a/tests/Feature/BackofficeStatisticsListsTest.php b/tests/Feature/BackofficeStatisticsListsTest.php index 90048570..7138a14e 100644 --- a/tests/Feature/BackofficeStatisticsListsTest.php +++ b/tests/Feature/BackofficeStatisticsListsTest.php @@ -1,7 +1,11 @@ hasColumn('products', 'slug')) { + Schema::connection('sqlite')->table('products', function ($table) { + $table->string('slug')->nullable(); + }); + } +}); + function bslMakeLevel(string $name, int $pos): UserLevel { return UserLevel::forceCreate([ @@ -52,6 +64,33 @@ function bslMakeAbo(int $userId, string $isFor, string $startDate, int $status = ]); } +function bslMakeAboWithPoints(int $userId, string $isFor, string $startDate, int $points): UserAbo +{ + $abo = bslMakeAbo($userId, $isFor, $startDate); + + $product = Product::forceCreate([ + 'name' => 'BSL-'.uniqid('', true), + 'title' => 'Test', + 'price' => 10.0, + 'tax' => 19.0, + 'active' => true, + 'pos' => 1, + 'weight' => 100, + 'points' => $points, + 'slug' => 'bsl-'.uniqid('', true), + ]); + + UserAboItem::create([ + 'user_abo_id' => $abo->id, + 'product_id' => $product->id, + 'comp' => 0, + 'qty' => 1, + 'status' => 1, + ]); + + return $abo->fresh(); +} + it('rankt neue Kundenabos pro Berater absteigend inklusive Linie', function (): void { $root = bslMakeUser(); $anna = bslMakeUser($root->id); @@ -121,3 +160,276 @@ it('liefert eine leere Fuehrungskraefte-Liste, wenn die Stufe Vertriebsleiter ni expect($overview['leader_abos']['total'])->toBe(0) ->and($overview['leader_abos']['rows'])->toBe([]); }); + +it('ergaenzt die Fuehrungskraefte-Liste um Teamzahlen mit Abschneiden an der naechsten Fuehrungskraft', function (): void { + $berater = bslMakeLevel('Berater', 3); + $vertriebsleiter = bslMakeLevel('Vertriebsleiter', 6); + + $root = bslMakeUser(); + $leaderA = bslMakeUser($root->id, $vertriebsleiter->id); + $member1 = bslMakeUser($leaderA->id, $berater->id); + $leaderB = bslMakeUser($member1->id, $vertriebsleiter->id); + $member2 = bslMakeUser($leaderB->id, $berater->id); + + bslMakeAbo($leaderA->id, 'me', '2026-06-01'); // eigenes Abo Leader A + bslMakeAbo($member1->id, 'me', '2026-06-01'); // Teamabo von A + bslMakeAbo($member1->id, 'ot', '2026-06-01'); // Team-Kundenabo von A + bslMakeAbo($leaderB->id, 'ot', '2026-06-01'); // eigenes Kundenabo Leader B + bslMakeAbo($member2->id, 'me', '2026-06-01'); // Teamabo von B, zaehlt NICHT bei A + + $overview = app(BackofficeDashboardService::class)->overview($root, 6, 2026); + $leaderAbos = $overview['leader_abos']; + $rows = collect($leaderAbos['rows'])->keyBy('user_id'); + + $a = $rows->get($leaderA->id); + $b = $rows->get($leaderB->id); + + expect($a['own_abo_count'])->toBe(1) + ->and($a['customer_abo_count'])->toBe(0) + ->and($a['team_abo_count'])->toBe(1) + ->and($a['team_customer_abo_count'])->toBe(1) + ->and($a['total_abo_count'])->toBe(3) + ->and($b['own_abo_count'])->toBe(0) + ->and($b['customer_abo_count'])->toBe(1) + ->and($b['team_abo_count'])->toBe(1) + ->and($b['team_customer_abo_count'])->toBe(0) + ->and($b['total_abo_count'])->toBe(2); + + expect($leaderAbos['total_own'])->toBe(1) + ->and($leaderAbos['total_customer'])->toBe(1) + ->and($leaderAbos['total_team'])->toBe(2) + ->and($leaderAbos['total_team_customer'])->toBe(1) + ->and($leaderAbos['total'])->toBe(5); + + // Sortierung nach Gesamtsumme: Leader A (3) vor Leader B (2) + expect($leaderAbos['rows'][0]['user_id'])->toBe($leaderA->id); +}); + +it('liefert Top-10-Kundenabo-Ranglisten nach Anzahl und Umsatz mit Soll und Ist', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + $lena = bslMakeUser($root->id); + + bslMakeAboWithPoints($anna->id, 'ot', '2026-06-01', 20); + bslMakeAboWithPoints($anna->id, 'ot', '2026-05-01', 30); + bslMakeAboWithPoints($lena->id, 'ot', '2026-04-01', 80); + bslMakeAbo($lena->id, 'me', '2026-06-01'); // Eigenabo zaehlt nicht + + // Ist-Umsatz: im Juni abgerechnete Kundenabo-Punkte fuer Lena + $order = ShoppingOrder::forceCreate([ + 'shopping_user_id' => 0, + 'auth_user_id' => $lena->id, + 'country_id' => 0, + 'user_shop_id' => 0, + 'is_abo' => true, + 'paid' => true, + ]); + UserSalesVolume::forceCreate([ + 'user_id' => $lena->id, + 'shopping_order_id' => $order->id, + 'month' => 6, + 'year' => 2026, + 'points' => 80, + 'status' => 2, + ]); + + $overview = app(BackofficeDashboardService::class)->overview($root, 6, 2026); + $top = $overview['top_customer_abos']; + + expect($top['by_count'])->toHaveCount(2) + ->and($top['by_count'][0]['user_id'])->toBe($anna->id) + ->and($top['by_count'][0]['abo_count'])->toBe(2) + ->and($top['by_count'][1]['user_id'])->toBe($lena->id) + ->and($top['by_count'][1]['abo_count'])->toBe(1); + + expect($top['by_points'][0]['user_id'])->toBe($lena->id) + ->and($top['by_points'][0]['points_target'])->toBe(80.0) + ->and($top['by_points'][0]['points_actual'])->toBe(80.0) + ->and($top['by_points'][1]['user_id'])->toBe($anna->id) + ->and($top['by_points'][1]['points_target'])->toBe(50.0) + ->and($top['by_points'][1]['points_actual'])->toBe(0.0); +}); + +it('ueberlagert Snapshot-Monate mit tagesaktuellen Abo-Bestandszahlen', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + + $abo = bslMakeAbo($anna->id, 'me', '2026-05-15'); + + $service = app(BackofficeDashboardService::class); + $service->storeSnapshot($root, 5, 2026); + + // Nach dem Snapshot: Teamabo gekuendigt, neues Kundenabo dazugekommen + $abo->update(['status' => 4, 'active' => false]); + bslMakeAbo($anna->id, 'ot', '2026-07-01'); + + $overview = $service->overview($root, 5, 2026); + + expect($overview['_meta']['source'])->toBe('snapshot') + ->and($overview['abo_stock_live'])->toBeTrue() + ->and($overview['lines'][1]['team_partner_abos'])->toBe(0) // Bestand: live + ->and($overview['lines'][1]['team_customer_abos'])->toBe(1) // Bestand: live + ->and($overview['lines'][1]['team_partner_abos_new'])->toBe(1) // "+N neu" im Mai: eingefroren + ->and($overview['totals']['team_partner_abos'])->toBe(0) + ->and($overview['totals']['team_customer_abos'])->toBe(1); +}); + +it('ergaenzt beim Snapshot-Overlay Linien, die erst nach dem Snapshot entstanden sind', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + + bslMakeAbo($anna->id, 'me', '2026-05-15'); + + $service = app(BackofficeDashboardService::class); + $service->storeSnapshot($root, 5, 2026); + + // Nach dem Snapshot: Team wird tiefer — Linie 2 entsteht und bringt Abo-Bestand mit + $ben = bslMakeUser($anna->id); + bslMakeAbo($ben->id, 'me', '2026-07-01'); + bslMakeAbo($ben->id, 'ot', '2026-07-02'); + + $overview = $service->overview($root, 5, 2026); + + expect($overview['_meta']['source'])->toBe('snapshot') + ->and($overview['lines'])->toHaveKey(2) + ->and($overview['lines'][2]['team_partner_abos'])->toBe(1) + ->and($overview['lines'][2]['team_customer_abos'])->toBe(1) + ->and($overview['lines'][2]['team_partner_abos_new'])->toBe(0) // Monatswert: im Snapshot-Monat gab es die Linie nicht + ->and($overview['totals']['team_partner_abos'])->toBe(2) + ->and($overview['totals']['team_customer_abos'])->toBe(1); +}); + +it('nimmt den Statistik-Nutzer selbst in die Kundenabo-Ranglisten auf', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + + bslMakeAboWithPoints($root->id, 'ot', '2026-06-10', 25); + bslMakeAboWithPoints($anna->id, 'ot', '2026-06-05', 15); + + $overview = app(BackofficeDashboardService::class)->overview($root, 6, 2026); + + $newRanking = collect($overview['new_customer_abos'])->keyBy('user_id'); + expect($newRanking->has($root->id))->toBeTrue() + ->and($newRanking->get($root->id)['is_self'])->toBeTrue() + ->and($newRanking->get($root->id)['line'])->toBe(0) + ->and($newRanking->get($anna->id)['is_self'])->toBeFalse(); + + $byCount = collect($overview['top_customer_abos']['by_count'])->keyBy('user_id'); + expect($byCount->has($root->id))->toBeTrue() + ->and($byCount->get($root->id)['is_self'])->toBeTrue(); + + $byPoints = collect($overview['top_customer_abos']['by_points'])->keyBy('user_id'); + expect($byPoints->has($root->id))->toBeTrue() + ->and($byPoints->get($root->id)['points_target'])->toBe(25.0); +}); + +it('sortiert die Top-10-Umsatzliste nach abgerechneten Ist-Punkten und liefert die Abo-Anzahl mit', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); // hoher Bestand, nichts abgerechnet + $lena = bslMakeUser($root->id); // kleiner Bestand, viel abgerechnet + + bslMakeAboWithPoints($anna->id, 'ot', '2026-06-01', 100); + bslMakeAboWithPoints($lena->id, 'ot', '2026-06-01', 30); + bslMakeAboWithPoints($lena->id, 'ot', '2026-06-02', 30); + + $order = ShoppingOrder::forceCreate([ + 'shopping_user_id' => 0, + 'auth_user_id' => $lena->id, + 'country_id' => 0, + 'user_shop_id' => 0, + 'is_abo' => true, + 'paid' => true, + ]); + UserSalesVolume::forceCreate([ + 'user_id' => $lena->id, + 'shopping_order_id' => $order->id, + 'month' => 6, + 'year' => 2026, + 'points' => 90, + 'status' => 2, + ]); + + $byPoints = app(BackofficeDashboardService::class)->overview($root, 6, 2026)['top_customer_abos']['by_points']; + + expect($byPoints[0]['user_id'])->toBe($lena->id) + ->and($byPoints[0]['points_actual'])->toBe(90.0) + ->and($byPoints[0]['points_target'])->toBe(60.0) + ->and($byPoints[0]['abo_count'])->toBe(2) + ->and($byPoints[1]['user_id'])->toBe($anna->id) + ->and($byPoints[1]['points_target'])->toBe(100.0) + ->and($byPoints[1]['abo_count'])->toBe(1); +}); + +it('liefert je Fuehrungskraft zusaetzlich die Teamzahlen der kompletten Downline', function (): void { + $berater = bslMakeLevel('Berater', 3); + $vertriebsleiter = bslMakeLevel('Vertriebsleiter', 6); + + $root = bslMakeUser(); + $leaderA = bslMakeUser($root->id, $vertriebsleiter->id); + $member1 = bslMakeUser($leaderA->id, $berater->id); + $leaderB = bslMakeUser($member1->id, $vertriebsleiter->id); + $member2 = bslMakeUser($leaderB->id, $berater->id); + + bslMakeAbo($leaderA->id, 'me', '2026-06-01'); + bslMakeAbo($member1->id, 'me', '2026-06-01'); + bslMakeAbo($member1->id, 'ot', '2026-06-01'); + bslMakeAbo($leaderB->id, 'ot', '2026-06-01'); + bslMakeAbo($member2->id, 'me', '2026-06-01'); // zaehlt bei A nur in der Gesamt-Sicht + + $rows = collect(app(BackofficeDashboardService::class)->overview($root, 6, 2026)['leader_abos']['rows'])->keyBy('user_id'); + $a = $rows->get($leaderA->id); + $b = $rows->get($leaderB->id); + + // Direkt (an Leader B abgeschnitten) bleibt unveraendert additiv + expect($a['team_abo_count'])->toBe(1) + ->and($a['team_customer_abo_count'])->toBe(1) + // Gesamt: komplette Downline inkl. Leader B und dessen Team + ->and($a['team_abo_count_total'])->toBe(2) + ->and($a['team_customer_abo_count_total'])->toBe(2) + ->and($a['total_abo_count_full'])->toBe(5) + ->and($b['team_abo_count_total'])->toBe(1) + ->and($b['total_abo_count_full'])->toBe(2); +}); + +it('summiert Punkte ohne Payline-Wirkung (status_points 2) als eigene Kennzahl', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + + UserSalesVolume::forceCreate([ + 'user_id' => $anna->id, + 'month' => 6, + 'year' => 2026, + 'points' => 200, + 'status' => 5, + 'status_points' => 2, // Neupartner-Einschreibung: nur KP, nicht Payline + ]); + UserSalesVolume::forceCreate([ + 'user_id' => $anna->id, + 'month' => 6, + 'year' => 2026, + 'points' => 150, + 'status' => 1, + 'status_points' => 1, // normale Bestellung: payline-wirksam + ]); + + $overview = app(BackofficeDashboardService::class)->overview($root, 6, 2026); + + expect($overview['non_payline_points'])->toBe(200.0) + ->and($overview['totals']['total_points'])->toBe(350.0); +}); + +it('ignoriert Abo-Punkte geloeschter Produkte im Soll der Top-10-Umsatzliste', function (): void { + $root = bslMakeUser(); + $anna = bslMakeUser($root->id); + + $aboLive = bslMakeAboWithPoints($anna->id, 'ot', '2026-06-01', 40); + $aboDeleted = bslMakeAboWithPoints($anna->id, 'ot', '2026-06-02', 60); + Product::whereKey(UserAboItem::where('user_abo_id', $aboDeleted->id)->value('product_id'))->first()->delete(); + + $overview = app(BackofficeDashboardService::class)->overview($root, 7, 2026); + $byPoints = $overview['top_customer_abos']['by_points']; + + expect($byPoints)->toHaveCount(1) + ->and($byPoints[0]['user_id'])->toBe($anna->id) + ->and($byPoints[0]['points_target'])->toBe(40.0); +}); diff --git a/tests/Feature/BusinessStoreOptimized/AssignMonthlyQualKpBonusPointsTest.php b/tests/Feature/BusinessStoreOptimized/AssignMonthlyQualKpBonusPointsTest.php index c5e71f83..561cf072 100644 --- a/tests/Feature/BusinessStoreOptimized/AssignMonthlyQualKpBonusPointsTest.php +++ b/tests/Feature/BusinessStoreOptimized/AssignMonthlyQualKpBonusPointsTest.php @@ -4,15 +4,19 @@ use App\Console\Commands\BusinessStoreOptimized; use App\Models\UserLevel; use App\Models\UserSalesVolume; use App\User; +use Illuminate\Console\OutputStyle; use Illuminate\Foundation\Testing\RefreshDatabase; +use Symfony\Component\Console\Input\ArrayInput; +use Symfony\Component\Console\Output\NullOutput; +use Tests\TestCase; -uses(Tests\TestCase::class, RefreshDatabase::class); +uses(TestCase::class, RefreshDatabase::class); function makeCommand(): BusinessStoreOptimized { $command = new BusinessStoreOptimized; - $input = new \Symfony\Component\Console\Input\ArrayInput([]); - $output = new \Illuminate\Console\OutputStyle($input, new \Symfony\Component\Console\Output\NullOutput); + $input = new ArrayInput([]); + $output = new OutputStyle($input, new NullOutput); $command->setOutput($output); return $command; @@ -36,7 +40,7 @@ function makeUserLevel(int $qualKp, int $pos = 7): UserLevel ]); } -function makeUser(int $levelId, ?int $forceId = null): User +function makeLevelUser(int $levelId, ?int $forceId = null): User { $attributes = [ 'email' => fake()->unique()->safeEmail(), @@ -54,7 +58,7 @@ function makeUser(int $levelId, ?int $forceId = null): User it('assigns qual_kp points to user 486 when their level has qual_kp > 0', function () { $level = makeUserLevel(690); - makeUser($level->id, 486); + makeLevelUser($level->id, 486); callAssignMethod(makeCommand()); @@ -69,7 +73,7 @@ it('assigns qual_kp points to user 486 when their level has qual_kp > 0', functi it('does not assign bonus points to users not in the bonus list', function () { $level = makeUserLevel(690); - $otherUser = makeUser($level->id); + $otherUser = makeLevelUser($level->id); callAssignMethod(makeCommand()); @@ -79,7 +83,7 @@ it('does not assign bonus points to users not in the bonus list', function () { it('skips user 486 when their level has qual_kp of zero', function () { $level = makeUserLevel(0); - makeUser($level->id, 486); + makeLevelUser($level->id, 486); callAssignMethod(makeCommand()); @@ -104,7 +108,7 @@ it('skips user 486 when they have no level assigned', function () { it('is idempotent and does not create duplicate entries for the same month', function () { $level = makeUserLevel(690); - makeUser($level->id, 486); + makeLevelUser($level->id, 486); $command = makeCommand(); callAssignMethod($command); diff --git a/tests/Feature/CheckoutVatIdRevalidationTest.php b/tests/Feature/CheckoutVatIdRevalidationTest.php new file mode 100644 index 00000000..c8338df0 --- /dev/null +++ b/tests/Feature/CheckoutVatIdRevalidationTest.php @@ -0,0 +1,147 @@ + 'AT', + 'phone' => '43', + 'en' => 'Austria', + 'de' => 'Österreich', + 'es' => 'Austria', + 'fr' => 'Autriche', + 'it' => 'Austria', + 'ru' => 'Австрия', + 'eu_country' => true, + ]); + + $shipping = Shipping::create(['name' => 'Österreich', 'active' => true]); + $shippingCountry = ShippingCountry::create([ + 'shipping_id' => $shipping->id, + 'country_id' => $country->id, + ]); + + $account = UserAccount::create(array_merge([ + 'first_name' => 'Marlene', + 'last_name' => 'Mathis', + 'country_id' => $country->id, + 'tax_identification_number' => 'ATU64282555', + 'taxable_sales' => 1, + ], $accountOverrides)); + + // reverse_charge* sind nicht fillable -> explizit setzen + $account->forceFill(array_merge([ + 'reverse_charge' => 1, + 'reverse_charge_valid' => now(), + 'reverse_charge_code' => 'AT', + ], array_intersect_key($accountOverrides, array_flip(['reverse_charge', 'reverse_charge_valid', 'reverse_charge_code']))))->save(); + + $user = User::forceCreate([ + 'account_id' => $account->id, + 'email' => 'vat-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + ]); + + return [$user->fresh(), $shippingCountry]; +} + +beforeEach(function () { + UserService::$user_reverse_charge = false; +}); + +it('keeps tax free status when vies is unavailable', function () { + // VIES_ENABLED=false in phpunit.xml -> CHECK_UNAVAILABLE -> gespeicherter Status gilt + [$user, $shippingCountry] = makeVatCheckoutUser(); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeTrue(); + expect(UserService::$user_reverse_charge)->toBeTrue(); + expect($user->account->fresh()->reverse_charge)->toBeTruthy(); +}); + +it('revokes reverse charge for german vat ids', function () { + [$user, $shippingCountry] = makeVatCheckoutUser([ + 'tax_identification_number' => 'DE123456789', + ]); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeFalse(); + expect(UserService::$user_reverse_charge)->toBeFalse(); + + $account = $user->account->fresh(); + expect($account->reverse_charge)->toBeFalsy(); + expect($account->reverse_charge_valid)->toBeNull(); +}); + +it('revokes reverse charge for implausible vat ids', function () { + [$user, $shippingCountry] = makeVatCheckoutUser([ + 'tax_identification_number' => '53618009', + ]); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeFalse(); + expect($user->account->fresh()->reverse_charge)->toBeFalsy(); +}); + +it('revokes reverse charge when vies reports the id as invalid', function () { + [$user, $shippingCountry] = makeVatCheckoutUser(); + + mock(VatIdService::class, function ($mock) { + $mock->shouldReceive('qualifiesForReverseCharge')->andReturn(true); + $mock->shouldReceive('checkViesCached')->andReturn(VatIdService::CHECK_INVALID); + }); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeFalse(); + + $account = $user->account->fresh(); + expect($account->reverse_charge)->toBeFalsy(); + expect($account->reverse_charge_valid)->toBeNull(); + // Die USt-ID selbst bleibt erhalten, damit der User sie neu validieren kann + expect($account->tax_identification_number)->toBe('ATU64282555'); +}); + +it('grants tax free checkout when vies confirms the id', function () { + [$user, $shippingCountry] = makeVatCheckoutUser(); + + mock(VatIdService::class, function ($mock) { + $mock->shouldReceive('qualifiesForReverseCharge')->andReturn(true); + $mock->shouldReceive('checkViesCached')->andReturn(VatIdService::CHECK_VALID); + }); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeTrue(); + expect(UserService::$user_reverse_charge)->toBeTrue(); + expect($user->account->fresh()->reverse_charge)->toBeTruthy(); +}); + +it('does not run vies check when shipping country does not match reverse charge code', function () { + [$user, $shippingCountry] = makeVatCheckoutUser([ + 'reverse_charge_code' => 'ES', + ]); + + $result = UserService::performUserTaxShippingCountry($user, $shippingCountry); + + expect($result)->toBeFalse(); + // Kein Entzug: Der Status bleibt für passende Lieferländer bestehen + expect($user->account->fresh()->reverse_charge)->toBeTruthy(); +}); diff --git a/tests/Feature/DeleteAllKasSubdomainsCommandTest.php b/tests/Feature/DeleteAllKasSubdomainsCommandTest.php deleted file mode 100644 index 57586286..00000000 --- a/tests/Feature/DeleteAllKasSubdomainsCommandTest.php +++ /dev/null @@ -1,109 +0,0 @@ -shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'api.mivita.care', 'subdomain_path' => '/api/public/', 'php_version' => '8.2'], - ['subdomain_name' => 'shop.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/', 'php_version' => '8.2'], - ]); - - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-all-kas', [ - '--list-file' => $listFile, - ])->assertSuccessful(); - - $data = json_decode(file_get_contents($listFile), true); - - expect(file_exists($listFile))->toBeTrue(); - expect($data['count'])->toBe(2); - expect($data['subdomains'])->toHaveCount(2); - expect($data['mode'])->toBe('dry-run'); - - @unlink($listFile); -}); - -it('löscht mit force alle subdomains aus der kas liste ohne datenbankabgleich', function () { - $listFile = sys_get_temp_dir().'/kas-subdomains-force-test-'.uniqid().'.json'; - - $kas = \Mockery::mock(KasController::class); - $kas->shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'api.mivita.care', 'subdomain_path' => '/api/public/'], - ['subdomain_name' => 'preview.mivita.care', 'subdomain_path' => '/preview/public/'], - ['subdomain_name' => 'partner.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ]); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'api.mivita.care']) - ->andReturn('TRUE'); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'partner.mivita.care']) - ->andReturn('TRUE'); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'preview.mivita.care']) - ->andReturn('TRUE'); - - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-all-kas', [ - '--force' => true, - '--list-file' => $listFile, - ])->assertSuccessful(); - - $data = json_decode(file_get_contents($listFile), true); - - expect($data['count'])->toBe(3); - expect($data['mode'])->toBe('delete'); - - @unlink($listFile); -}); - -it('kann optional auf eine hauptdomain und ein limit begrenzen', function () { - $listFile = sys_get_temp_dir().'/kas-subdomains-filter-test-'.uniqid().'.json'; - - $kas = \Mockery::mock(KasController::class); - $kas->shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'a.mivita.care'], - ['subdomain_name' => 'b.mivita.care'], - ['subdomain_name' => 'extern.example.com'], - ]); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'a.mivita.care']) - ->andReturn('TRUE'); - - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-all-kas', [ - '--force' => true, - '--domain' => 'mivita.care', - '--limit' => 1, - '--list-file' => $listFile, - ])->assertSuccessful(); - - $data = json_decode(file_get_contents($listFile), true); - - expect($data['count'])->toBe(1); - expect($data['domain_filter'])->toBe('mivita.care'); - expect($data['subdomains'])->toHaveCount(1); - - @unlink($listFile); -}); diff --git a/tests/Feature/DeletePartnerShopSubdomainsCommandTest.php b/tests/Feature/DeletePartnerShopSubdomainsCommandTest.php deleted file mode 100644 index 72cbbf29..00000000 --- a/tests/Feature/DeletePartnerShopSubdomainsCommandTest.php +++ /dev/null @@ -1,113 +0,0 @@ -increments('id'); - $table->string('email')->unique(); - $table->string('password'); - $table->char('lang', 2)->default('de'); - $table->timestamps(); - $table->softDeletes(); - }); - - Schema::create('user_shops', function (Blueprint $table) { - $table->increments('id'); - $table->unsignedInteger('user_id'); - $table->string('name', 20)->unique(); - $table->string('slug', 40)->unique(); - $table->boolean('active')->default(false); - $table->timestamps(); - $table->softDeletes(); - }); -}); - -afterEach(function () { - Schema::dropIfExists('user_shops'); - Schema::dropIfExists('users'); -}); - -it('führt ohne force nur einen dry run aus', function () { - UserShop::forceCreate([ - 'user_id' => User::forceCreate([ - 'email' => 'partner@example.test', - 'password' => 'secret', - 'lang' => 'de', - ])->id, - 'name' => 'Partner Shop', - 'slug' => 'partner', - 'active' => true, - ]); - - $kas = \Mockery::mock(KasController::class); - $kas->shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'partner.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ]); - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-partnershops')->assertSuccessful(); -}); - -it('löscht passende partnershop subdomains mit force', function () { - UserShop::forceCreate([ - 'user_id' => User::forceCreate([ - 'email' => 'shop@example.test', - 'password' => 'secret', - 'lang' => 'de', - ])->id, - 'name' => 'Shop Eins', - 'slug' => 'shop-eins', - 'active' => true, - ]); - - $kas = \Mockery::mock(KasController::class); - $kas->shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'shop-eins.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ['subdomain_name' => 'api.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ['subdomain_name' => 'extern.mivita.care', 'subdomain_path' => '/andere-app/public/'], - ]); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'shop-eins.mivita.care']) - ->andReturn('TRUE'); - - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-partnershops --force')->assertSuccessful(); -}); - -it('kann verwaiste partnershop subdomains über den kas pfad löschen', function () { - $kas = \Mockery::mock(KasController::class); - $kas->shouldReceive('action') - ->once() - ->with('get_subdomains') - ->andReturn([ - ['subdomain_name' => 'alte-partnerin.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ['subdomain_name' => 'preview.mivita.care', 'subdomain_path' => '/mein.mivita.care/public/'], - ]); - $kas->shouldReceive('action') - ->once() - ->with('delete_subdomain', ['subdomain_name' => 'alte-partnerin.mivita.care']) - ->andReturn('TRUE'); - - $this->app->instance(KasController::class, $kas); - - $this->artisan('subdomains:delete-partnershops --force --include-path-matches')->assertSuccessful(); -}); diff --git a/tests/Feature/GdprDeletionTest.php b/tests/Feature/GdprDeletionTest.php new file mode 100644 index 00000000..061e3d2d --- /dev/null +++ b/tests/Feature/GdprDeletionTest.php @@ -0,0 +1,371 @@ + 'DE', + 'phone' => '49', + 'en' => 'Germany', + 'de' => 'Deutschland', + 'es' => 'Alemania', + 'fr' => 'Allemagne', + 'it' => 'Germania', + 'ru' => 'Германия', + ]); +} + +function gdprConsultant(array $userAttributes = []): User +{ + $account = UserAccount::create([ + 'm_first_name' => 'Max', + 'm_last_name' => 'Mustermann', + 'first_name' => 'Max', + 'last_name' => 'Mustermann', + 'address' => 'Musterstraße 1', + 'zipcode' => '12345', + 'city' => 'Musterstadt', + 'phone' => '123456', + 'mobil' => '987654', + 'tax_number' => '12/345/67890', + 'tax_identification_number' => 'DE123456789', + 'birthday' => '1990-05-01', + 'bank_owner' => 'Max Mustermann', + 'bank_iban' => 'DE02120300000000202051', + 'bank_bic' => 'BYLADEM1001', + 'website' => 'https://example.com', + 'facebook' => 'max.mustermann', + ]); + + $user = User::forceCreate(array_merge([ + 'email' => 'gdpr-user-'.uniqid('', true).'@example.com', + 'password' => Hash::make('secret'), + 'lang' => 'de', + 'account_id' => $account->id, + 'notes' => 'Interne Notiz', + ], $userAttributes)); + + return $user->fresh(); +} + +it('anonymisiert alle Stammdaten eines Beraters unwiderruflich', function () { + Mail::fake(); + Storage::fake('user'); + Storage::fake('public'); + + $user = gdprConsultant(); + $originalEmail = $user->email; + + Storage::disk('user')->put('uploads/'.$user->id.'/ausweis.pdf', 'pdf-content'); + $file = File::create([ + 'user_id' => $user->id, + 'identifier' => 'id_card', + 'filename' => 'ausweis.pdf', + 'dir' => 'uploads/'.$user->id.'/', + 'original_name' => 'ausweis.pdf', + 'ext' => 'pdf', + 'mine' => 'application/pdf', + 'size' => 11, + ]); + + DB::table('user_update_emails')->insert([ + 'user_id' => $user->id, + 'email' => 'neue-mail@example.com', + 'token' => 'token123', + 'created_at' => now(), + ]); + + $abo = UserAbo::create([ + 'user_id' => $user->id, + 'shopping_user_id' => 0, + 'is_for' => 'me', + 'email' => $originalEmail, + 'payone_userid' => 123456, + 'stripe_customer_id' => 'cus_123', + 'stripe_payment_method_id' => 'pm_123', + 'clearingtype' => 'cc', + 'carddata' => ['brand' => 'visa', 'last4' => '4242'], + 'active' => false, + 'status' => 4, + 'abo_interval' => 1, + ]); + + $business = UserBusiness::create([ + 'user_id' => $user->id, + 'month' => 6, + 'year' => 2026, + 'email' => $originalEmail, + 'first_name' => 'Max', + 'last_name' => 'Mustermann', + 'user_birthday' => '01.05.1990', + 'user_phone' => '49 987654', + 'version' => 1, + ]); + + app(GdprDeletionService::class)->deleteUser($user, null); + + $user = User::withTrashed()->find($user->id); + expect($user->deleted_at)->not->toBeNull(); + expect($user->email)->not->toContain($originalEmail); + expect($user->email)->toStartWith('delete-'); + expect($user->notes)->toBeNull(); + expect($user->settings)->toBeNull(); + expect($user->payment_methods)->toBeNull(); + + $account = UserAccount::withTrashed()->find($user->account_id); + expect($account->deleted_at)->not->toBeNull(); + expect($account->first_name)->toBe(GdprDeletionService::ANONYMIZED_FIRSTNAME); + expect($account->last_name)->toBe(GdprDeletionService::ANONYMIZED_LASTNAME); + expect($account->address)->toBeNull(); + expect($account->zipcode)->toBeNull(); + expect($account->city)->toBeNull(); + expect($account->phone)->toBeNull(); + expect($account->mobil)->toBeNull(); + expect($account->tax_number)->toBeNull(); + expect($account->tax_identification_number)->toBeNull(); + expect($account->birthday)->toBe(''); + expect($account->bank_owner)->toBeNull(); + expect($account->bank_iban)->toBeNull(); + expect($account->bank_bic)->toBeNull(); + expect($account->website)->toBeNull(); + expect($account->facebook)->toBeNull(); + + expect(File::find($file->id))->toBeNull(); + Storage::disk('user')->assertMissing('uploads/'.$user->id.'/ausweis.pdf'); + + expect(UserUpdateEmail::where('user_id', $user->id)->count())->toBe(0); + + $abo = UserAbo::withTrashed()->find($abo->id); + expect($abo->email)->toBeNull(); + expect($abo->carddata)->toBeNull(); + expect((int) $abo->payone_userid)->toBe(0); + expect($abo->stripe_customer_id)->toBeNull(); + expect($abo->stripe_payment_method_id)->toBeNull(); + + $business = UserBusiness::find($business->id); + expect($business->email)->toBeNull(); + expect($business->first_name)->toBe(GdprDeletionService::ANONYMIZED_FIRSTNAME); + expect($business->user_birthday)->toBeNull(); + expect($business->user_phone)->toBeNull(); +}); + +it('hängt Downline und Kunden auf den nächsten aktiven Sponsor um', function () { + Mail::fake(); + Storage::fake('user'); + Storage::fake('public'); + + $sponsor = gdprConsultant(['payment_account' => now()->addYear()]); + $user = gdprConsultant(['m_sponsor' => $sponsor->id]); + $child = gdprConsultant(['m_sponsor' => $user->id]); + + $customer = ShoppingUser::create([ + 'auth_user_id' => 0, + 'member_id' => $user->id, + 'billing_email' => 'kunde-'.uniqid('', true).'@example.com', + 'billing_country_id' => gdprCountry()->id, + 'shipping_country_id' => 1, + ]); + + app(GdprDeletionService::class)->deleteUser($user, null); + + expect($child->fresh()->m_sponsor)->toBe($sponsor->id); + expect($customer->fresh()->member_id)->toBe($sponsor->id); +}); + +it('blockiert die Löschung bei aktivem Abo', function () { + Mail::fake(); + + $user = gdprConsultant(); + UserAbo::create([ + 'user_id' => $user->id, + 'shopping_user_id' => 0, + 'is_for' => 'me', + 'email' => $user->email, + 'payone_userid' => 111, + 'clearingtype' => 'cc', + 'active' => true, + 'status' => 2, + 'abo_interval' => 1, + ]); + + app(GdprDeletionService::class)->deleteUser($user, null); +})->throws(GdprDeletionException::class); + +it('blockiert die Löschung von Admin-Accounts', function () { + Mail::fake(); + + $user = gdprConsultant(['admin' => 2]); + + app(GdprDeletionService::class)->deleteUser($user, null); +})->throws(GdprDeletionException::class); + +it('anonymisiert einen Endkunden ohne Bestellungen vollständig, inkl. aller Einträge derselben Kundennummer', function () { + Mail::fake(); + + $country = gdprCountry(); + $rowOne = ShoppingUser::create([ + 'auth_user_id' => 0, + 'number' => 4711, + 'billing_salutation' => 'Frau', + 'billing_firstname' => 'Erika', + 'billing_lastname' => 'Musterfrau', + 'billing_address' => 'Beispielweg 2', + 'billing_zipcode' => '54321', + 'billing_city' => 'Beispielstadt', + 'billing_phone' => '0123', + 'billing_email' => 'erika@example.com', + 'billing_country_id' => $country->id, + 'shipping_country_id' => $country->id, + 'remarks' => 'Bitte klingeln', + 'subscribed' => true, + ]); + $rowTwo = ShoppingUser::create([ + 'auth_user_id' => 0, + 'number' => 4711, + 'billing_firstname' => 'Erika', + 'billing_lastname' => 'Musterfrau', + 'billing_email' => 'erika@example.com', + 'billing_country_id' => $country->id, + 'shipping_country_id' => $country->id, + ]); + + app(GdprDeletionService::class)->deleteShoppingUser($rowOne, null); + + foreach ([$rowOne, $rowTwo] as $row) { + $row = $row->fresh(); + expect($row->billing_firstname)->toBe(GdprDeletionService::ANONYMIZED_FIRSTNAME); + expect($row->billing_lastname)->toBe(GdprDeletionService::ANONYMIZED_LASTNAME); + expect($row->billing_address)->toBeNull(); + expect($row->billing_zipcode)->toBeNull(); + expect($row->billing_city)->toBeNull(); + expect($row->billing_phone)->toBeNull(); + expect($row->billing_email)->not->toContain('erika@example.com'); + expect($row->remarks)->toBe(''); + expect($row->subscribed)->toBeFalse(); + expect($row->faker_mail)->toBeTrue(); + } +}); + +it('behält bei Endkunden mit Bestellung Name und Rechnungsadresse, entfernt aber alle Kontaktdaten', function () { + Mail::fake(); + + $country = gdprCountry(); + + $shopOwner = User::forceCreate([ + 'email' => 'shop-owner-'.uniqid('', true).'@example.com', + 'password' => Hash::make('secret'), + 'lang' => 'de', + ]); + $userShop = UserShop::create([ + 'user_id' => $shopOwner->id, + 'name' => 'TS'.substr(uniqid('', true), 0, 8), + 'slug' => 'ts-'.uniqid(), + 'active' => true, + ]); + + $customer = ShoppingUser::create([ + 'auth_user_id' => 0, + 'number' => 4712, + 'billing_firstname' => 'Erika', + 'billing_lastname' => 'Musterfrau', + 'billing_address' => 'Beispielweg 2', + 'billing_zipcode' => '54321', + 'billing_city' => 'Beispielstadt', + 'billing_phone' => '0123', + 'billing_email' => 'erika@example.com', + 'billing_country_id' => $country->id, + 'shipping_country_id' => $country->id, + 'remarks' => 'Bitte klingeln', + 'subscribed' => true, + ]); + + ShoppingOrder::create([ + 'shopping_user_id' => $customer->id, + 'auth_user_id' => 0, + 'country_id' => $country->id, + 'user_shop_id' => $userShop->id, + 'payment_for' => 6, + 'total' => 100, + 'subtotal' => 90, + ]); + + app(GdprDeletionService::class)->deleteShoppingUser($customer, null); + + $customer = $customer->fresh(); + expect($customer->billing_firstname)->toBe('Erika'); + expect($customer->billing_lastname)->toBe('Musterfrau'); + expect($customer->billing_address)->toBe('Beispielweg 2'); + expect($customer->billing_city)->toBe('Beispielstadt'); + expect($customer->billing_phone)->toBeNull(); + expect($customer->billing_email)->not->toContain('erika@example.com'); + expect($customer->remarks)->toBe(''); + expect($customer->subscribed)->toBeFalse(); + expect($customer->faker_mail)->toBeTrue(); +}); + +it('lehnt die Endkunden-Löschung für Berater-Datensätze ab', function () { + Mail::fake(); + + $user = gdprConsultant(); + $customer = ShoppingUser::create([ + 'auth_user_id' => $user->id, + 'billing_email' => $user->email, + 'billing_country_id' => gdprCountry()->id, + 'shipping_country_id' => 1, + ]); + + app(GdprDeletionService::class)->deleteShoppingUser($customer, null); +})->throws(GdprDeletionException::class); + +it('entfernt Zahlungs-Tokens der Abos eines Endkunden', function () { + Mail::fake(); + + $country = gdprCountry(); + $customer = ShoppingUser::create([ + 'auth_user_id' => 0, + 'number' => 4713, + 'billing_firstname' => 'Erika', + 'billing_lastname' => 'Musterfrau', + 'billing_email' => 'erika-abo@example.com', + 'billing_country_id' => $country->id, + 'shipping_country_id' => $country->id, + ]); + + $abo = UserAbo::create([ + 'shopping_user_id' => $customer->id, + 'is_for' => 'ot', + 'email' => 'erika-abo@example.com', + 'payone_userid' => 999, + 'clearingtype' => 'cc', + 'carddata' => ['brand' => 'visa', 'last4' => '4242'], + 'active' => false, + 'status' => 6, + 'abo_interval' => 1, + ]); + + app(GdprDeletionService::class)->deleteShoppingUser($customer, null); + + $abo = UserAbo::withTrashed()->find($abo->id); + expect($abo->email)->toBeNull(); + expect($abo->carddata)->toBeNull(); + expect((int) $abo->payone_userid)->toBe(0); +}); diff --git a/tests/Feature/Incentive/IncentiveRankingTest.php b/tests/Feature/Incentive/IncentiveRankingTest.php new file mode 100644 index 00000000..8ea69241 --- /dev/null +++ b/tests/Feature/Incentive/IncentiveRankingTest.php @@ -0,0 +1,134 @@ + User::forceCreate([ + 'email' => 'rank-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', +]); + +it('vergibt Raenge zuerst an Qualifizierte, dann nach Punkten', function () use ($makeIncentiveRankingUser) { + $incentive = Incentive::factory()->create(['max_winners' => 2]); + + $notQualifiedTopPoints = IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'is_qualified' => false, + 'total_points' => 5000, + ]); + $qualifiedMidPoints = IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 900, + ]); + $qualifiedLowPoints = IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 400, + ]); + $zeroPoints = IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 0, + 'rank' => 7, + ]); + + IncentiveTracker::updateRanking($incentive); + + expect($qualifiedMidPoints->refresh()->rank)->toBe(1) + ->and($qualifiedLowPoints->refresh()->rank)->toBe(2) + ->and($notQualifiedTopPoints->refresh()->rank)->toBe(3) + ->and($zeroPoints->refresh()->rank)->toBeNull(); +}); + +it('macht Qualifizierte mit gespeichertem Rang innerhalb max_winners zu Gewinnern', function () use ($makeIncentiveRankingUser) { + $incentive = Incentive::factory()->create(['max_winners' => 2]); + + $notQualifiedTopPoints = IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'is_qualified' => false, + 'total_points' => 5000, + ]); + $qualifiedA = IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 900, + ]); + $qualifiedB = IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 400, + ]); + + IncentiveTracker::updateRanking($incentive); + + expect($qualifiedA->refresh()->isWinner())->toBeTrue() + ->and($qualifiedB->refresh()->isWinner())->toBeTrue() + ->and($notQualifiedTopPoints->refresh()->isWinner())->toBeFalse(); +}); + +it('sortiert bei Punktgleichstand bestaetigte Teilnehmer vor anonymen', function () use ($makeIncentiveRankingUser) { + $incentive = Incentive::factory()->create(); + + $anonymous = IncentiveParticipant::factory()->unconfirmed()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 500, + ]); + $confirmed = IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'accepted_terms_at' => now(), + 'total_points' => 500, + ]); + + IncentiveTracker::updateRanking($incentive); + + expect($confirmed->refresh()->rank)->toBe(1) + ->and($anonymous->refresh()->rank)->toBe(2); +}); + +it('stimmt mit der Leaderboard-Anzeigereihenfolge ueberein', function () use ($makeIncentiveRankingUser) { + $incentive = Incentive::factory()->create(); + + IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'is_qualified' => false, + 'total_points' => 5000, + ]); + IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 900, + ]); + IncentiveParticipant::factory()->qualified()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'total_points' => 400, + ]); + IncentiveParticipant::factory()->create([ + 'incentive_id' => $incentive->id, + 'user_id' => $makeIncentiveRankingUser()->id, + 'is_qualified' => false, + 'total_points' => 200, + ]); + + IncentiveTracker::updateRanking($incentive); + + $displayOrder = IncentiveParticipant::query() + ->where('incentive_id', $incentive->id) + ->orderByIncentiveLeaderboard() + ->pluck('rank') + ->all(); + + expect($displayOrder)->toBe([1, 2, 3, 4]); +}); diff --git a/tests/Feature/LiveCommissionServiceTest.php b/tests/Feature/LiveCommissionServiceTest.php new file mode 100644 index 00000000..29228acf --- /dev/null +++ b/tests/Feature/LiveCommissionServiceTest.php @@ -0,0 +1,151 @@ + 'lcs-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'payment_account' => now()->addYear(), + ]); +} + +it('liefert die gespeicherte Provision, wenn der Monats-Batch bereits gelaufen ist', function (): void { + $user = lcsMakeUser(); + + UserBusiness::forceCreate([ + 'user_id' => $user->id, + 'month' => 6, + 'year' => 2026, + 'version' => 2, + 'commission_pp_total' => 120.50, + 'commission_shop_sales' => 30.25, + 'commission_growth_total' => 10.00, + ]); + + $commission = app(LiveCommissionService::class)->commission($user, 6, 2026); + + expect($commission['total'])->toBe(160.75) + ->and($commission['pp'])->toBe(120.5) + ->and($commission['shop'])->toBe(30.25) + ->and($commission['growth'])->toBe(10.0) + ->and($commission['is_live'])->toBeFalse(); +}); + +it('berechnet den Live-Snapshot ueber den gemeinsamen Lauf und cached ihn', function (): void { + $user = lcsMakeUser(); + + $snapshot = app(LiveCommissionService::class)->snapshot($user, 7, 2026); + + expect($snapshot['is_live'])->toBeTrue() + ->and($snapshot['failed'])->toBeFalse() + ->and($snapshot['payline_points'])->toBe(0.0) + ->and($snapshot['paylines'])->toBe(0) + ->and(Cache::has("live_business_{$user->id}_7_2026"))->toBeTrue(); +}); + +it('faellt bei fehlschlagender Live-Berechnung auf Null-Werte zurueck und cached den Fehler nicht', function (): void { + $user = lcsMakeUser(); + + // Deterministischer Fehler: ohne user_levels bricht der Baum-Lauf ab + Schema::drop('user_levels'); + + $commission = app(LiveCommissionService::class)->commission($user, 7, 2026); + + expect($commission['total'])->toBe(0.0) + ->and($commission['is_live'])->toBeTrue() + ->and(Cache::has("live_business_{$user->id}_7_2026"))->toBeFalse(); +}); + +it('cached die Live-Provision fuer Folgeaufrufe', function (): void { + $user = lcsMakeUser(); + + Cache::put( + "live_business_{$user->id}_7_2026", + ['payline_points' => 12.5, 'paylines' => 2, 'pp' => 99.0, 'shop' => 0.0, 'growth' => 0.0, 'is_live' => true, 'failed' => false], + now()->addHour() + ); + + $commission = app(LiveCommissionService::class)->commission($user, 7, 2026); + $snapshot = app(LiveCommissionService::class)->snapshot($user, 7, 2026); + + expect($commission['total'])->toBe(99.0) + ->and($commission['is_live'])->toBeTrue() + ->and($snapshot['payline_points'])->toBe(12.5) + ->and($snapshot['paylines'])->toBe(2); +}); + +it('liefert Payline-Punkte und Payline-Tiefe aus dem UserBusiness-Snapshot', function (): void { + $user = lcsMakeUser(); + + UserBusiness::forceCreate([ + 'user_id' => $user->id, + 'month' => 6, + 'year' => 2026, + 'version' => 2, + 'payline_points' => 350.5, + 'qual_user_level' => ['paylines' => 3], + 'commission_pp_total' => 10.0, + 'commission_shop_sales' => 0.0, + 'commission_growth_total' => 0.0, + ]); + + $snapshot = app(LiveCommissionService::class)->snapshot($user, 6, 2026); + + expect($snapshot['payline_points'])->toBe(350.5) + ->and($snapshot['paylines'])->toBe(3) + ->and($snapshot['is_live'])->toBeFalse(); +}); + +it('rendert die Provisions-Kachel auf der Monatsstatistik-Card', function (): void { + URL::resolveMissingNamedRoutesUsing(fn (string $name, $parameters = []) => '/'.$name); + + $html = view('dashboard._statistics', [ + 'monthlyStats' => [ + 'month' => 7, + 'year' => 2026, + 'customer_points' => 100.0, + 'team_payline_points' => 400.0, + 'payline_is_live' => true, + 'payline_forecast' => null, + 'commission' => ['total' => 160.75, 'pp' => 120.5, 'shop' => 30.25, 'growth' => 10.0, 'is_live' => true], + 'direct_new_partners' => 0, + 'team_total_abos' => 0, + 'team_partner_abos' => 0, + 'team_partner_abos_new' => 0, + 'team_customer_abos' => 0, + 'team_customer_abos_new' => 0, + 'shop_1000' => 0, + 'new_partners' => 0, + 'own_abos' => 0, + 'own_abos_new' => 0, + 'own_customer_abos' => 0, + 'own_customer_abos_new' => 0, + ], + ])->render(); + + expect($html) + ->toContain(__('home.commission_today')) + ->toContain('160,75 €'); +}); diff --git a/tests/Feature/PaylineForecastServiceTest.php b/tests/Feature/PaylineForecastServiceTest.php new file mode 100644 index 00000000..e150e977 --- /dev/null +++ b/tests/Feature/PaylineForecastServiceTest.php @@ -0,0 +1,254 @@ +hasColumn('products', 'slug')) { + Schema::connection('sqlite')->table('products', function ($table) { + $table->string('slug')->nullable(); + }); + } +}); + +afterEach(function () { + Carbon::setTestNow(); +}); + +function pflMakeUser(?int $sponsorId = null): User +{ + return User::forceCreate([ + 'email' => 'pfl-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + 'm_level' => 1, + 'm_sponsor' => $sponsorId, + 'payment_account' => now()->addYear(), + ]); +} + +function pflMakeAbo(int $userId, string $isFor, string $nextDate, int $points, int $status = 2): UserAbo +{ + $abo = UserAbo::create([ + 'user_id' => $userId, + 'member_id' => $userId, + 'shopping_user_id' => 0, + 'email' => 'pfl-abo-'.uniqid('', true).'@example.com', + 'is_for' => $isFor, + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'amount' => 5000, + 'active' => $status === 2, + 'status' => $status, + 'abo_interval' => (int) Carbon::parse($nextDate)->day, + 'start_date' => '2026-01-05', + 'last_date' => '2026-06-05', + 'next_date' => $nextDate, + ]); + + $product = Product::forceCreate([ + 'name' => 'PFL-'.uniqid('', true), + 'title' => 'Test', + 'price' => 10.0, + 'tax' => 19.0, + 'active' => true, + 'pos' => 1, + 'weight' => 100, + 'points' => $points, + 'slug' => 'pfl-'.uniqid('', true), + ]); + + UserAboItem::create([ + 'user_abo_id' => $abo->id, + 'product_id' => $product->id, + 'comp' => 0, + 'qty' => 1, + 'status' => 1, + ]); + + return $abo->fresh(); +} + +function pflSeedContext(User $user, array $memberIds, int $paylines = 2): void +{ + Cache::put( + "payline_context_{$user->id}_".now()->month.'_'.now()->year, + ['paylines' => $paylines, 'member_ids' => $memberIds], + now()->addHour() + ); +} + +it('berechnet die Prognose kumuliert je Ausfuehrungstermin inklusive eigener Abos', function (): void { + $root = pflMakeUser(); + $anna = pflMakeUser($root->id); + $fremd = pflMakeUser(); + + pflSeedContext($root, [$anna->id]); + + pflMakeAbo($anna->id, 'ot', '2026-07-05', 20); // Payline-Kundenabo zum 5. + pflMakeAbo($root->id, 'me', '2026-07-10', 30); // eigenes Abo (F12: zaehlt mit) + pflMakeAbo($anna->id, 'me', '2026-07-25', 10); // Payline-Beraterabo zum 25. + pflMakeAbo($fremd->id, 'me', '2026-07-10', 99); // ausserhalb der Payline + pflMakeAbo($anna->id, 'ot', '2026-08-05', 50); // naechster Monat, zaehlt nicht + pflMakeAbo($anna->id, 'ot', '2026-07-20', 40, 3); // angehalten, zaehlt nicht + + $forecast = app(PaylineForecastService::class)->forecastDays($root, 100.0); + + expect($forecast['base'])->toBe(100.0) + ->and($forecast['days'])->toHaveCount(4) + ->and($forecast['days'][0])->toMatchArray(['day' => 5, 'upcoming' => 20.0, 'total' => 120.0, 'is_past' => false]) + ->and($forecast['days'][1])->toMatchArray(['day' => 10, 'upcoming' => 50.0, 'total' => 150.0]) + ->and($forecast['days'][2])->toMatchArray(['day' => 20, 'upcoming' => 50.0, 'total' => 150.0]) + ->and($forecast['days'][3])->toMatchArray(['day' => 25, 'upcoming' => 60.0, 'total' => 160.0]); +}); + +it('markiert vergangene Termine und zaehlt nur noch offene Ausfuehrungen', function (): void { + Carbon::setTestNow(Carbon::parse('2026-07-22')); + + $root = pflMakeUser(); + $anna = pflMakeUser($root->id); + pflSeedContext($root, [$anna->id]); + + pflMakeAbo($anna->id, 'ot', '2026-07-25', 20); // noch offen + pflMakeAbo($anna->id, 'me', '2026-08-05', 30); // bereits fortgeschrieben (naechster Monat) + + $forecast = app(PaylineForecastService::class)->forecastDays($root, 100.0); + + expect($forecast['days'][0])->toMatchArray(['day' => 5, 'upcoming' => 0.0, 'is_past' => true]) + ->and($forecast['days'][2])->toMatchArray(['day' => 20, 'upcoming' => 0.0, 'is_past' => true]) + ->and($forecast['days'][3])->toMatchArray(['day' => 25, 'upcoming' => 20.0, 'total' => 120.0, 'is_past' => false]); +}); + +it('liefert Soll und Ist des Payline-Abo-Umsatzes', function (): void { + $root = pflMakeUser(); + $anna = pflMakeUser($root->id); + $fremd = pflMakeUser(); + + pflSeedContext($root, [$anna->id]); + + pflMakeAbo($anna->id, 'me', '2026-07-10', 20); // Soll 20 + pflMakeAbo($anna->id, 'ot', '2026-07-25', 30); // Soll 30 + pflMakeAbo($anna->id, 'ot', '2026-07-25', 40, 4); // gekuendigt, kein Soll + pflMakeAbo($fremd->id, 'me', '2026-07-10', 99); // ausserhalb der Payline + + $aboOrder = ShoppingOrder::forceCreate([ + 'shopping_user_id' => 0, + 'auth_user_id' => $anna->id, + 'country_id' => 0, + 'user_shop_id' => 0, + 'is_abo' => true, + 'paid' => true, + ]); + $shopOrder = ShoppingOrder::forceCreate([ + 'shopping_user_id' => 0, + 'auth_user_id' => $anna->id, + 'country_id' => 0, + 'user_shop_id' => 0, + 'is_abo' => false, + 'paid' => true, + ]); + + UserSalesVolume::forceCreate(['user_id' => $anna->id, 'shopping_order_id' => $aboOrder->id, 'month' => 7, 'year' => 2026, 'points' => 25, 'status' => 2]); + UserSalesVolume::forceCreate(['user_id' => $anna->id, 'shopping_order_id' => $shopOrder->id, 'month' => 7, 'year' => 2026, 'points' => 50, 'status' => 2]); // kein Abo + UserSalesVolume::forceCreate(['user_id' => $anna->id, 'shopping_order_id' => $aboOrder->id, 'month' => 6, 'year' => 2026, 'points' => 60, 'status' => 2]); // anderer Monat + + $turnover = app(PaylineForecastService::class)->aboTurnover($root, 7, 2026); + + expect($turnover['paylines'])->toBe(2) + ->and($turnover['members'])->toBe(1) + ->and($turnover['target'])->toBe(50.0) + ->and($turnover['actual'])->toBe(25.0) + ->and($turnover['team_abo_count'])->toBe(1) // nur Annas Eigenabo, nicht der Fremde + ->and($turnover['team_customer_abo_count'])->toBe(1); // gekuendigtes Kundenabo zaehlt nicht +}); + +it('liefert leere Kennzahlen ohne Payline, Prognose enthaelt aber eigene Abos', function (): void { + $root = pflMakeUser(); + pflSeedContext($root, [], 0); + + pflMakeAbo($root->id, 'me', '2026-07-10', 30); + + $turnover = app(PaylineForecastService::class)->aboTurnover($root, 7, 2026); + $forecast = app(PaylineForecastService::class)->forecastDays($root, 10.0); + + expect($turnover['target'])->toBe(0.0) + ->and($turnover['actual'])->toBe(0.0) + ->and($forecast['days'][1])->toMatchArray(['day' => 10, 'upcoming' => 30.0, 'total' => 40.0]); +}); + +it('ermittelt den Payline-Kontext aus dem UserBusiness-Level und den Linien', function (): void { + $root = pflMakeUser(); + $anna = pflMakeUser($root->id); // Linie 1 + $ben = pflMakeUser($anna->id); // Linie 2 + + UserBusiness::forceCreate([ + 'user_id' => $root->id, + 'month' => 7, + 'year' => 2026, + 'version' => 1, + 'qual_user_level' => ['paylines' => 1], + ]); + + $context = app(PaylineForecastService::class)->paylineContext($root, 7, 2026); + + expect($context['paylines'])->toBe(1) + ->and($context['member_ids'])->toBe([$anna->id]) + ->and($context['member_ids'])->not->toContain($ben->id); +}); + +it('rendert die Payline-Prognose auf der Monatsstatistik-Card', function (): void { + URL::resolveMissingNamedRoutesUsing(fn (string $name, $parameters = []) => '/'.$name); + + $html = view('dashboard._statistics', [ + 'monthlyStats' => [ + 'month' => 7, + 'year' => 2026, + 'customer_points' => 100.0, + 'team_payline_points' => 400.0, + 'payline_is_live' => true, + 'payline_forecast' => [ + 'base' => 500.0, + 'days' => [ + ['day' => 5, 'date' => '05.07.2026', 'upcoming' => 0.0, 'total' => 500.0, 'is_past' => true], + ['day' => 10, 'date' => '10.07.2026', 'upcoming' => 30.0, 'total' => 530.0, 'is_past' => false], + ['day' => 20, 'date' => '20.07.2026', 'upcoming' => 30.0, 'total' => 530.0, 'is_past' => false], + ['day' => 25, 'date' => '25.07.2026', 'upcoming' => 60.0, 'total' => 560.0, 'is_past' => false], + ], + ], + 'direct_new_partners' => 0, + 'team_total_abos' => 0, + 'team_partner_abos' => 0, + 'team_partner_abos_new' => 0, + 'team_customer_abos' => 0, + 'team_customer_abos_new' => 0, + 'shop_1000' => 0, + 'new_partners' => 0, + 'own_abos' => 0, + 'own_abos_new' => 0, + 'own_customer_abos' => 0, + 'own_customer_abos_new' => 0, + ], + ])->render(); + + expect($html) + ->toContain(e(__('home.payline_forecast_title'))) + ->toContain(__('home.forecast_day', ['date' => '25.07.2026'])) + ->toContain('560') + ->toContain(__('home.forecast_done')); +}); diff --git a/tests/Feature/TeamAboOverviewTest.php b/tests/Feature/TeamAboOverviewTest.php index cfc093d4..c5aa90e8 100644 --- a/tests/Feature/TeamAboOverviewTest.php +++ b/tests/Feature/TeamAboOverviewTest.php @@ -1,6 +1,7 @@ and($overview['totals']['consultants'])->toBe(1); }); +it('liefert je Ebene abgerechnete Abo-Punkte und die Prognose bis zum letzten Liefertag', function (): void { + Carbon\Carbon::setTestNow('2026-06-10'); + + $root = makeUser(); + $anna = makeUser($root->id); + + // Offene Ausfuehrung bis zum 25.: zaehlt in der Prognose + makeAbo($anna->id, $anna->id, 'me', '2026-05-05', 50)->update(['next_date' => '2026-06-20']); + // Naechste Ausfuehrung erst im Folgemonat: zaehlt nicht + makeAbo($anna->id, $anna->id, 'ot', '2026-05-10', 30)->update(['next_date' => '2026-07-05']); + + // Bereits abgerechnete Abo-Punkte im Juni + $order = ShoppingOrder::forceCreate([ + 'shopping_user_id' => 0, + 'auth_user_id' => $anna->id, + 'country_id' => 0, + 'user_shop_id' => 0, + 'is_abo' => true, + 'paid' => true, + ]); + UserSalesVolume::forceCreate([ + 'user_id' => $anna->id, + 'shopping_order_id' => $order->id, + 'month' => 6, + 'year' => 2026, + 'points' => 30, + 'status' => 2, + ]); + + $overview = app(TeamAboOverviewService::class)->linesOverview($root, 6, 2026); + $line1 = $overview['lines'][1]; + + expect($line1['abo_points_billed'])->toBe(30.0) + ->and($line1['abo_points_expected'])->toBe(80.0) // 30 abgerechnet + 50 offen bis 20.06. + ->and($overview['totals']['abo_points_billed'])->toBe(30.0) + ->and($overview['totals']['abo_points_expected'])->toBe(80.0); + + Carbon\Carbon::setTestNow(); +}); + it('liefert pro Mitglied das Eigen-Abo-Flag und Punkte', function (): void { $root = makeUser(); $anna = makeUser($root->id); diff --git a/tests/Feature/TeamStructureAboBadgesTest.php b/tests/Feature/TeamStructureAboBadgesTest.php new file mode 100644 index 00000000..344869e6 --- /dev/null +++ b/tests/Feature/TeamStructureAboBadgesTest.php @@ -0,0 +1,112 @@ + 'tsab-'.uniqid('', true).'@example.com', + 'password' => bcrypt('secret'), + 'lang' => 'de', + ]); +} + +/** + * @param array $overrides + */ +function tsabMakeAbo(array $overrides = []): UserAbo +{ + return UserAbo::create(array_merge([ + 'user_id' => 0, + 'member_id' => null, + 'shopping_user_id' => 0, + 'email' => 'tsab-abo-'.uniqid('', true).'@example.com', + 'is_for' => 'me', + 'payone_userid' => 0, + 'clearingtype' => 'cc', + 'active' => true, + 'status' => 2, + 'abo_interval' => 5, + 'next_date' => now()->addDays(3), + ], $overrides)); +} + +it('renders own-abo and customer-abo badges for a team partner', function () { + $partner = tsabMakeUser(); + + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'me']); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id]); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id]); + + $renderer = new TreeHtmlRenderer('member'); + $renderer->loadAboBadges([$partner->id]); + $html = $renderer->renderAboBadges($partner->id); + + expect($html)->toContain('badge badge-success') + ->toContain('>A') + ->toContain(e(__('team.badge_own_abo'))) + ->toContain('badge badge-danger') + ->toContain('>(2)') + ->toContain(e(trans_choice('team.badge_customer_abos', 2))); +}); + +it('renders no badges for a team partner without active abos', function () { + $partner = tsabMakeUser(); + + $renderer = new TreeHtmlRenderer('member'); + $renderer->loadAboBadges([$partner->id]); + + expect($renderer->renderAboBadges($partner->id))->toBe(''); +}); + +it('does not count soft-deleted, inactive or terminated abos', function () { + $partner = tsabMakeUser(); + + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'me'])->delete(); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id])->delete(); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id, 'active' => false]); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id, 'status' => 4]); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id, 'status' => 5]); + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id, 'status' => 6]); + + $renderer = new TreeHtmlRenderer('member'); + $renderer->loadAboBadges([$partner->id]); + + expect($renderer->renderAboBadges($partner->id))->toBe(''); +}); + +it('shows only the customer badge when the partner has customer abos but no own abo', function () { + $partner = tsabMakeUser(); + + tsabMakeAbo(['user_id' => $partner->id, 'is_for' => 'ot', 'member_id' => $partner->id]); + + $renderer = new TreeHtmlRenderer('member'); + $renderer->loadAboBadges([$partner->id]); + $html = $renderer->renderAboBadges($partner->id); + + expect($html)->not->toContain('badge badge-success') + ->toContain('badge badge-danger') + ->toContain('>(1)') + ->toContain(e(trans_choice('team.badge_customer_abos', 1))); +}); + +it('does not attribute abos of other users to the team partner', function () { + $partner = tsabMakeUser(); + $other = tsabMakeUser(); + + tsabMakeAbo(['user_id' => $other->id, 'is_for' => 'me']); + tsabMakeAbo(['user_id' => $other->id, 'is_for' => 'ot', 'member_id' => $other->id]); + + $renderer = new TreeHtmlRenderer('member'); + $renderer->loadAboBadges([$partner->id, $other->id]); + + expect($renderer->renderAboBadges($partner->id))->toBe('') + ->and($renderer->renderAboBadges($other->id))->toContain('>A') + ->and($renderer->renderAboBadges($other->id))->toContain('>(1)'); +}); diff --git a/tests/Feature/YardShippingTaxTest.php b/tests/Feature/YardShippingTaxTest.php new file mode 100644 index 00000000..94f7377a --- /dev/null +++ b/tests/Feature/YardShippingTaxTest.php @@ -0,0 +1,63 @@ + 'DE', 'phone' => '49', 'en' => 'Germany', 'de' => 'Deutschland', + 'es' => 'Alemania', 'fr' => 'Allemagne', 'it' => 'Germania', 'ru' => 'Германия', + ]); + $shipping = Shipping::create(['name' => 'Standard', 'active' => true]); + + ShippingPrice::create([ + 'shipping_id' => $shipping->id, 'price' => 19.90, 'price_comp' => 19.90, 'num_comp' => 0, + 'tax_rate' => 19, 'weight_from' => 1, 'weight_to' => 31500, + ]); + + return ShippingCountry::create(['shipping_id' => $shipping->id, 'country_id' => $country->id]); +} + +describe('Yard Versandkosten-Steuer', function () { + beforeEach(function () { + $this->shippingCountry = makeShippingEnvForYardTaxTest(); + }); + + it('berechnet den Netto-Versand und den Steueranteil (brutto minus netto)', function () { + $yard = Yard::instance('test-shipping-tax'); + $yard->destroy(); + $yard->setShippingCountryWithPrice($this->shippingCountry->id); + + $yard->add(1, 'A', 1, 10.0, false, false, ['weight' => 500]); + $yard->reCalculateShippingPrice(); + + expect((float) $yard->getShippingPrice())->toBe(19.90) + ->and($yard->shippingNet(2, '.', ''))->toBe('16.72') + ->and((float) $yard->getYardExtra('shipping_tax'))->toBe(3.18); + + $yard->destroy(); + }); + + it('setzt den Steueranteil bei kostenlosem Versand auf 0', function () { + $yard = Yard::instance('test-shipping-tax'); + $yard->destroy(); + $yard->setShippingCountryWithPrice($this->shippingCountry->id); + + $yard->reCalculateShippingPrice(); + + expect((float) $yard->getShippingPrice())->toBe(0.0) + ->and((float) $yard->getYardExtra('shipping_tax'))->toBe(0.0); + + $yard->destroy(); + }); +}); diff --git a/tests/Unit/Controllers/SiteControllerTemplateGuardTest.php b/tests/Unit/Controllers/SiteControllerTemplateGuardTest.php new file mode 100644 index 00000000..15b7f3e2 --- /dev/null +++ b/tests/Unit/Controllers/SiteControllerTemplateGuardTest.php @@ -0,0 +1,43 @@ +invoke($controller, $template); +} + +it('blocks controller-backed templates in the catch-all route', function (string $template) { + expect(isRenderableTemplate($template))->toBeFalse(); +})->with([ + 'checkout', + 'checkout-final', + 'checkout-is-final', + 'checkout-error', + 'card', + 'kontakt', + 'registrierung', + 'widerruf', +]); + +it('blocks blade partials starting with an underscore', function () { + expect(isRenderableTemplate('_categories'))->toBeFalse(); +}); + +it('blocks templates that do not exist', function () { + expect(isRenderableTemplate('does-not-exist'))->toBeFalse(); +}); + +it('allows plain content templates', function (string $template) { + expect(isRenderableTemplate($template))->toBeTrue(); +})->with([ + 'aloevera', + 'karrierechancen', + 'vorteile', +]); diff --git a/tests/Unit/Incentive/IncentiveTrackerTest.php b/tests/Unit/Incentive/IncentiveTrackerTest.php index e944612c..379cded3 100644 --- a/tests/Unit/Incentive/IncentiveTrackerTest.php +++ b/tests/Unit/Incentive/IncentiveTrackerTest.php @@ -3,34 +3,37 @@ use App\Models\Incentive; use App\Models\IncentiveParticipant; use App\Models\IncentivePointsLog; +use App\Models\UserSalesVolume; use App\Services\Incentive\IncentiveTracker; // === Ranking Logic === -it('ranking logic assigns ranks by total_points descending', function () { - $p1 = new IncentiveParticipant(['total_points' => 1000]); - $p2 = new IncentiveParticipant(['total_points' => 3000]); - $p3 = new IncentiveParticipant(['total_points' => 2000]); +it('ranking logic assigns ranks qualified first, then by total_points descending', function () { + $p1 = new IncentiveParticipant(['total_points' => 3000, 'is_qualified' => false]); + $p2 = new IncentiveParticipant(['total_points' => 1000, 'is_qualified' => true]); + $p3 = new IncentiveParticipant(['total_points' => 2000, 'is_qualified' => true]); // Simulate the ranking logic from IncentiveTracker::updateRanking - $participants = collect([$p1, $p2, $p3])->sortByDesc('total_points')->values(); + $participants = collect([$p1, $p2, $p3]) + ->sortByDesc(fn (IncentiveParticipant $p) => [$p->is_qualified, $p->total_points]) + ->values(); $rank = 1; foreach ($participants as $p) { $p->rank = $rank; $rank++; } - expect($p2->rank)->toBe(1) - ->and($p3->rank)->toBe(2) + expect($p3->rank)->toBe(1) + ->and($p2->rank)->toBe(2) ->and($p1->rank)->toBe(3); }); // === Determine Log Type === it('determines abo type for shop orders', function () { - $method = new ReflectionMethod(IncentiveTracker::class, 'determineLogType'); + $method = new ReflectionMethod(IncentiveParticipant::class, 'determineLogType'); - $usv = new \App\Models\UserSalesVolume([ + $usv = new UserSalesVolume([ 'status_turnover' => 2, 'status_points' => 1, ]); @@ -39,9 +42,9 @@ it('determines abo type for shop orders', function () { }); it('determines abo type for customer-only points', function () { - $method = new ReflectionMethod(IncentiveTracker::class, 'determineLogType'); + $method = new ReflectionMethod(IncentiveParticipant::class, 'determineLogType'); - $usv = new \App\Models\UserSalesVolume([ + $usv = new UserSalesVolume([ 'status_turnover' => 1, 'status_points' => 2, ]); @@ -50,9 +53,9 @@ it('determines abo type for customer-only points', function () { }); it('determines partner type for advisor orders', function () { - $method = new ReflectionMethod(IncentiveTracker::class, 'determineLogType'); + $method = new ReflectionMethod(IncentiveParticipant::class, 'determineLogType'); - $usv = new \App\Models\UserSalesVolume([ + $usv = new UserSalesVolume([ 'status_turnover' => 1, 'status_points' => 1, ]); diff --git a/tests/Unit/Services/BackofficeDashboardServiceTest.php b/tests/Unit/Services/BackofficeDashboardServiceTest.php index cfe6cefd..acb134b7 100644 --- a/tests/Unit/Services/BackofficeDashboardServiceTest.php +++ b/tests/Unit/Services/BackofficeDashboardServiceTest.php @@ -18,6 +18,7 @@ beforeEach(function () { Schema::dropIfExists('backoffice_statistics_snapshots'); Schema::dropIfExists('user_abo_orders'); Schema::dropIfExists('user_abo_items'); + Schema::dropIfExists('products'); Schema::dropIfExists('user_abos'); Schema::dropIfExists('payment_transactions'); Schema::dropIfExists('shopping_payments'); @@ -80,6 +81,13 @@ beforeEach(function () { $table->timestamps(); }); + Schema::create('products', function ($table) { + $table->increments('id'); + $table->decimal('points', 8, 2)->default(0); + $table->timestamps(); + $table->softDeletes(); + }); + Schema::create('user_abo_orders', function ($table) { $table->increments('id'); $table->unsignedInteger('user_abo_id'); diff --git a/tests/Unit/Services/DatevExportServiceTest.php b/tests/Unit/Services/DatevExportServiceTest.php index 6eaae9d1..ab506b76 100644 --- a/tests/Unit/Services/DatevExportServiceTest.php +++ b/tests/Unit/Services/DatevExportServiceTest.php @@ -60,7 +60,7 @@ class DatevExportServiceTest extends TestCase } /** @test */ - public function it_maps_eu_with_ustid_to_account_8125_bu_1() + public function it_maps_eu_sold_tax_free_to_account_8125_bu_1() { $method = new \ReflectionMethod(DatevExportService::class, 'determineRevenueAccount'); $method->setAccessible(true); @@ -72,7 +72,7 @@ class DatevExportServiceTest extends TestCase } /** @test */ - public function it_maps_eu_without_ustid_to_domestic_19_percent() + public function it_maps_eu_sold_with_tax_to_domestic_19_percent() { $method = new \ReflectionMethod(DatevExportService::class, 'determineRevenueAccount'); $method->setAccessible(true); @@ -84,7 +84,7 @@ class DatevExportServiceTest extends TestCase } /** @test */ - public function it_maps_eu_without_ustid_7_percent_to_domestic_7() + public function it_maps_eu_sold_with_tax_7_percent_to_domestic_7() { $method = new \ReflectionMethod(DatevExportService::class, 'determineRevenueAccount'); $method->setAccessible(true); @@ -184,6 +184,71 @@ class DatevExportServiceTest extends TestCase $this->assertEquals('normal', $result); } + /** @test */ + public function credit_taxable_snapshot_takes_priority_over_current_account() + { + $method = new \ReflectionMethod(DatevExportService::class, 'determineCommissionTaxStatus'); + $method->setAccessible(true); + + // Account ist heute USt-pflichtig, aber die Gutschrift wurde als + // Kleinunternehmer ausgestellt -> Beleg zählt + $account = new \stdClass; + $account->reverse_charge = false; + $account->taxable_sales = 1; + + $credit = new \stdClass; + $credit->taxable = 2; + + $this->assertEquals('kleinunternehmer', $method->invoke($this->service, $account, $credit)); + + // Umgekehrt: Account heute Kleinunternehmer, Beleg mit USt ausgestellt + $account->taxable_sales = 2; + $credit->taxable = 1; + + $this->assertEquals('normal', $method->invoke($this->service, $account, $credit)); + } + + /** @test */ + public function credit_taxable_3_maps_to_reverse_charge_for_eu_account() + { + $method = new \ReflectionMethod(DatevExportService::class, 'determineCommissionTaxStatus'); + $method->setAccessible(true); + + $country = new \stdClass; + $country->eu_country = true; + + $account = new \stdClass; + $account->reverse_charge = false; + $account->taxable_sales = 1; + $account->country = $country; + + $credit = new \stdClass; + $credit->taxable = 3; + + $this->assertEquals('reverse_charge', $method->invoke($this->service, $account, $credit)); + + // Drittland -> Kleinunternehmer-Fallback (kein BU-Schlüssel nötig) + $country->eu_country = false; + + $this->assertEquals('kleinunternehmer', $method->invoke($this->service, $account, $credit)); + } + + /** @test */ + public function credit_without_taxable_snapshot_falls_back_to_account() + { + $method = new \ReflectionMethod(DatevExportService::class, 'determineCommissionTaxStatus'); + $method->setAccessible(true); + + $account = new \stdClass; + $account->reverse_charge = false; + $account->taxable_sales = 2; + + $credit = new \stdClass; + $credit->taxable = 0; + + $this->assertEquals('kleinunternehmer', $method->invoke($this->service, $account, $credit)); + } + /* |-------------------------------------------------------------------------- | CSV Rendering Tests @@ -446,6 +511,31 @@ class DatevExportServiceTest extends TestCase $this->assertEquals(5.00, $method->invoke($this->service, '5,00')); } + /** @test */ + public function it_parses_numbers_with_thousands_separators() + { + $method = new \ReflectionMethod(DatevExportService::class, 'parseNumber'); + $method->setAccessible(true); + + // US-Format mit Tausendertrenner (so speichert net_split Beträge >= 1000) + $this->assertEquals(1434.70, $method->invoke($this->service, '1,434.70')); + $this->assertEquals(1044.69, $method->invoke($this->service, '1,044.69')); + $this->assertEquals(1234567.89, $method->invoke($this->service, '1,234,567.89')); + + // Deutsches Format mit Tausendertrenner + $this->assertEquals(1434.70, $method->invoke($this->service, '1.434,70')); + + // Nur Tausendertrenner ohne Dezimalstellen + $this->assertEquals(1434.0, $method->invoke($this->service, '1,434')); + + // Negative Werte + $this->assertEquals(-1234.56, $method->invoke($this->service, '-1,234.56')); + + // Numerische Eingaben und Leerstring + $this->assertEquals(12.5, $method->invoke($this->service, 12.5)); + $this->assertEquals(0.0, $method->invoke($this->service, '')); + } + /** @test */ public function it_parses_homeparty_tax_split_format() { @@ -599,6 +689,46 @@ class DatevExportServiceTest extends TestCase $this->assertNull($result); } + /** @test */ + public function it_rejects_german_ustid_for_eu_orders() + { + $method = new \ReflectionMethod(DatevExportService::class, 'resolveEuUstid'); + $method->setAccessible(true); + + $account = new \stdClass; + $account->tax_identification_number = 'DE123456789'; + + $user = new \stdClass; + $user->account = $account; + + $order = new \stdClass; + $order->auth_user = $user; + + $result = $method->invoke($this->service, $order, false); + + $this->assertNull($result); + } + + /** @test */ + public function it_rejects_implausible_ustid_for_eu_orders() + { + $method = new \ReflectionMethod(DatevExportService::class, 'resolveEuUstid'); + $method->setAccessible(true); + + $account = new \stdClass; + $account->tax_identification_number = '53618009'; + + $user = new \stdClass; + $user->account = $account; + + $order = new \stdClass; + $order->auth_user = $user; + + $result = $method->invoke($this->service, $order, false); + + $this->assertNull($result); + } + /** @test */ public function it_returns_null_ustid_when_account_has_no_tax_id() { diff --git a/tests/Unit/Services/VatIdServiceTest.php b/tests/Unit/Services/VatIdServiceTest.php new file mode 100644 index 00000000..21081873 --- /dev/null +++ b/tests/Unit/Services/VatIdServiceTest.php @@ -0,0 +1,75 @@ +service = new VatIdService; + } + + /** @test */ + public function it_normalizes_vat_ids() + { + $this->assertEquals('ATU12345678', $this->service->normalize(' at-u 12.345,678 ')); + $this->assertEquals('', $this->service->normalize(null)); + } + + /** @test */ + public function it_extracts_country_code_from_prefix() + { + $this->assertEquals('AT', $this->service->extractCountryCode('ATU12345678')); + $this->assertEquals('ES', $this->service->extractCountryCode('ESY9284953M')); + + // Kein EU-Präfix -> Fallback auf Account-Land + $this->assertEquals('AT', $this->service->extractCountryCode('53618009', 'AT')); + $this->assertNull($this->service->extractCountryCode('53618009', 'CH')); + } + + /** @test */ + public function it_checks_plausible_format() + { + $this->assertTrue($this->service->isPlausibleFormat('ATU12345678')); + $this->assertTrue($this->service->isPlausibleFormat('DE123456789')); + $this->assertTrue($this->service->isPlausibleFormat('ESY9284953M')); + + // Nur Ziffern ohne Länderpräfix (z.B. österreichische Steuernummer) + $this->assertFalse($this->service->isPlausibleFormat('53618009')); + // Kein EU-Ländercode + $this->assertFalse($this->service->isPlausibleFormat('CH123456789')); + $this->assertFalse($this->service->isPlausibleFormat('')); + $this->assertFalse($this->service->isPlausibleFormat(null)); + } + + /** @test */ + public function german_vat_ids_never_qualify_for_reverse_charge() + { + $this->assertFalse($this->service->qualifiesForReverseCharge('DE123456789')); + $this->assertFalse($this->service->qualifiesForReverseCharge('de 123 456 789')); + $this->assertTrue($this->service->qualifiesForReverseCharge('ATU12345678')); + $this->assertFalse($this->service->qualifiesForReverseCharge('53618009')); + $this->assertFalse($this->service->qualifiesForReverseCharge(null)); + } + + /** @test */ + public function vies_check_returns_invalid_for_implausible_ids_without_api_call() + { + $this->assertEquals(VatIdService::CHECK_INVALID, $this->service->checkVies('53618009')); + $this->assertEquals(VatIdService::CHECK_INVALID, $this->service->checkViesCached('')); + } + + /** @test */ + public function vies_check_returns_unavailable_when_disabled() + { + config(['services.vies.enabled' => false]); + + $this->assertEquals(VatIdService::CHECK_UNAVAILABLE, $this->service->checkVies('ATU12345678')); + } +}
    {{ __('tables.no_data_available') }}{{ __('tables.no_data_available') }}
    +{{ $totals['own_abos_new'] + $totals['customer_abos_new'] }} {{ $totals['total_abos'] }} {{ \App\Services\Util::formatNumber($totals['own_abo_points'] + $totals['customer_abo_points']) }}{{ \App\Services\Util::formatNumber($totals['abo_points_billed'] ?? 0) }}{{ \App\Services\Util::formatNumber($totals['abo_points_expected'] ?? 0) }}
    {{ __('Delivery country') }}: {{ Yard::instance($yard_instance)->getShippingCountryName() }}
    {{ __('order.shipping_costs') }}:{{ Yard::instance($yard_instance)->shipping() }} € {{ __('order.shipping_costs') }} ({{ $checkoutShippingTaxFree ? __('order.net') : __('order.incl_VAT') }}):{{ $checkoutShippingTaxFree ? Yard::instance($yard_instance)->shippingNet() : Yard::instance($yard_instance)->shipping() }} €