* Add a new `memberStatus` attribute to LDAP
* Refactor LDAP array handling in the user model a bit
* Add methods for getting and setting member statuses
* Add 2 hardcoded statuses for 1) contributing users and 2) paying users
* Add configs to change names of member statuses in admin settings (new "membership page"). This allows for different types of groups/orgs.
* Add member statuses to admin user index (stats and details, can be deactivated for performance)
* Set member status to "sustainer" when completing donations
Other related and unrelated additions, mostly for admin pages:
* Fetch all admin usernames at once on the admin user index (not for each users being loaded)
* Add new search method to LDAP service
* Remove custom OU filtering from LDAP `fetch_users` (refs #166)
* Add pending donations to the admin donations index, add more details to donation page
* Add filter for username to admin donations index
* Add donation number and sum to admin user details, link to filtered index
refs #31
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
memberStatusattribute to LDAPOther related and unrelated additions, mostly for admin pages:
fetch_users(refs #166)refs #31
529f2ef0aato7a8ca0707aIntroduce membership statusto Introduce membership statusesI couldn't resist quickly adding #228 against this one. Too convenient. 😅
Good looking PR would review again 👍