Commit Graph

434 Commits

Author SHA1 Message Date
08dde9a4f4 membershipworks: Make MW api->model BaseModel more generic 2023-12-30 13:26:44 -05:00
02986bdabc Replace {django-,}bleach with {django-,}nh3, as bleach is now deprecated
https://bluesock.org/~willkg/blog/dev/bleach_6_0_0_deprecation.html
nh3/ammonia is faster anyway. django-nh3 is not yet feature complete,
but cmsmanage was only using the template tag anyway
2023-12-30 12:54:08 -05:00
d7e919f6f0 Bump dependencies 2023-12-30 12:18:37 -05:00
ee7c18f575 Add search fields and date drilldowns to various admin pages 2023-12-29 18:23:10 -05:00
0ab7da0463 membershipworks: Change line spacing in the header of upcoming-events 2023-12-28 10:43:28 -05:00
ba913154d6 membershipworks: Use ClipboardItem API when available in upcoming-events 2023-12-28 10:41:56 -05:00
275de1e7e7 Use full Cython based uvicorn for server performance 2023-12-26 14:16:26 -05:00
d44903b561 membershipworks: Remove DB constraints for FKs to Members table
MariaDB doesn't support partitions on tables with FKs, and performance
of the Members table has become unusable due to size caused by system
versioning
2023-12-26 12:47:06 -05:00
9a0d6012b9 membershipworks: Fix layout/use wordpress blocks in upcoming-events 2023-12-24 00:21:24 -05:00
7b20c784d5 paperwork: Handle missing certification definition/version in admin form 2023-12-22 15:41:16 -05:00
65669ab5da membershipworks: Remove an extra debug print statement 2023-12-22 13:43:26 -05:00
8d78868e88 membershipworks: Handle case where scrape task has never been run in admin action 2023-12-22 13:37:19 -05:00
97bcc1df6d membershipworks: Add upcoming events generator 2023-12-22 01:08:20 -05:00
7afcc1f9e0 membershipworks: Add "refresh data" changelist actions to admin 2023-12-21 14:56:38 -05:00
5ddd0e68ac membershipworks/api: Schedule scraping task 2023-12-21 14:56:22 -05:00
dc648d6770 membershipworks: Move scrape task to 'tasks' submodule 2023-12-20 13:04:56 -05:00
68c9b3f82d membershipworks: Add methods to get event listing and events by eid/url 2023-12-20 13:04:56 -05:00
cf55c2aed5 membershipworks: Handle Byte Order Mark (BOM) in CSVs 2023-12-20 13:04:56 -05:00
3fcfddb221 membershipworks: Allow missing fields in transactions json 2023-12-20 13:04:56 -05:00
b8b6e7abf1 membershipworks: Use get_attname_column() to get correct field name/column 2023-12-20 13:04:56 -05:00
18a811ce44 membershipworks: Move scraping logic to tasks module 2023-12-20 13:04:56 -05:00
0ee423c079 membershipworks: Expand undersized Transaction.sid field 2023-12-20 13:04:56 -05:00
ea94d9a3df membershipworks: Move member and transaction scraping into separate functions 2023-12-20 13:04:56 -05:00
02c9be5ae6 membershipworks: Get only transactions since last in database + 1 second
This avoids having to deduplicate transactions, at the cost of
hypothetically missing transactions in some unlikely edge cases
2023-12-20 13:04:56 -05:00
7563e5dcea membershipworks: Ensure that all expected fields are present in data 2023-12-20 13:04:56 -05:00
cd63a169aa membershipworks: Scrape Transactions 2023-12-20 13:04:56 -05:00
0a92c28efc membershipworks: Scrape folder membership from membershipworks api 2023-12-20 12:47:46 -05:00
dfacf813e2 membershipworks: Add API module and command for scraping data 2023-12-20 12:47:46 -05:00
6b3113e839 membershipworks: Remove Member fields that no longer exist in MembershipWorks 2023-12-20 12:47:46 -05:00
42f75f0858 membershipworks: Sync initial migration to current state of database 2023-12-20 12:47:46 -05:00
365efdacf7 membershipworks: Allow migrations for membershipworks database 2023-12-20 12:47:46 -05:00
bfefa840ea membershipworks: Set models as managed 2023-12-20 12:47:46 -05:00
01b20cd844 membershipworks: Define nullable fields as blank 2023-12-20 12:47:46 -05:00
7f7c6484ea membershipworks: Add Transaction model and admin
Retroactively adding to the initial migration as this table already
existed, just wasn't represented in the Django app yet
2023-12-20 00:26:42 -05:00
017aea4b3e doorcontrol: Improve responsiveness of form controls and table in reports 2023-12-06 21:53:59 -05:00
e03b9e3c70 Always show admin facet counts in most models with filters
New feature in Django 5.0

Didn't enable always on HIDEvent admin, as the table size is relatively large
2023-12-04 13:09:13 -05:00
cacde865c0 doorcontrol: Convert HIDEvent.is_red to newly added GeneratedField
model.GeneratedField is new in Django 5.0
2023-12-04 12:05:37 -05:00
71ab17b2ce Update django to 5.0 2023-12-04 11:38:32 -05:00
f53a8c601a Bump dependencies 2023-12-04 11:35:34 -05:00
d2f87fd37b membershipworks: Add task to sync members with UCS users
UCS = Univention Corporate Server.
Ported from memberPlumbing
2023-12-04 11:27:04 -05:00
ba58d90bf7 doorcontrol: Move task scheduling into doorcontrol.apps directly 2023-12-01 23:50:41 -05:00
a50112c534 paperwork: Use window functions for CertificationVersion is_current/is_latest
This should be a lot more efficient, and is much cleaner code too
2023-12-01 13:07:17 -05:00
caf8c2cf45 doorcontrol: Generate dashboard links for all reports 2023-12-01 11:55:50 -05:00
654d5e34bd doorcontrol: Add change vs previous unit time to "Access per x" reports 2023-12-01 11:54:40 -05:00
a177ff1ed6 doorcontrol: Add busiest time of day/week reports 2023-11-30 12:06:16 -05:00
70691ff972 doorcontrol: Improve performance of door access report views 2023-11-29 21:31:29 -05:00
72fa458f6e Remove separate database for doorcontrol app 2023-11-29 17:28:41 -05:00
f35372dbcd Fix setup commands in README 2023-11-29 17:28:41 -05:00
d3da615e8e Bump pre-commit dependencies 2023-11-29 17:28:41 -05:00
db238befa6 doorcontrol: Return count of retrieved/created messages in fetch task 2023-11-29 17:28:41 -05:00