27974e7de6
Enable/apply ruff's "pyupgrade" rules
2024-01-18 14:21:36 -05:00
de0db9ac5a
Enable ruff's "comprehensions" rules
2024-01-18 14:21:36 -05:00
02777265b0
Switch from Black to Ruff for formatting, add linting/import sorting
2024-01-18 14:21:36 -05:00
978024c538
membershipworks: Annotate EventExt.meeting_times__count
2024-01-18 13:58:28 -05:00
8498d311d5
membershipworks: Convert EventExt.person_hours to annotation
2024-01-18 13:58:28 -05:00
b8c2792f0a
membershipworks: Convert EventExt.duration annotation to a Subquery
...
should be somewhat less performant, but allows for easier aggregation
2024-01-18 13:58:28 -05:00
0633e4ecef
membershipworks: Add breadcrumbs for EventMonthReport
2024-01-18 13:58:28 -05:00
aa143febeb
Add breadcrumbs to base template header
2024-01-18 13:58:28 -05:00
27c705668c
membershipworks: Slightly simplify admin task "last run time" logic
2024-01-18 13:58:28 -05:00
1fe097ca86
membershipworks: Require "view EventExt" permission for upcoming events
2024-01-18 13:58:28 -05:00
44692d8d9b
membershipworks: Use more specific name for EventMonthReport
2024-01-18 13:58:28 -05:00
270e6c7837
membershipworks: Add basic per-month event report
2024-01-15 21:31:06 -05:00
34821e1c58
membershipworks: Update Transaction.for_what csv field name
2024-01-05 14:58:37 -05:00
8e4353c925
membershipworks/ucsAccounts: Don't set email if empty in MembershipWorks
2024-01-05 14:55:42 -05:00
da0767a0e9
Catch errors in Django-Q2 email reporter
2024-01-05 14:39:33 -05:00
188824d53b
membershipworks: Collapse sequential periods in ucsAccounts usernames
2024-01-05 14:39:33 -05:00
35d8fec2a3
membershipworks: Use GeneratedField for EventMeetingTime.duration
...
Relevant Django bug was fixed in 5.0.1
https://code.djangoproject.com/ticket/35019
2024-01-05 14:39:33 -05:00
40ac6ef97f
Bump dependencies
2024-01-03 14:23:51 -05:00
34f520aa81
membershipworks: Autocomplete instructor field in EventExt admin
2024-01-02 19:26:06 -05:00
8827a77c0c
membershipworks: Hide actual URL field in EventExt admin
2024-01-02 19:21:48 -05:00
fbdfb47e60
membershipworks: Improve EventExt admin
2024-01-02 10:54:29 -05:00
f2332dbe37
membershipworks: Add EventExt instructor invoice fields
2024-01-01 21:15:03 -05:00
f5688e39c3
membershipworks: Scrape event data, with extension model for extra data
2023-12-30 14:36:21 -05:00
546b13428e
membershipworks: Allow get_events_list to use end date, retrieve categories
2023-12-30 13:27:19 -05:00
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