|
8e0c00bf1f
|
membershipworks: Improve display of event registrations for printing
Ruff / ruff (push) Successful in 2m9s
Test / test (push) Successful in 5m54s
|
2024-06-18 15:12:51 -04:00 |
|
|
654136d476
|
membershipworks: Don't create event meeting times where end <= start in sync
Ruff / ruff (push) Successful in 2m20s
Test / test (push) Successful in 5m55s
|
2024-06-12 07:58:04 -04:00 |
|
|
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ruff / ruff (push) Successful in 24s
|
2024-02-12 16:26:19 -05:00 |
|
|
7fd9181da1
|
membershipworks: Add changelist action to sync UCS accounts
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
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
Ruff / ruff (push) Successful in 21s
|
2024-02-03 23:33:50 -05:00 |
|
|
560225cdb3
|
membershipworks: Add new event attendee email report
Ruff / ruff (push) Successful in 20s
|
2024-02-02 19:26:06 -05:00 |
|
|
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 |
|
|
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
Ruff / ruff (push) Successful in 22s
|
2024-01-31 20:28:28 -05:00 |
|
|
fc5a911c76
|
membershipworks: Add admin links to event reports
Ruff / ruff (push) Successful in 20s
|
2024-01-30 14:28:09 -05:00 |
|
|
eec1420ee9
|
membershipworks: Fix EventInstructor search_fields
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
Ruff / ruff (push) Successful in 20s
|
2024-01-24 22:12:14 -05:00 |
|
|
ee399e6b64
|
membershipworks: Use bulk_create for Event
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
Ruff / ruff (push) Successful in 22s
|
2024-01-24 16:32:42 -05:00 |
|
|
5f59aac67e
|
Use more generic location for table download component
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 |
|