77b2db0b06
Improve registration logging
2020-06-08 20:06:10 +00:00
dependabot[bot]
c86fa197ed
Bump django from 3.0.3 to 3.0.7 in /apiserver
...
Bumps [django](https://github.com/django/django ) from 3.0.3 to 3.0.7.
- [Release notes](https://github.com/django/django/releases )
- [Commits](https://github.com/django/django/compare/3.0.3...3.0.7 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-06-05 20:34:56 +00:00
e0c36f69ef
Don't allow non-admins to edit their lockout cert dates
2020-06-05 03:50:33 +00:00
2656ed3ff0
Correct timezone for date in lockout auth update script
2020-06-05 03:43:56 +00:00
9ad64cbf5a
Resolve member objects in lockout auth update script
2020-06-05 03:29:32 +00:00
86f4862dbe
Remove Emrah's training_record_fix.py
...
member_id is only a hint from the old portal scrape import used to
link objects when people register on Spaceport if they had an account on
the old portal. It shouldn't be used going forward.
2020-06-05 03:10:07 +00:00
8e9855c408
Return true/false instead of 1/0 for lockouts
2020-06-05 02:52:53 +00:00
Emrah Atil
7c9cbfa1c3
Utility to populate tool certification dates from training data
2020-06-04 19:22:26 -06:00
Emrah Atil
163d0eff55
Utility to add missing user info to training record
2020-06-04 19:21:07 -06:00
Emrah Atil
e07cb9a1af
Lockout authorization api
2020-06-04 19:19:26 -06:00
Emrah Atil
57b3b7d869
Added member tool authorization fields
2020-06-04 19:10:12 -06:00
0231394cef
Add any missing days to card scan import script
2020-06-04 03:04:06 +00:00
146d324025
Add hourly task to count card scans
2020-06-04 02:41:28 +00:00
9b98ebf23a
Add card scan stats to API
2020-06-04 02:35:38 +00:00
bdbf21f75a
Add script to import old card scan counts
2020-06-04 02:35:38 +00:00
ea3f1fc6e4
Set card last_seen_at date to Alberta timezone
2020-06-04 02:35:06 +00:00
33e5b7d8e6
Update docs specs
2020-05-31 00:40:33 +00:00
828298edbd
Mention old portal data import is optional
2020-05-31 00:30:31 +00:00
7273eaf815
Add missing installation dependencies
2020-05-31 00:26:36 +00:00
7cfe73580b
Allow searching by member IDs
2020-05-17 00:30:59 +00:00
99c1c53f12
Calculate retained member counts for each month
2020-05-17 00:18:08 +00:00
d0402ea388
Return an error message when backup's not ready
2020-05-08 04:57:09 +00:00
89b3ea6e4f
Obfuscate admin page url
2020-05-08 04:57:09 +00:00
5367470daa
Set same-origin referrer policy
2020-05-08 04:57:09 +00:00
32eeebaf00
Don't update Minecraft player list on error
2020-05-08 04:57:09 +00:00
77b1f932b4
Add option to exclude system changes from History API
2020-05-08 04:53:37 +00:00
2ffaa4c28c
Document public_bio and private_notes
2020-05-01 03:59:23 +00:00
4de91204f9
Add fields for public bio and private notes to API
2020-05-01 03:20:37 +00:00
def5c31d0b
Add santiy check to backup download
2020-05-01 01:21:06 +00:00
d99e4e3b23
Add signup counts to /charts/ API
2020-04-26 04:23:48 +00:00
7d370fe4b2
Add function to calculate member signup counts
2020-04-26 04:06:15 +00:00
d7a529dd94
Rename table to StatsSignupCount
2020-04-26 03:39:38 +00:00
3d85448b0e
Add script to import old member signup counts
2020-04-26 03:36:59 +00:00
1cbf951ab4
Add member signups count table
2020-04-26 03:36:39 +00:00
9223da6b90
Add member counts to /charts/ API
2020-04-21 21:12:50 +00:00
20c93cd5c4
Add script to import old member counts from csv
2020-04-21 05:46:40 +00:00
8d4a63fbfc
Add member count stats table and update it hourly
2020-04-21 05:45:20 +00:00
0c3805d86d
Correct member count to remove "Past Prospect" members
2020-04-21 00:15:19 +00:00
118c32ca7c
Add Minecraft players to /stats/ API
2020-04-21 00:12:51 +00:00
d3a7616686
Clear next meeting and clean stats if there's none
2020-04-16 05:03:54 +00:00
01703d55dc
Update info about /door/ API route auth in docs
2020-04-04 02:01:39 +00:00
dependabot[bot]
27417852cd
Bump bleach from 3.1.2 to 3.1.4 in /apiserver
...
Bumps [bleach](https://github.com/mozilla/bleach ) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/mozilla/bleach/releases )
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES )
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.2...v3.1.4 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-03-30 20:14:09 +00:00
Tanner Collin
adaa0e0d3c
Merge pull request #14 from Protospace/dependabot/pip/apiserver/bleach-3.1.2
...
Bump bleach from 3.1.1 to 3.1.2 in /apiserver
2020-03-28 20:50:01 -06:00
a3db260e08
Allow searching for members by email
2020-03-29 02:46:36 +00:00
3a9fd875b2
Filter out cancelled meetings and cleanups
2020-03-29 02:46:36 +00:00
dependabot[bot]
edcb5fe80e
Bump bleach from 3.1.1 to 3.1.2 in /apiserver
...
Bumps [bleach](https://github.com/mozilla/bleach ) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/mozilla/bleach/releases )
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES )
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.1...v3.1.2 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-03-24 18:05:32 +00:00
4153f7ed6e
Change backup folder depending on DEBUG
2020-03-08 01:12:56 +00:00
301b1603ef
Convert print statements to logger calls
2020-03-08 01:07:09 +00:00
464db5cf28
Set up proper logging
2020-03-08 00:36:16 +00:00
8ff4997810
Add fields for Protospace wifi pass and door code
2020-02-29 00:50:34 +00:00
1cc3087148
Stop tracking Card's last_seen_at
2020-02-29 00:48:33 +00:00
ba5361f660
Add script to clean member names
2020-02-28 07:24:09 +00:00
091c81e411
Capitalize names, disallow extra spaces
2020-02-28 07:00:55 +00:00
1db63c9615
Remove redundant authenticated check from cards API
2020-02-28 01:33:14 +00:00
05642c01a3
Document LDAP server setup
2020-02-28 00:55:40 +00:00
5bf9b26180
Document door API auth
2020-02-27 23:16:13 +00:00
314e4da620
Require "Bearer" to be on custom auth tokens
2020-02-27 23:06:23 +00:00
4a117eff83
Return stats about last backup download times
2020-02-27 22:46:09 +00:00
221e83ccab
Increase search result count and sort by expire_date
2020-02-27 22:46:09 +00:00
f82c7e4a73
Hide door card list behind auth token
2020-02-27 22:44:55 +00:00
ecefa479ee
Limit card actions only to admins
2020-02-27 22:34:34 +00:00
bbd57e1885
Merge remote-tracking branch 'remotes/github/dependabot/pip/apiserver/bleach-3.1.1'
2020-02-26 01:47:34 +00:00
4ff0900a20
Wrap history index signal with giant try: except:
2020-02-26 01:45:49 +00:00
bcb34cf63e
Add min and max to num membership months
2020-02-26 01:45:26 +00:00
d4f5ab03cf
Pause / unpause using alberta timezone date
2020-02-26 00:56:46 +00:00
37d0030966
Exclude member_forms history change, fix truncation bug
2020-02-26 00:54:07 +00:00
4ecb84bc96
Link old members with update() for efficiency
2020-02-26 00:52:27 +00:00
37c2aeb5b3
Remove last name Tester work around
2020-02-25 23:33:26 +00:00
ce4602018b
Serialize History and expose to API
2020-02-25 23:32:28 +00:00
73362b69c6
Create an index of all history changes
2020-02-24 23:49:14 +00:00
dependabot[bot]
fb5c51bbce
Bump bleach from 3.1.0 to 3.1.1 in /apiserver
...
Bumps [bleach](https://github.com/mozilla/bleach ) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/mozilla/bleach/releases )
- [Changelog](https://github.com/mozilla/bleach/blob/master/CHANGES )
- [Commits](https://github.com/mozilla/bleach/compare/v3.1.0...v3.1.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-02-24 20:10:04 +00:00
9de7368174
Remove debugging bypass
2020-02-23 07:44:02 +00:00
c2035924bb
Process Paymaster PayPal transaction categories
2020-02-23 04:31:58 +00:00
65ffdcc00f
Categorize PayPal membership tx, increase page size, sort tx by new
2020-02-22 05:21:33 +00:00
063c7bd1f5
Return a list of transactions by month
2020-02-21 23:25:05 +00:00
ed13e203f8
Force secure cookies
2020-02-21 22:46:26 +00:00
fb41b3b3d9
Add a script to link old instructors with their new user
2020-02-21 00:41:19 +00:00
ca54c48d39
Add students emails to instructor sessions
2020-02-21 00:09:48 +00:00
c57c782eb5
Change method of generating backups
2020-02-21 00:09:48 +00:00
fe758271f2
Truncate task run times
2020-02-21 00:09:48 +00:00
cd27c1ee4b
Add API routes for POSTing temperature data
2020-02-18 07:07:23 +00:00
613369d9e9
Add API route for paste
2020-02-17 03:27:41 +00:00
be6375566e
Allow instructors to sign members up for classes
2020-02-16 07:17:15 +00:00
8b9486fc5f
Add API route to get backup URL
2020-02-16 04:59:02 +00:00
8c630ada1f
Add script and command for creating backups
2020-02-16 02:37:22 +00:00
3f37dd8940
Git keep backups directory
2020-02-16 02:37:03 +00:00
da7aa42251
Check old emails against current portal
2020-02-16 02:35:31 +00:00
3400f80f42
Fix PayPal IPN training status capitalization
2020-02-14 23:00:20 +00:00
091880b034
Correct PayPal IPN email, deal with missing tx ID
2020-02-14 22:40:42 +00:00
7d2f99072f
Make some member details optional for admin PATCH
2020-02-14 22:40:18 +00:00
c9c0145bbb
Add my.protospace.ca to allowed hosts
2020-02-14 22:39:44 +00:00
d4871feb8d
Allow users not yet in LDAP to claim old portal accounts
2020-02-14 05:19:59 +00:00
ef16bf1cb3
Move PayPal out of sandbox in API, add hosts
2020-02-13 22:51:57 +00:00
42cd4ef0e7
Add script to import missing paypal txs from their API
2020-02-13 22:49:08 +00:00
5837694a2d
Add favicon to docs
2020-02-13 03:26:11 +00:00
095fec4681
Don't register historical tables in admin interface
2020-02-13 02:16:21 +00:00
c45a671cff
Undocument ability to set directors and staff
2020-02-13 02:05:20 +00:00
c9b572dbc0
Add page for feature specs to docs
2020-02-13 02:02:58 +00:00
f70861b7c0
Disallow setting of new directors and staff
2020-02-12 09:19:43 +00:00
dfb3c7cacc
Extract IPN data safely
2020-02-12 09:19:27 +00:00
ca7250171a
Upgrade Django
2020-02-11 22:47:14 +00:00
3d2ddcc206
Stop printing IPN / LDAP status
2020-02-10 09:21:01 +00:00
ae6f71a236
Log when daily and hourly tasks start
2020-02-10 09:15:14 +00:00
67c1d480df
Send password to LDAP on password change
2020-02-10 08:54:29 +00:00
6fa73af0be
Correctly get next meetings when there's multiple
2020-02-10 08:13:00 +00:00
5ffb6c034a
Calculate entire daily task time
2020-02-10 08:02:10 +00:00
49f6da8ae5
Add hourly task to calculate next events and member counts
2020-02-10 08:01:43 +00:00
82b9955a56
Calculate _Overdue_ status the same way as old portal
2020-02-10 04:47:24 +00:00
dd68adfe68
Ignore Contractor member accounts on portal import
2020-02-10 02:09:39 +00:00
f4af053c91
Calculate status the same way as old portal
2020-02-10 01:42:28 +00:00
787fb063d1
Use date in AB timezone in tests
2020-02-10 01:10:28 +00:00
ad29bb39eb
Calculate status based off Alberta timezone
2020-02-10 01:00:41 +00:00
63fd53f42a
Exclude blank report types as well
2020-02-10 00:39:57 +00:00
c233ebbb74
Convert model lambda into function
2020-02-10 00:28:47 +00:00
52b6896cab
Check if transaction is for valid training first
2020-02-10 00:23:02 +00:00
aa9f1ae861
Integrate LDAP API on user signup
2020-02-08 02:22:29 +00:00
4082b76ebd
Check if email exists in old portal before registration
2020-02-08 01:02:04 +00:00
2fd1d52a71
Simplify /door/ route card listing
2020-02-07 09:53:39 +00:00
668a0dd349
Record time whenever cards change
2020-02-07 09:38:33 +00:00
f75b782afd
Add /stats/ API route with defaults
2020-02-07 09:25:50 +00:00
5d4ef292d6
Move caching to memcached
2020-02-07 09:06:02 +00:00
28e79b9362
Change default creation date to Alberta timezone
2020-02-07 07:00:11 +00:00
d5cae8ce65
Properly fix session datetimes on import
2020-02-07 05:07:55 +00:00
881608b4df
Grab import date from member table
2020-02-07 04:10:13 +00:00
18e7c6c77d
Enforce capitalization of class / session status
2020-02-07 01:11:27 +00:00
202dc1f999
Fix import PayPal capitalization bug
2020-02-06 09:52:10 +00:00
c865480c8b
Automatically confirm attendance if class is free
2020-02-06 09:25:57 +00:00
1c54bd5923
Disallow non-alpha characters in username
2020-02-06 09:16:58 +00:00
b927491084
Allow signups with last name tester on prod for now
2020-02-06 09:15:26 +00:00
9e40c5d807
Define static directory for Django admin site
2020-02-06 09:14:50 +00:00
bad18e069a
Add historical records to every model for auditing
2020-02-05 00:00:33 +00:00
51b6be93cc
Add /ping/ route to docs
2020-02-04 08:39:26 +00:00
26845a5921
Add /ping/ API route to check if user's token is valid
2020-02-04 08:31:24 +00:00
0326950c54
Move Django secret key to secrets.py
2020-02-02 04:42:46 +00:00
c501eb3c1a
Install gunicorn
2020-02-02 04:00:12 +00:00
5c517ed41f
Add prod domains to ALLOWED_HOSTS
2020-02-02 04:00:12 +00:00
b06a741763
Add instructions for importing member photo and scrape date
2020-02-02 03:59:06 +00:00
c9fa795824
Obfuscate PayPal IPN route
2020-02-02 00:02:53 +00:00
5130c8e169
Add docs for users reporting their transactions route
2020-02-01 09:03:31 +00:00
59d495b91d
Add API route for reporting transactions
2020-02-01 08:55:45 +00:00
5a6e7914c9
Enforce correct capitalization of PayPal
2020-02-01 07:39:02 +00:00
beb9072291
Train paypal hints when reported transaction is cleared
2020-02-01 02:36:48 +00:00
baeda4acb9
Document transaction reporting
2020-02-01 01:38:12 +00:00
7d3d06033d
Expose reported transactions on GET /transactions/
2020-01-31 23:46:59 +00:00
8296295937
Add /ipn/ API route to process PayPal IPNs
2020-01-30 23:51:51 +00:00
c1e682478b
Register all api models with admin page
2020-01-29 23:42:44 +00:00
bfc757cace
Add script to parse old paypal txs into member hints
2020-01-29 23:42:10 +00:00
26c8180ca0
Protect static. against misconfigured webservers
2020-01-26 22:40:39 +00:00
6789090ba2
Generate member forms on unpause and import
2020-01-26 22:17:05 +00:00
7eb46f39db
Statically serve member PDF forms instead, add link
2020-01-26 10:39:59 +00:00
0c1f82a3c7
Add API route to generate member's application PDF forms
2020-01-26 08:29:14 +00:00
e24de87557
Add missing member_id to transaction docs
2020-01-25 22:55:12 +00:00
273e514ee3
Add script to hammer API with test requests
2020-01-23 22:32:49 +00:00
3f293f2cea
Rename process image function
2020-01-23 22:32:31 +00:00
c0fa194818
Fix cards typo in docs
2020-01-23 20:50:40 +00:00
5ac30ebf6c
Fix import error
2020-01-23 07:29:38 +00:00
77e90e090f
Log when we run without old portal data
2020-01-23 07:25:53 +00:00
f29f8a9c75
Freeze requirements
2020-01-23 06:55:11 +00:00
c6182c8984
Allow importing the old portal to be optional
2020-01-23 06:54:34 +00:00
664859dd26
Only allow admins to change member's names
2020-01-23 03:11:37 +00:00
66c959db59
Import validation exception
2020-01-23 02:55:28 +00:00
8b48ff9c05
Move utils and permissions to own file, clean up code
2020-01-22 22:32:58 +00:00
0a13f52053
Fully document API and move dev setup instructions
2020-01-21 23:49:01 +00:00
15f736809d
Make member_id int, ignore username case
2020-01-21 23:46:44 +00:00
72d502d0b7
Set up boilerplate sphinx docs
2020-01-21 06:18:09 +00:00
3af9f51fb0
Misc fixes
2020-01-21 05:00:45 +00:00
aa9045e49e
Add door controller cards route to API
2020-01-20 06:01:10 +00:00
872a51f5f5
Change pause and unpause routes to POST
2020-01-20 04:42:50 +00:00
6c7464fe67
Display "Former Member" for all non-member statuses
2020-01-20 02:31:38 +00:00
c9faca94ad
Add API routes to pause / unpause membership
2020-01-20 01:57:05 +00:00
e92182724b
Fix fake missing membership tests
2020-01-20 00:46:07 +00:00
45965b29b2
Make expire and paused date read-only, add fake months individually
2020-01-20 00:29:28 +00:00
8ca8970092
Add django command for running member tally cron daily
2020-01-19 10:57:56 +00:00
712a6c533f
Retally membership months on any transaction change
2020-01-19 08:59:16 +00:00
73b6d19c19
Add a fake membership transaction when importing old portal
2020-01-19 06:58:51 +00:00
0fe999ca97
Add utils and tests for calculating membership status
2020-01-19 03:00:05 +00:00
6a7f409986
Add transaction editor to UI
2020-01-18 03:34:55 +00:00
6c8f6f7baa
Add transactions to admin member search result
2020-01-18 00:55:08 +00:00
1839616aa9
Limit sign ups from Protospace only
2020-01-17 09:20:55 +00:00
df1490dd2d
Add API route for transactions
2020-01-17 07:20:07 +00:00
94a296744c
Improve old portal timezone correction
...
(Still off by an hour during DST)
2020-01-17 04:16:09 +00:00
699449e1f1
Move DB and whitelist localhost
2020-01-16 23:15:37 +00:00
ec5f17d4d3
Correct timezone data from old portal scrape
2020-01-16 09:46:11 +00:00
b6573f1d72
Add UI for class sign up and attendance
2020-01-16 09:09:45 +00:00
57407be11e
Add API route for training
2020-01-16 06:17:33 +00:00
df0d83983d
Add UI for instructors to add and edit classes
2020-01-16 01:32:52 +00:00
2040875fe0
Improve course field validation
2020-01-15 08:03:25 +00:00
8a8161c976
Calculate instructor name correctly
2020-01-15 07:51:00 +00:00
200df3fdc8
Sanitize HTML input
2020-01-15 07:07:12 +00:00
83ab4dffbe
Add shortcuts for viewset mixins
2020-01-15 06:26:12 +00:00
9b27c41433
Add UI for instructors to create a new course
2020-01-15 05:12:00 +00:00
a0489be82d
Simplify Card views and allow editing courses
2020-01-15 02:02:16 +00:00
a178516811
Add separate session serializer for course list
2020-01-15 01:31:41 +00:00
4e82f13f74
Add UI for admins to view and edit member cards
2020-01-15 00:12:50 +00:00
4d44e2c3cb
Allow member card creation
2020-01-14 04:12:46 +00:00
384964ca07
Add member cards api route
2020-01-14 01:51:46 +00:00
c22a19736d
Add option to make someone portal staff
2020-01-14 01:14:23 +00:00
579966e7aa
Move search result member into its own object
2020-01-14 00:52:15 +00:00
f52ee5532d
Add UI for admins to view and edit member's details
2020-01-13 08:01:42 +00:00
0c814790a7
Mark some member fields as required
2020-01-13 04:58:41 +00:00
bd3146f413
Add address and minor fields to member in API and client
2020-01-13 03:18:41 +00:00
f50a3ca129
Change /me to /user and allow email changes
2020-01-13 01:03:02 +00:00
56a187c576
Add change password form to webclient
2020-01-12 08:54:32 +00:00
e256e32341
Add api route and webclient page for account settings
2020-01-12 08:16:09 +00:00
f937dfdbce
Allow updating emails
2020-01-12 00:34:22 +00:00
3ff81633a7
Use item list for members and add member detail view
2020-01-11 23:53:42 +00:00
fada97dab0
Move api and static urls to subdomains
2020-01-11 07:09:24 +00:00
946c70d776
Import old photos and link to members
2020-01-11 06:27:30 +00:00
5091ff2977
Git ignore data and old_photos folders
2020-01-11 04:51:14 +00:00
0e228b3211
Git keep data and old_photos folders
2020-01-11 04:50:39 +00:00
8c1f1ab3de
Change search to POST and add sequence numbers
2020-01-11 04:20:07 +00:00
4e78087338
Add searchable member list to webclient
2020-01-11 02:50:55 +00:00
402ec28ff5
Add member search api route
2020-01-11 00:47:13 +00:00
c80bf1e56a
Add API routes for courses and sessions
2020-01-10 06:22:56 +00:00
42f3594e38
Import old courses, classes and link to members
2020-01-09 23:58:44 +00:00
1bf5dd182c
Import old cards and link to members
2020-01-09 06:45:32 +00:00
aa6c81c48c
Display most recent transactions in member info
2020-01-09 05:40:54 +00:00
e1ad30e481
Import old transactions and link to members
2020-01-09 05:21:18 +00:00
3b6f15accd
Add member info component
2020-01-09 01:41:32 +00:00
d59d24ae65
Complete login, sign up, and member details
2020-01-08 23:48:00 +00:00
5526cf708b
Add django-allauth for registrations
2020-01-07 08:23:06 +00:00
39931077cc
Upgrade password hashing to Argon2
2020-01-07 08:04:18 +00:00
f882228372
Freeze requirements
2020-01-06 23:15:03 +00:00
0232258869
Add django-rest-auth
2020-01-06 23:14:41 +00:00
c5b0a93927
Enable browsable API login
2020-01-06 23:05:19 +00:00
095003b943
Enable basic routing of /users
2020-01-06 22:36:12 +00:00
969d2aa57c
Configure basic django settings
2020-01-06 22:10:39 +00:00
3ddd7b88ae
Set up boilerplate django-rest-framework
2020-01-06 21:58:38 +00:00
c2414a9e82
Begin apiserver
2020-01-06 21:51:10 +00:00