Commit Graph

629 Commits

Author SHA1 Message Date
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