Commit Graph

384 Commits

Author SHA1 Message Date
e8198f7b2a Filter logging /lockout/ 2020-11-07 21:27:10 +00:00
93d3731507 Add Mumble user list to stats 2020-10-31 22:53:44 +00:00
bf0030504a Show members application date instead of start date 2020-10-05 21:30:06 +00:00
d5b8ffa0e2 Link to member pages in the Instructor Attendance panel 2020-10-05 21:20:15 +00:00
84a479752b Allow instructors to see other member's training 2020-10-05 21:20:15 +00:00
127ce130a4 Increase backup logging 2020-10-05 20:27:05 +00:00
8454a8faf6 Capitalize laser user's names 2020-10-05 20:25:56 +00:00
4afedefd89 Add more detailed warning messages to signup / reset 2020-10-03 20:54:26 +00:00
4420a675d3 Simplify transaction form 2020-10-01 22:14:16 +00:00
8d82b7e85b Don't change ldap group membership if it's not configured 2020-09-27 04:07:42 +00:00
ced94ae019 Fix serializer set_password bug 2020-09-27 04:03:34 +00:00
ca8083859c Fix utils auth bugs 2020-09-20 00:27:48 +00:00
3bf8743e9a Display who used the lasers last 2020-09-20 00:23:27 +00:00
9a105908a3 Add API routes for Spaceport auth 2020-09-18 05:03:05 +00:00
b45f86e0cc Add Auth API connection to apiserver 2020-09-16 22:52:17 +00:00
131a8a46a6 Abstract updating certs to a method 2020-09-15 20:59:39 +00:00
ddb83a1b58 Only change group membership if cert changes 2020-09-15 20:59:39 +00:00
dcdfbfa953 Change LDAP group membership based on certification 2020-09-15 20:59:39 +00:00
44d50735bf Add rabbit and trotec cert dates 2020-09-15 20:59:39 +00:00
28b8de41a8 Alert Tanner about LDAP server errors 2020-09-15 20:59:39 +00:00
164aa3c9c7 Stop checking old_models.py on registration 2020-09-15 20:59:38 +00:00
0fb481ca94 Automatically certify students on course attendance 2020-08-13 22:57:19 +00:00
Emrah Atil
693219d49e Common tool certification added as prereq to other tool certifications 2020-08-13 15:04:23 -06:00
7111ccb821 Fix quotes 2020-08-11 21:01:27 +00:00
Emrah Atil
9fa6210345 Add Woodworking-2 and CNC tool certification 2020-08-11 14:33:36 -06:00
0dd7e5a00e Make member's street address optional 2020-08-09 00:01:24 +00:00
bf6abb8737 Show member's training to admins 2020-08-08 22:46:19 +00:00
0d1ab359a4 Add PayPal transaction memo to note field 2020-08-08 22:45:43 +00:00
9f5d54d83f Improve ping route logging 2020-08-03 03:22:35 +00:00
8f42f7ad80 Add prepaid members to ready to vet list 2020-08-03 01:11:45 +00:00
335e152ffb Add more logging to IPN verification 2020-08-03 01:11:45 +00:00
250ea89aa0 Prevent adding cards for unvetted members 2020-07-27 21:05:26 +00:00
0f826015f7 Add stats endpoint for tracking computer logins 2020-07-26 00:04:07 +00:00
04e0bbc7a2 Handle member photo Exif data orientation in the API 2020-07-18 06:13:02 +00:00
33e9ddd30f Accept photo crop data over member details API 2020-07-17 04:45:35 +00:00
0c2b011055 Adjust card positions to match mirrored template 2020-07-16 16:28:56 -06:00
a849b5f887 Add field for card_photo to database 2020-07-16 22:03:46 +00:00
e3514a1768 Add border to card member photo and check font size 2020-07-16 22:03:46 +00:00
9281abf853 Add function to generate member card photo 2020-07-16 22:03:46 +00:00
8561ed2ff4 Add an API route for members ready to be vetted 2020-07-12 03:09:24 +00:00
f3d96b4019 Alert Tanner when an IPN fails to verify 2020-07-03 23:03:00 +00:00
2a381402e2 Try to verify PayPal IPNs twice 2020-07-03 22:50:14 +00:00
f3167a245e Be more explicit about which URLs we can use 2020-06-29 22:44:08 +00:00
bdbab31a17 Look up emails case insensitive 2020-06-26 03:12:56 +00:00
a6e1876b93 Send reset password to LDAP server 2020-06-23 20:58:53 +00:00
c5767f033c Add custom password reset check 2020-06-20 03:48:31 +00:00
41e1359516 Add URL for password reset confirm 2020-06-20 00:29:24 +00:00
00bcf3fee7 Add email relay credentials 2020-06-19 23:49:05 +00:00
16a989fdd8 Improve member form headers 2020-06-19 04:54:41 +00:00
82316e914a Recount when there's a scan, add count to stats 2020-06-16 04:22:42 +00:00
5311c31480 Remove default last_seen_at 2020-06-16 04:21:10 +00:00
f23c3ecc4c Add a bypass code to allow registration outside Protospace 2020-06-10 21:14:43 +00:00
84b83baf13 Remove bypass from debugging 2020-06-08 21:46:03 +00:00
97e1d78acd Improve card scan logging 2020-06-08 20:16:29 +00:00
77b2db0b06 Improve registration logging 2020-06-08 20:06:10 +00:00
e0c36f69ef Don't allow non-admins to edit their lockout cert dates 2020-06-05 03:50:33 +00:00
8e9855c408 Return true/false instead of 1/0 for lockouts 2020-06-05 02:52:53 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
095fec4681 Don't register historical tables in admin interface 2020-02-13 02:16:21 +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
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
18e7c6c77d Enforce capitalization of class / session status 2020-02-07 01:11:27 +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
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
5c517ed41f Add prod domains to ALLOWED_HOSTS 2020-02-02 04:00:12 +00:00
c9fa795824 Obfuscate PayPal IPN route 2020-02-02 00:02:53 +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
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
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
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
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
15f736809d Make member_id int, ignore username case 2020-01-21 23:46:44 +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
699449e1f1 Move DB and whitelist localhost 2020-01-16 23:15:37 +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