Commit Graph

282 Commits

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