continuous-integration/drone/push Build is passingDetails
* Don't read the value of an Apache directive unless we are sure
it can only accept one argument
* Handle the case where a club's www directory is not readable
continuous-integration/drone/push Build is passingDetails
Closes#51.
An API argument called `remove_inactive_club_reps` was added so that we can dynamically control whether we want to remove inactive club reps or not. The default action is only to disable club websites without changing group membership.
Reviewed-on: #68
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#44.
Closes#47.
Closes#49.
Closes#50.
The TUI has been rewritten using urwid instead of asciimatics. The MVC pattern was also used to help increase organization and readability.
The mouse has been disabled, which allows users to easily copy text from the terminal.
Terms are now sorted when displayed, for both the CLI and the TUI.
Reviewed-on: #52
continuous-integration/drone/push Build is passingDetails
Office staff currently can't sign up new members because ceod uses their GSSAPI credentials to authenticate to LDAP, and those credentials are insufficient.
This PR uses the ceod/admin credentials instead for signing up new members and for renewing existing memberships.
Reviewed-on: #45
continuous-integration/drone/push Build is passingDetails
Add an API for members to create a project on Harbor.
Co-authored-by: Max Erenberg <>
Reviewed-on: #42
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Add an API for members to create their own Kubernetes namespace.
Co-authored-by: Max Erenberg <>
Reviewed-on: #38
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Add an API for members to create their own virtual hosts.
Co-authored-by: Max Erenberg <>
Reviewed-on: #35
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR adds API endpoints and a CLI to create cloud accounts and to purge accounts of expired members.
Co-authored-by: Max Erenberg <>
Reviewed-on: #34
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#25.
Co-authored-by: Max Erenberg <>
Reviewed-on: #29
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#24.
Co-authored-by: Max Erenberg <>
Reviewed-on: #27
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
This PR disables resizing the TUI.
Unfortunately this is a regression from the old ceo. But trying to preserve state when destroying and creating new views in asciimatics proved to be very difficult.
Co-authored-by: Max Erenberg <>
Reviewed-on: #21
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Co-authored-by: Max Erenberg <>
Co-authored-by: Rio <r345liu@localhost>
Reviewed-on: #16
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
continuous-integration/drone/push Build is passingDetails
Closes#12
Co-authored-by: Andrew Wang <a268wang@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #15
Co-authored-by: Andrew Wang <a268wang@localhost>
Co-committed-by: Andrew Wang <a268wang@localhost>
continuous-integration/drone/push Build is passingDetails
Implement DB endpoints
Co-authored-by: Andrew Wang <someone.zip@gmail.com>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #10
Co-authored-by: Andrew Wang <a268wang@localhost>
Co-committed-by: Andrew Wang <a268wang@localhost>