membershipworks: Add refresh data button for event details page
All checks were successful
Ruff / ruff (push) Successful in 31s
Test / test (push) Successful in 5m48s

Closes #56
This commit is contained in:
Adam Goldsmith 2024-12-20 23:35:27 -05:00
parent 1e09ebf24b
commit d9ae263da0
2 changed files with 15 additions and 5 deletions

View File

@ -13,10 +13,16 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="container"> <div class="container">
{% if event.registrations is not None %} <div class="row justify-content-center d-print-none">
{% url 'membershipworks:event-registrations' event.pk as registrations_url %} <div class="col-auto">
{% bootstrap_button href=registrations_url content="Show Registrations" %} {% if event.registrations is not None %}
{% endif %} {% url 'membershipworks:event-registrations' event.pk as registrations_url %}
{% bootstrap_button extra_classes="btn-sm" href=registrations_url content="Show Registrations" %}
{% endif %}
</div>
<div class="col-auto">{% include "membershipworks/components/refresh_data_button.dj.html" %}</div>
</div>
{% include "membershipworks/event_invoice.dj.html" %} {% include "membershipworks/event_invoice.dj.html" %}
<div class="card w-auto mt-5"> <div class="card w-auto mt-5">

View File

@ -41,7 +41,7 @@ from django_weasyprint import WeasyTemplateResponseMixin
from django_weasyprint.utils import django_url_fetcher from django_weasyprint.utils import django_url_fetcher
from membershipworks.membershipworks_api import MembershipWorks from membershipworks.membershipworks_api import MembershipWorks
from membershipworks.tasks.scrape import scrape_event_details from membershipworks.tasks.scrape import scrape_event_details, scrape_events
from .forms import EventInvoiceForm from .forms import EventInvoiceForm
from .invoice_email import make_invoice_emails from .invoice_email import make_invoice_emails
@ -311,6 +311,10 @@ class EventDetailView(
if self.request.user.has_perm( if self.request.user.has_perm(
self.permission_required self.permission_required
) or self.object.user_is_instructor(self.request.user): ) or self.object.user_is_instructor(self.request.user):
if "refresh" in self.request.GET:
scrape_events()
scrape_event_details([self.object])
return super().render_to_response(context, **response_kwargs) return super().render_to_response(context, **response_kwargs)
else: else:
return self.handle_no_permission() return self.handle_no_permission()