diff --git a/manage_events/views.py b/manage_events/views.py index 85e9f28..45184b1 100644 --- a/manage_events/views.py +++ b/manage_events/views.py @@ -521,7 +521,7 @@ class CustomerVenueFilterView(LoginRequiredMixin, generic.View): pk = request.GET.get("pk", None) if not pk: return JsonResponseUtil.error(message="Non transfer user list field is required") - obj = self.model.objects.filter(principal=pk) + obj = self.model.objects.filter(principal=pk, active=True) if not obj.exists(): return JsonResponseUtil.error(message="No venue found for the given user.") diff --git a/templates/manage_events/event_add.html b/templates/manage_events/event_add.html index 60c74c1..6321a39 100644 --- a/templates/manage_events/event_add.html +++ b/templates/manage_events/event_add.html @@ -92,13 +92,13 @@ function handlePrincipalChange() { $("#id_principal").change(function(){ var selectedPrincipalId = $(this).val(); - - // clear existing venue options + + // Clear existing venue options $("#id_venue").empty().append($("")); - - if (selectedPrincipalId){ + + if (selectedPrincipalId) { $.ajax({ - url: "{% url 'manage_events:venue_customer_filter'%}", + url: "{% url 'manage_events:venue_customer_filter' %}", type: "GET", data: { pk: selectedPrincipalId }, success: function(data) { @@ -106,6 +106,12 @@ $.each(data.data, function(index, venue) { $("#id_venue").append($("").val(venue.id).text(venue.title)); }); + + // Preselect the venue if a value is already selected + var selectedVenueId = $("#id_venue").data('selected-venue'); + if (selectedVenueId) { + $("#id_venue").val(selectedVenueId); + } }, error: function(jqXHR, textStatus, errorThrown) { console.error("Error fetching venue data:", textStatus, errorThrown); @@ -120,8 +126,18 @@ }); } }); + + // Store the selected venue data + var selectedVenueId = "{{ form.venue.value }}"; + $("#id_venue").data('selected-venue', selectedVenueId); + + // Trigger change event if a principal value is already selected + var selectedPrincipalId = $("#id_principal").val(); + if (selectedPrincipalId) { + $("#id_principal").trigger("change"); + } } - + $(document).ready(function() { // Set multiple attribute for event images document.getElementById('id_event_images').setAttribute('multiple', '');