Skip to content

Add interest events run by interest group leaders - #4181

Open
ch0rizo wants to merge 18 commits into
masterfrom
interest-event-feature
Open

Add interest events run by interest group leaders#4181
ch0rizo wants to merge 18 commits into
masterfrom
interest-event-feature

Conversation

@ch0rizo

@ch0rizo ch0rizo commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Description

Apart of a stack. Wanted to try github stacked PRs (its very nice).

Adds the interest_event type: leaders and co-leaders of active interest groups can create
and manage events for their own group, without keyword permissions.

  • Locked field contract in constants.py - creators control content fields; INFINITE status,
    free, no captcha/penalties/feedback, and never pinned are forced by the serializer
  • One backend-owned pool, open to all of Abakus from creation until start, with optional
    capacity and waiting list
  • Registration/unregistration run synchronously with the async pipeline as fallback, so the
    response carries the final result
  • Current group leaders can always edit/delete the group's events; administrate stays
    keyword-gated for interest events (creators of other event types keep object access)
  • Leadership upkeep: the last leader cannot demote themselves; leaving auto-promotes the
    oldest co-leader or deactivates the group (also reconciled nightly)
  • Interest events are excluded from the frontpage and general ical feeds; the events list
    gains exclude_event_type and responsible_group_type filters

Testing

  • The code quality is at a minimum required level of quality, readability, and performance.
  • I have thoroughly tested my changes.

Please describe what and how the changes have been tested, and provide instructions to reproduce if necessary.

Tested with tox -e tests. Frontend PR in lego-webapp follows and needs this deployed first.

Resolves #4180


Stack created with GitHub Stacks CLIGive Feedback 💬

@ch0rizo ch0rizo self-assigned this Jul 22, 2026
@ch0rizo
ch0rizo requested a review from a team July 22, 2026 13:30
@ch0rizo
ch0rizo marked this pull request as ready for review July 22, 2026 13:30
@codecov

codecov Bot commented Jul 27, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.92453% with 32 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (master@5819acd). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...s/management/commands/reconcile_interest_groups.py 0.00% 16 Missing ⚠️
lego/apps/users/tasks.py 40.00% 6 Missing ⚠️
lego/apps/events/permissions.py 88.88% 3 Missing ⚠️
lego/apps/events/serializers/events.py 94.73% 3 Missing ⚠️
lego/apps/events/tasks.py 90.47% 2 Missing ⚠️
lego/apps/users/models.py 94.44% 1 Missing ⚠️
lego/apps/users/serializers/abakus_groups.py 94.73% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##             master    #4181   +/-   ##
=========================================
  Coverage          ?   82.88%           
=========================================
  Files             ?      361           
  Lines             ?    13098           
  Branches          ?        0           
=========================================
  Hits              ?    10856           
  Misses            ?     2242           
  Partials          ?        0           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

Interest events page

1 participant