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 <noreply@anthropic.com>
60 lines
2.2 KiB
PHP
60 lines
2.2 KiB
PHP
<?php
|
|
|
|
return [
|
|
// Titulos
|
|
'initial_composition' => 'Composición Original',
|
|
'change_history' => 'Historial de Cambios',
|
|
'no_initial_data' => 'No hay datos originales disponibles (la suscripción fue creada antes del seguimiento)',
|
|
'no_changes' => 'No hay cambios registrados',
|
|
|
|
// Columnas
|
|
'col_date' => 'Fecha',
|
|
'col_action' => 'Acción',
|
|
'col_product' => 'Producto',
|
|
'col_details' => 'Detalles',
|
|
'col_changed_by' => 'Modificado por',
|
|
'col_channel' => 'Canal',
|
|
|
|
// Acciones
|
|
'action_initial' => 'Original',
|
|
'action_added' => 'Añadido',
|
|
'action_removed' => 'Eliminado',
|
|
'action_qty_changed' => 'Cant. cambiada',
|
|
'action_comp_changed' => 'Comp cambiado',
|
|
'action_comp_added' => 'Comp añadido',
|
|
'action_comp_removed' => 'Comp eliminado',
|
|
'action_rollback' => 'Revertido',
|
|
|
|
// Descripciones
|
|
'desc_initial' => 'Cantidad: :qty',
|
|
'desc_added' => 'Cantidad: :qty',
|
|
'desc_removed' => 'Producto eliminado',
|
|
'desc_qty_changed' => 'Cantidad cambiada de :from a :to',
|
|
'desc_comp_changed' => 'Reemplazado: :old',
|
|
'desc_comp_added' => 'Añadido por el sistema',
|
|
'desc_comp_removed' => 'Eliminado por el sistema',
|
|
'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)',
|
|
'channel_portal' => 'Portal de Cliente',
|
|
'channel_system' => 'Sistema',
|
|
|
|
// Tipo de precio
|
|
'price_net' => 'neto',
|
|
'price_gross' => 'bruto',
|
|
|
|
// Rollback
|
|
'rollback_btn' => 'Restablecer al Original',
|
|
'rollback_confirm' => '¿Está seguro de que desea restablecer la suscripción a su estado original? Todos los productos actuales serán reemplazados por la composición original.',
|
|
'rollback_success' => 'La suscripción se ha restablecido correctamente a su estado original.',
|
|
'rollback_no_data' => 'No es posible revertir: No hay datos originales disponibles.',
|
|
];
|