Skip to content

Conversation

@ThijsEgberts
Copy link
Contributor

Ok this PR has accidentally gotten pretty hefty since this branch contains the event log and maillist update code.

Maillist features

  • Automatically remove/add users from maillists when membership type is changed
    • This is done with laravel events so the code is fairly decoupled and reusable etc
  • Automatically add users to member maillists when approved as a pending member
  • Maillist sync function that adds all users to all maillists associated with their member type. This functionality is mostly aimed at restoring maillists that are accidentally deleted (kuch kuch peppy en lna)
  • Added confirm dialog when deleting maillists
  • (option for the future if the secretary likes it: confirm dialog when removing people from maillists)

Event log:

  • Added event log for user events
  • Logs the following events:
    • A pending user is approved
    • A pending user is removed
    • A new pending user is added
    • A member became an old member (lid af)
    • An old member became a member again
    • Change in membership type (ie member -> reunist)
  • Can export event log to excel with filtering on event time and event type
    • Added a bit of skeleton code for also filtering on user name, but this is a bit complicated and you could just ctrl+f the excel file

Misc:

  • Improved user factory so that users of multiple types can be easily added and the names etc match up better
  • When the seeder is cleared in DEV mode, all maillists are cleared (because users from previous seedings would persist in the maillists)

ThijsEgberts and others added 30 commits December 4, 2024 15:19
…bs add/remove current members to/from maillists based on member type
Added a user event log that logs the following events:
- A pending user is approved as a member
- A pending user is removed/rejected as a member
- A new pending user is made
- A member became an old member (lid af)
- An old member became a member again
- A change is membership type (normal -> reunist)

This is done by dispatching laravel events when the above situations
happen.

Refactored the maillist automation code to work based on events and
listeners.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants