From 935ecf1b68663622641b27737e7db225b101ebdb Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Fri, 6 Feb 2026 23:01:54 +0000 Subject: [PATCH] Autosave: 20260206-230153 --- core/__pycache__/forms.cpython-311.pyc | Bin 38438 -> 38712 bytes core/__pycache__/views.cpython-311.pyc | Bin 113069 -> 114516 bytes core/forms.py | 7 +-- .../templates/core/voter_advanced_search.html | 10 +++- core/views.py | 45 ++++++++++++++---- 5 files changed, 50 insertions(+), 12 deletions(-) diff --git a/core/__pycache__/forms.cpython-311.pyc b/core/__pycache__/forms.cpython-311.pyc index 8bace115a512435d6a5dd3f54be68cc8b1a7d513..dea8a66c6703a0709541ec320334f2b38c7018c1 100644 GIT binary patch delta 8570 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 delta 8322 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 b6ISGwTC9ag(W80-lo#$CZe(yShs*y5o5Ij% diff --git a/core/forms.py b/core/forms.py index 670ed7f..9286565 100644 --- a/core/forms.py +++ b/core/forms.py @@ -1,6 +1,7 @@ from django import forms from django.contrib.auth.models import User from .models import Voter, Interaction, Donation, VoterLikelihood, InteractionType, DonationMethod, ElectionType, Event, EventParticipation, EventType, Tenant, ParticipationStatus, Volunteer, VolunteerEvent, VolunteerRole, ScheduledCall +from core.permissions import get_user_role class Select2MultipleWidget(forms.SelectMultiple): """ @@ -83,7 +84,6 @@ class VoterForm(forms.ModelForm): if self.user.is_superuser: is_admin = True elif self.tenant: - from .permissions import get_user_role role = get_user_role(self.user, self.tenant) if role in ["admin", "system_admin", "campaign_admin"]: is_admin = True @@ -137,6 +137,8 @@ class AdvancedVoterSearchForm(forms.Form): choices=[('', 'Any')] + Voter.WINDOW_STICKER_CHOICES, required=False ) + min_total_donation = forms.DecimalField(required=False, min_value=0, label="Min Total Donation") + max_total_donation = forms.DecimalField(required=False, min_value=0, label="Max Total Donation") def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -488,5 +490,4 @@ class UserUpdateForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.fields.values(): - field.widget.attrs.update({'class': 'form-control'} -) \ No newline at end of file + field.widget.attrs.update({'class': 'form-control'}) diff --git a/core/templates/core/voter_advanced_search.html b/core/templates/core/voter_advanced_search.html index 769d26f..7f0ee6a 100644 --- a/core/templates/core/voter_advanced_search.html +++ b/core/templates/core/voter_advanced_search.html @@ -69,6 +69,14 @@ {{ form.window_sticker }} +
+ + {{ form.min_total_donation }} +
+
+ + {{ form.max_total_donation }} +
{{ form.is_targeted }} @@ -324,7 +332,7 @@
-