Commit Graph

206 Commits

Author SHA1 Message Date
d8e6a69719 Apply ruff lint rule DJ012 for model internals ordering 2024-06-07 09:36:49 -04:00
c3f3294f2a membershipworks: Add a __str__ method for EventMeetingTime 2024-06-07 09:36:49 -04:00
521c6cd52a membershipworks: Allow setting verbosity in scrape_events command 2024-06-07 09:36:49 -04:00
b1d3f16459 membershipworks: Add event instructor name to EventInvoice list_display
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 4m5s
2024-05-24 11:38:05 -04:00
229558116b membershipworks: Add event start/end to EventInvoice list_display
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 3m55s
2024-05-24 11:30:34 -04:00
26420ce28e membershipworks: Add a model admin for event invoices
All checks were successful
Ruff / ruff (push) Successful in 30s
Test / test (push) Successful in 4m13s
2024-05-24 11:19:14 -04:00
c03c5ff2f0 membershipworks: Use django.utils.timezone.now instead of django.db.models.functions.Now
All checks were successful
Ruff / ruff (push) Successful in 36s
Test / test (push) Successful in 4m32s
`Now()` produces incorrect results due to timezone mismatch, see
https://code.djangoproject.com/ticket/31638
2024-05-23 23:43:31 -04:00
eeb83388e1 Directly use q_task_group name in django-q2 ensure_scheduled helper
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 3m55s
2024-05-23 23:23:35 -04:00
bd1e009cc2 membershipworks: Only send event survey emails to non-voided participants
All checks were successful
Ruff / ruff (push) Successful in 28s
Test / test (push) Successful in 4m5s
2024-05-23 19:42:57 -04:00
350dc4e1ee membershipworks: Inline event survey_url function 2024-05-23 19:41:57 -04:00
dcf483d19e membershipworks: Automatically send survey emails to event attendees
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 3m55s
2024-05-23 19:20:01 -04:00
7ce28d449f Refactor email generation to use a class-based design like Django views 2024-05-16 00:58:17 -04:00
a7e7fafedd membershipworks: Fix check for existing invoices in EventInvoiceForm
All checks were successful
Ruff / ruff (push) Successful in 1m16s
Test / test (push) Successful in 5m14s
2024-05-15 19:33:17 -04:00
8b1722d1f0 membershipworks: Hide EventExt.registrations from admin
All checks were successful
Ruff / ruff (push) Successful in 27s
Test / test (push) Successful in 4m24s
2024-05-08 12:48:10 -04:00
df4c5564c4 membershipworks: Remove unnecessary admin.display() function 2024-05-08 12:46:56 -04:00
1310e72e3f membershipworks: Convert EventExt.details_timestamp to GeneratedField
was waiting on Django 5.0.5 to fix
https://code.djangoproject.com/ticket/35350
2024-05-08 12:45:34 -04:00
9c2084903f membershipworks: Add view for event registrations 2024-05-05 23:20:47 -04:00
25fbe3d352 membershipworks: Add breadcrumbs for "my events" and event details page 2024-05-05 23:20:43 -04:00
0944dd7992 Fix various type issues 2024-05-04 18:03:22 -04:00
ee2d63f784 membershipworks: Add support for scraping event registration data 2024-05-03 12:37:48 -04:00
c2b1da743c membershipworks: Remove commented out line 2024-05-03 12:37:48 -04:00
79651731b1 membershipworks: Fix missing @property on EventExt.ready_for_invoice
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 4m53s
2024-05-03 12:37:30 -04:00
31cc5312ad membershipworks: More thoroughly check if events are ready for an invoice
All checks were successful
Ruff / ruff (push) Successful in 37s
Test / test (push) Successful in 5m29s
2024-05-02 23:53:48 -04:00
0f30358357 membershipworks: Handle events without instructors better
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 4m59s
2024-05-01 14:35:12 -04:00
b1daa21e2c membershipworks: Reject event invoice form if an invoice already exists
Some checks failed
Ruff / ruff (push) Successful in 29s
Test / test (push) Failing after 4m56s
2024-05-01 14:26:40 -04:00
0f1640a5d6 membershipworks: Adjust invoice PDF spacing
All checks were successful
Ruff / ruff (push) Successful in 1m49s
Test / test (push) Successful in 6m20s
2024-05-01 12:48:43 -04:00
05bdc92a36 membershipworks: Show materials fee as $0.00 in invoice, even when unknown 2024-05-01 12:48:43 -04:00
e6a7e0c974 membershipworks: Reword event invoice, add date to body
All checks were successful
Ruff / ruff (push) Successful in 2m9s
Test / test (push) Successful in 6m27s
2024-04-27 11:01:08 -04:00
ae1116fea8 membershipworks: Add PDF preview for event invoices 2024-04-27 11:01:08 -04:00
029b4dff28 Split tables out of view modules into tables 2024-04-18 11:30:18 -04:00
0ce441336f membershipworks: Add ability for instructors to generate and submit event invoices
Some checks failed
Ruff / ruff (push) Successful in 1m23s
Test / test (push) Failing after 6m7s
2024-04-14 01:31:03 -04:00
b6b16a17d8 membershipworks: Add model and admin for EventInvoice 2024-04-05 14:10:08 -04:00
132b134dc5 membershipworks: Use nh3 to unescape event titles 2024-04-04 00:23:06 -04:00
58cc8cb2f8 doorcontrol: Add EventTicketType method to group by member/non-member 2024-03-29 12:01:23 -04:00
0318a610e7 membershipworks: Use monospace font for invoice header math 2024-03-29 12:01:23 -04:00
1ac1470d29 membershipworks: Rename Instructor Revenue column in invoices 2024-03-29 12:01:23 -04:00
bc52dd3369 Add permissions-based visible method to LinksCardDashboardFragment 2024-03-15 12:11:30 -04:00
dc9a06b415 Remove separate membershipworks database, merging it into default 2024-02-23 13:01:37 -05:00
d59318e2a5 membershipworks: Add Missing Paperwork report 2024-02-16 11:38:45 -05:00
dd6ef35223 membershipworks: Constrain EventMeetingTime.end after start
All checks were successful
Ruff / ruff (push) Successful in 24s
2024-02-12 16:26:19 -05:00
7fd9181da1 membershipworks: Add changelist action to sync UCS accounts
All checks were successful
Ruff / ruff (push) Successful in 21s
2024-02-08 15:45:02 -05:00
43f992e2c3 paperwork: Remove suffixes from names in shopleads mailing list
Mailman3 doesn't have display names per list anymore, so this is
somewhat confusing
2024-02-07 13:40:04 -05:00
26514e60fb dashboard: Add more flexible Link Card dashboard fragment
with support for tooltips and accordions
2024-02-06 00:42:14 -05:00
387767204a membershipworks: Add upcoming events to dashboard 2024-02-05 19:51:55 -05:00
72a1ce8750 membershipworks: Add/fix migrations for earlier manual fixes
All checks were successful
Ruff / ruff (push) Successful in 21s
2024-02-04 22:37:22 -05:00
824c37df04 membershipworks: Ignore EventExt.materials_fee_included_in_price when materials fee is 0
All checks were successful
Ruff / ruff (push) Successful in 21s
2024-02-03 23:33:50 -05:00
560225cdb3 membershipworks: Add new event attendee email report
All checks were successful
Ruff / ruff (push) Successful in 20s
2024-02-02 19:26:06 -05:00
2d16029ed7 membershipworks: Switch EventExt.details_timestamp to an annotation
All checks were successful
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
8961542d14 Use decorator to keep track of group names for django-q2 tasks 2024-02-01 11:10:22 -05:00
3d7d428914 membershipworks: Add event invoices and financial info to event reports
All checks were successful
Ruff / ruff (push) Successful in 22s
2024-01-31 20:28:28 -05:00
fc5a911c76 membershipworks: Add admin links to event reports
All checks were successful
Ruff / ruff (push) Successful in 20s
2024-01-30 14:28:09 -05:00
eec1420ee9 membershipworks: Fix EventInstructor search_fields
All checks were successful
Ruff / ruff (push) Successful in 1m16s
2024-01-29 21:49:45 -05:00
e10bcd5b49 membershipworks: Add storage and scraping for Event details 2024-01-29 21:48:19 -05:00
334f8d4bf8 membershipworks: Move table-specific queryset operations into get_table_data 2024-01-29 14:18:00 -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
0eab482893 Allow empty lines in templates 2024-01-26 14:13:46 -05:00
19d8e888f4 membershipworks: Add EventExt.materials_fee_included_in_price field
All checks were successful
Ruff / ruff (push) Successful in 20s
2024-01-24 22:12:14 -05:00
ee399e6b64 membershipworks: Use bulk_create for Event
All checks were successful
Ruff / ruff (push) Successful in 21s
Work around for issues with GeneratedField. Also faster anyway.
2024-01-24 18:35:25 -05:00
e0b5820bc2 membershipworks: Don't try to set generated fields in from_api_dict
All checks were successful
Ruff / ruff (push) Successful in 22s
2024-01-24 16:32:42 -05:00
5f59aac67e Use more generic location for table download component
All checks were successful
Ruff / ruff (push) Successful in 23s
2024-01-24 00:20:12 -05:00
bfe9fc7c2c membershipworks: Add download buttons for event reports 2024-01-24 00:03:57 -05:00
97e9a3c9d5 membershipworks: Use django-tables2 for event reports 2024-01-22 14:41:11 -05:00
1dd2fa521a membershipworks: Set more useful titles in event report templates 2024-01-22 12:28:56 -05:00
0a3a709ab5 membershipworks: Fix djlint formatting in event report templates 2024-01-22 00:57:19 -05:00
8155402dbb membershipworks: Round durations in event reports to two digits 2024-01-22 00:56:28 -05:00
c489c492b2 membershipworks: Fix scope attribute in event report templates 2024-01-22 00:56:19 -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
4561e317b8 Enable/apply ruff's "flake6-simplify" rules 2024-01-19 15:16:47 -05:00
37cb41af1b Enable ruff's "pylint" rules 2024-01-18 14:21:36 -05:00
3728442680 Enable/apply ruff's "perflint" 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
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
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
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
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