mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-08-25 15:05:18 +02:00
Update member UI and related app changes
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from ccma.domain.models import HOUSEKEEPER_MEMBER_FIELD_LABELS
|
||||
from ccma.domain.dates import DateValidationError, validate_member_dates
|
||||
from ccma.rules.api import RuleContext, task
|
||||
|
||||
@@ -7,18 +8,30 @@ ORDER = 10
|
||||
|
||||
def evaluate(context: RuleContext):
|
||||
member = context.member
|
||||
if not member.birth_date.strip():
|
||||
return [
|
||||
actions = []
|
||||
optional_fields = set(getattr(context.settings, "optional_member_fields", ()))
|
||||
for field, label in HOUSEKEEPER_MEMBER_FIELD_LABELS.items():
|
||||
if field in optional_fields:
|
||||
continue
|
||||
if str(getattr(member, field, "")).strip():
|
||||
continue
|
||||
code = "missing_birth_date" if field == "birth_date" else f"missing_member_field:{field}"
|
||||
detail = (
|
||||
"Das Geburtsdatum muss in der Mitgliederakte ergänzt werden."
|
||||
if field == "birth_date"
|
||||
else f"Das Feld {label} muss in der Mitgliederakte ergänzt werden."
|
||||
)
|
||||
actions.append(
|
||||
task(
|
||||
rule_id=RULE_ID,
|
||||
member=member,
|
||||
key_suffix="missing",
|
||||
key_suffix=f"missing:{field}",
|
||||
severity="warning",
|
||||
title=f"{member.display_name}: Geburtsdatum fehlt",
|
||||
detail="Das Geburtsdatum muss in der Mitgliederakte ergänzt werden.",
|
||||
code="missing_birth_date",
|
||||
title=f"{member.display_name}: {label} fehlt",
|
||||
detail=detail,
|
||||
code=code,
|
||||
)
|
||||
]
|
||||
)
|
||||
try:
|
||||
validate_member_dates(
|
||||
birth_date=member.birth_date,
|
||||
@@ -27,7 +40,7 @@ def evaluate(context: RuleContext):
|
||||
today=context.today,
|
||||
)
|
||||
except DateValidationError as exc:
|
||||
return [
|
||||
actions.append(
|
||||
task(
|
||||
rule_id=RULE_ID,
|
||||
member=member,
|
||||
@@ -37,5 +50,5 @@ def evaluate(context: RuleContext):
|
||||
detail=str(exc),
|
||||
code="invalid_member_dates",
|
||||
)
|
||||
]
|
||||
return []
|
||||
)
|
||||
return actions
|
||||
|
||||
@@ -44,7 +44,8 @@ def evaluate(context: RuleContext):
|
||||
)
|
||||
)
|
||||
|
||||
for year in (context.today.year, context.today.year + 1):
|
||||
year_from = started_at.year if getattr(context.settings, "retroactive_claims", False) else context.today.year
|
||||
for year in range(year_from, context.today.year + 2):
|
||||
actions.extend(_membership_claims(context, started_at, accepted_at, year))
|
||||
return actions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user