Skip to content

feat(Supporting Membership): replace checkbox with yearly records (LAN-910) - #340

Merged
barredterra merged 10 commits into
version-15-hotfixfrom
lan-910
Sep 3, 2026
Merged

feat(Supporting Membership): replace checkbox with yearly records (LAN-910)#340
barredterra merged 10 commits into
version-15-hotfixfrom
lan-910

Conversation

@barredterra

@barredterra barredterra commented Jul 7, 2026

Copy link
Copy Markdown
Member

Replace the is_supporting_member checkbox on LANDA Member with a Supporting Membership DocType keyed by member and year. Add mutual exclusion validation with Yearly Fishing Permit, update Member Data Import and the "Current Member Data" report, and schedule yearly status updates.

Existing data is deliberately dropped. Data migration is not desired.

To do:

  • update translations before merge

…N-910)

Replace the `is_supporting_member` checkbox on **LANDA Member** with a
**Supporting Membership** DocType keyed by member and year. Add mutual
exclusion validation with **Yearly Fishing Permit**, update member data
import and the current member data report, and schedule daily status
updates.
@greptile-apps

greptile-apps Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains.

No blocking failure remains.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Member[LANDA Member] --> SM[Supporting Membership by year]
  Member --> YFP[Yearly Fishing Permit by year]
  Import[Member Data Import] --> SM
  Bulk[Member list bulk action] --> SM
  SM --> Validation{Mutual exclusion}
  YFP --> Validation
  Scheduler[Annual scheduler] --> Status[Refresh Planned / Active / Inactive]
  Status --> SM
  SM --> Reports[Member and magazine reports]
Loading

Reviews (5): Last reviewed commit: "fix(Supporting Membership): enforce perm..." | Re-trigger Greptile

Comment thread landa/patches.txt
Comment thread landa/organization_management/membership_permit_validation.py
…check

Treat active Supporting Membership records like Yearly Fishing Permits
when determining magazine eligibility, so Fördermitglieder are not
excluded from mailing when they have no permit.
Mirror the Yearly Fishing Permit bulk-create workflow so Vereinsnutzer
can create supporting memberships for multiple members at once.
other unrelated changes are auto-generated
… (LAN-910)

The check for an active Yearly Fishing Permit only ran when the
Supporting Membership had the status "Active", that is, when its year
was the current year. The opposite check in Yearly Fishing Permit ran
for all Supporting Memberships, because
member_has_active_supporting_membership does not filter by status.

The rule was therefore order-dependent for the next year. A Yearly
Fishing Permit followed by a Supporting Membership was allowed, while
the reverse order was blocked.

Run the check for all statuses to make both directions symmetric.

Also wrap the save in update_supporting_membership_statuses, because
the scheduled task now fails on legacy records that hold both
documents for the same year. One invalid record stopped the whole loop.
@barredterra
barredterra merged commit 499d0fb into version-15-hotfix Sep 3, 2026
11 checks passed
@barredterra
barredterra deleted the lan-910 branch September 3, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant