Goals por categoría (ej. 100.000 € en cash) #46
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Petición del usuario:
Hoy un Goal solo puede acotarse por cuenta (
Goal.account, nil = todas). Se añade un ámbito adicional por categoría de fuente, de modo que el progreso se calcule solo con las fuentes de esa categoría (ej. Cash).Alcance:
Goal.category(opcional) ↔Category.goalsen el modelo CoreDataImplementado en
d88cc59(build 88):Goal.category↔Category.goals(opcional, Nullify). Migración ligera automática.Goal.includes(_:)/relevantSources(from:)/scopeKey: filtro de ámbito (cuenta Y categoría) centralizado — antes estaba duplicado enGoalsViewModel,AddSourceView(notificación de objetivo alcanzado) yNotificationService(ETA de re-engagement).GoalEditorView: sección "Ámbito" con selector de categoría ("Todas las categorías" por defecto).GoalsViewModel.projection) en vez de la evolución global de la cartera, que habría dado "objetivo alcanzado" en cuanto el total superase el importe.GoalRepositoryeImportServicededuplican por (nombre, cuenta, categoría).category.Verificado: build Debug OK, build-for-testing OK, suite unitaria sin regresiones (los 3 tests que fallan — ReviewPromptService, SettingsViewModel backups, MonthlyCheckInView — ya fallaban en
eaf0c8f). App arranca en simulador.Pendiente antes de publicar (queda el issue abierto):
CD_categoryenCD_GoalyCD_goalsenCD_Category) desde CloudKit Console.