Commit Graph

498 Commits

Author SHA1 Message Date
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
06fffca262 Add script to delete member addresses from database 2020-09-27 04:02:07 +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
854db4b258 Add execution permissions to scripts 2020-09-15 20:59:39 +00:00
f55d8c609e Add scripts to import laser certs based off groups 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
5f08bd5e01 Add missing LDAP server requirements 2020-09-15 20:59:38 +00:00
4e6df6ebd0 Upgrade Pillow to fix exif image data bug 2020-08-20 23:53:28 +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
890fa996af Add script to export member addresses 2020-08-08 23:48:22 +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
e4ad7e9865 Bump Pillow version to 7.1.0 2020-08-03 02:27:37 +00:00
83cba3e896 Document /stats/ API route 2020-08-02 19:28:09 -06: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
892bb09e4c Add script to generate previous member cards 2020-07-17 04:46:05 +00:00
33e9ddd30f Accept photo crop data over member details API 2020-07-17 04:45:35 +00:00
d5be3b65de Adjust member card template 2020-07-16 16:50:32 -06: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
ee7c9d53d1 Mirror member card template to hide white line 2020-07-16 16:03:12 -06:00
b9a7d118dc Adjust member card template 2020-07-12 15:18:59 -06:00
d8c93fed06 Add member card template image 2020-07-11 23:54:38 -06: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
ca808e1d67 Document password reset URL change 2020-06-23 20:59:58 +00:00
a6e1876b93 Send reset password to LDAP server 2020-06-23 20:58:53 +00:00
8ddb1ca949 Document password reset route change 2020-06-20 03:49:18 +00:00
c5767f033c Add custom password reset check 2020-06-20 03:48:31 +00:00
1e685187df Document password reset route 2020-06-20 00:35:58 +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
537b0e7339 Document bypass code 2020-06-11 01:20:01 +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
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