2d16029ed7
membershipworks: Switch EventExt.details_timestamp to an annotation
...
Ruff / ruff (push) Successful in 22s
to avoid issues with saving new objects with GeneratedFields when the
pk is set
2024-02-01 11:14:49 -05:00
3d7d428914
membershipworks: Add event invoices and financial info to event reports
Ruff / ruff (push) Successful in 22s
2024-01-31 20:28:28 -05:00
e10bcd5b49
membershipworks: Add storage and scraping for Event details
2024-01-29 21:48:19 -05:00
29e87c4468
membershipworks: Change name for EventExt.meetings to avoid extra queries
2024-01-29 14:18:00 -05:00
dafd8cc620
membershipworks: Add default ordering by start field to EventExt
2024-01-29 14:17:58 -05:00
21fe7f66cd
membershipworks: Expose EventExtQuerySet methods on EventExtManager
2024-01-28 23:54:55 -05:00
19d8e888f4
membershipworks: Add EventExt.materials_fee_included_in_price field
Ruff / ruff (push) Successful in 20s
2024-01-24 22:12:14 -05:00
e0b5820bc2
membershipworks: Don't try to set generated fields in from_api_dict
Ruff / ruff (push) Successful in 22s
2024-01-24 16:32:42 -05:00
599b7f7785
membershipworks: Use unique name for sum of count of EventExt.meeting_times
2024-01-22 00:56:02 -05:00
df621988f6
membershipworks: Fix bad grouping in EventExt.summarize using subquery
2024-01-19 16:25:20 -05:00
bfa04be2d9
membershipworks: Add event index and year reports
2024-01-19 15:41:27 -05:00
cbe8d24fe4
membershipworks: Add generated field to check if an event occured
2024-01-19 15:22:05 -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
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
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
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
08dde9a4f4
membershipworks: Make MW api->model BaseModel more generic
2023-12-30 13:26:44 -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
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
0ee423c079
membershipworks: Expand undersized Transaction.sid field
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
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
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
feed128a3b
Re-apply Black formatting
2023-09-07 10:56:22 -04:00
a3a8c305ac
membershipworks: Use EXISTS for testing flags in is_active
...
This behaves much more correctly, although may not have ideal performance
2023-08-27 13:48:48 -04:00
41d8ed691b
Move Member by user and Departments by shop lead lookups to models
2023-04-25 23:23:27 -04:00
b48c723bc4
Optimize member autocomplete by using indexes and istartswith
2023-03-31 23:54:16 -04:00
c6f546d080
Fix some mypy typing issues
2023-02-02 22:33:32 -05:00
d5a45a0589
paperwork: Use Volunteer Email field for shop leads in mailing lists
2023-02-02 21:38:19 -05:00
efe476b367
paperwork: Also generate the ShopLeads mailing list in api
2023-01-23 21:12:00 -05:00
068a5f1ccd
membershipworks: Sort flags by name by default
2023-01-23 21:12:00 -05:00
39f97dd6f9
membershipworks: Use django functions to sanitize Member mailbox
2023-01-19 14:39:30 -05:00
aa87026e99
membershipworks: Move Member.with_is_active()
to a QuerySet
2023-01-17 16:28:27 -05:00
9a2915b247
membershipworks: Fix is_active
check by using aggregation
2023-01-03 19:48:36 -05:00
60bbe18322
membershipworks: Require "Members" or "CMS Staff" folder for is_active
check
2023-01-03 16:37:46 -05:00
a53c9409bb
membershipworks: Correctly invert is_active check on Member
2022-12-25 10:20:50 -05:00
245e946fc2
Add is_active
annotatation helper to membershipworks.Member
2022-12-24 14:04:54 -05:00
ad28f96129
membershipworks: Remove unused import
2022-12-08 15:21:55 -05:00
35f714760d
Add/apply black formatter
2022-02-11 23:50:46 -05:00