diff --git a/core/__pycache__/forms.cpython-311.pyc b/core/__pycache__/forms.cpython-311.pyc index c88bd47..a81cff1 100644 Binary files a/core/__pycache__/forms.cpython-311.pyc and b/core/__pycache__/forms.cpython-311.pyc differ diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 5a7894e..1b0776e 100644 Binary files a/core/__pycache__/urls.cpython-311.pyc and b/core/__pycache__/urls.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 935de85..2874f74 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/forms.py b/core/forms.py index 6ce5422..2208cad 100644 --- a/core/forms.py +++ b/core/forms.py @@ -30,7 +30,6 @@ class VoterForm(forms.ModelForm): self.fields['yard_sign'].widget.attrs.update({'class': 'form-select'}) class InteractionForm(forms.ModelForm): - # ... (rest of the file remains the same) class Meta: model = Interaction fields = ['type', 'date', 'description', 'notes'] @@ -107,15 +106,3 @@ class EventForm(forms.ModelForm): for field in self.fields.values(): field.widget.attrs.update({'class': 'form-control'}) self.fields['event_type'].widget.attrs.update({'class': 'form-select'}) - -class EventTypeForm(forms.ModelForm): - class Meta: - model = EventType - fields = ['name', 'is_active'] - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - for field in self.fields.values(): - if not isinstance(field.widget, forms.CheckboxInput): - field.widget.attrs.update({'class': 'form-control'}) - self.fields['is_active'].widget.attrs.update({'class': 'form-check-input'}) \ No newline at end of file diff --git a/core/templates/base.html b/core/templates/base.html index 1fed896..c922003 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -40,9 +40,6 @@ -
Admin Panel diff --git a/core/templates/core/event_type_list.html b/core/templates/core/event_type_list.html deleted file mode 100644 index fa9e81b..0000000 --- a/core/templates/core/event_type_list.html +++ /dev/null @@ -1,127 +0,0 @@ -{% extends 'base.html' %} -{% load static %} - -{% block content %} -
-
-
- -

Event Types

-
- -
- -
-
- - - - - - - - - - {% for type in event_types %} - - - - - - - - - {% empty %} - - - - {% endfor %} - -
NameStatusActions
{{ type.name }} - {% if type.is_active %} - Active - {% else %} - Inactive - {% endif %} - - -
- {% csrf_token %} - -
-
- - No event types defined yet. -
-
-
-
- - - -{% endblock %} diff --git a/core/urls.py b/core/urls.py index 1bf1955..a1d2ea2 100644 --- a/core/urls.py +++ b/core/urls.py @@ -24,10 +24,4 @@ urlpatterns = [ path('voters//event-participation/add/', views.add_event_participation, name='add_event_participation'), path('event-participation//edit/', views.edit_event_participation, name='edit_event_participation'), path('event-participation//delete/', views.delete_event_participation, name='delete_event_participation'), - - # Maintenance - path('maintenance/event-types/', views.event_type_list, name='event_type_list'), - path('maintenance/event-types/add/', views.event_type_add, name='event_type_add'), - path('maintenance/event-types//edit/', views.event_type_edit, name='event_type_edit'), - path('maintenance/event-types//delete/', views.event_type_delete, name='event_type_delete'), -] +] \ No newline at end of file diff --git a/core/views.py b/core/views.py index 80e7a0c..c56d0e8 100644 --- a/core/views.py +++ b/core/views.py @@ -4,7 +4,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.db.models import Q, Sum from django.contrib import messages from .models import Voter, Tenant, Interaction, Donation, VoterLikelihood, EventParticipation, Event, EventType, InteractionType, DonationMethod, ElectionType -from .forms import VoterForm, InteractionForm, DonationForm, VoterLikelihoodForm, EventParticipationForm, EventTypeForm +from .forms import VoterForm, InteractionForm, DonationForm, VoterLikelihoodForm, EventParticipationForm import logging logger = logging.getLogger(__name__) @@ -315,63 +315,6 @@ def delete_event_participation(request, participation_id): messages.success(request, "Event participation removed.") return redirect(reverse('voter_detail', kwargs={'voter_id': voter_id}) + '?active_tab=events') -def event_type_list(request): - """ - Maintenance page for Event Types. - """ - selected_tenant_id = request.session.get('tenant_id') - if not selected_tenant_id: - messages.warning(request, "Please select a campaign first.") - return redirect('index') - - tenant = get_object_or_404(Tenant, id=selected_tenant_id) - event_types = EventType.objects.filter(tenant=tenant) - - context = { - 'event_types': event_types, - 'selected_tenant': tenant, - 'form': EventTypeForm(), - } - return render(request, 'core/event_type_list.html', context) - -def event_type_add(request): - selected_tenant_id = request.session.get('tenant_id') - tenant = get_object_or_404(Tenant, id=selected_tenant_id) - - if request.method == 'POST': - form = EventTypeForm(request.POST) - if form.is_valid(): - event_type = form.save(commit=False) - event_type.tenant = tenant - event_type.save() - messages.success(request, "Event type added.") - return redirect('event_type_list') - -def event_type_edit(request, type_id): - selected_tenant_id = request.session.get('tenant_id') - tenant = get_object_or_404(Tenant, id=selected_tenant_id) - event_type = get_object_or_404(EventType, id=type_id, tenant=tenant) - - if request.method == 'POST': - form = EventTypeForm(request.POST, instance=event_type) - if form.is_valid(): - form.save() - messages.success(request, "Event type updated.") - return redirect('event_type_list') - -def event_type_delete(request, type_id): - selected_tenant_id = request.session.get('tenant_id') - tenant = get_object_or_404(Tenant, id=selected_tenant_id) - event_type = get_object_or_404(EventType, id=type_id, tenant=tenant) - - if request.method == 'POST': - try: - event_type.delete() - messages.success(request, "Event type deleted.") - except Exception as e: - messages.error(request, f"Cannot delete event type: {e}") - return redirect('event_type_list') - def voter_geocode(request, voter_id): """ Manually trigger geocoding for a voter, potentially using values from the request.