fix: age-group filter, url redirect

This commit is contained in:
bobbyvish
2024-08-23 17:25:08 +05:30
parent 1f580c099d
commit 70d807220e
6 changed files with 23 additions and 7 deletions

View File

@@ -797,8 +797,18 @@ class CustomerUpdateView(LoginRequiredMixin, generic.View):
return render(request, self.template_name, context=context)
class CustomerDetailView(LoginRequiredMixin, generic.DetailView):
page_name = resource_action.RESOURCE_MANAGE_CUSTOMER
resource = resource_action.RESOURCE_MANAGE_CUSTOMER
action = resource_action.ACTION_READ
template_name = 'accounts/customer/customer_detail.html'
def get_context_data(self, **kwargs):
context = {
"page_name": self.page_name,
}
context.update(kwargs) # Include any additional context data passed to the view
return context
def get(self, request, *args, **kwargs):
principal_obj = IAmPrincipal.objects.get(pk=kwargs.get("pk"))
try:
@@ -806,7 +816,8 @@ class CustomerDetailView(LoginRequiredMixin, generic.DetailView):
except Exception as e:
principal_preference = None
principal_subscription = PrincipalSubscription.objects.filter(principal=principal_obj).order_by("-start_date").first()
return render(request, self.template_name, locals())
context = self.get_context_data(principal_obj=principal_obj,principal_preference=principal_preference,principal_subscription=principal_subscription)
return render(request, self.template_name, context=context)
class CustomerListView(LoginRequiredMixin, generic.ListView):
page_name = resource_action.RESOURCE_MANAGE_CUSTOMER

View File

@@ -14,7 +14,7 @@ class EventFilter(filters.FilterSet):
# end_date = filters.DateFilter(field_name="end_date", lookup_expr="lte")
price_from = filters.NumberFilter(field_name="entry_fee", lookup_expr="gte")
price_to = filters.NumberFilter(field_name="entry_fee", lookup_expr="lte")
age_group = filters.CharFilter(field_name="age_group", lookup_expr="icontains")
age_group = filters.CharFilter(method="filter_age_group")
class Meta:
model = Event
@@ -32,6 +32,11 @@ class EventFilter(filters.FilterSet):
def filter_category(self, queryset, name, value):
category = value.split(',')
return queryset.filter(category__title__in=category)
def filter_age_group(self, queryset, name, value):
age_group = value.split(',')
return queryset.filter(age_group__in=age_group)
# def filter_queryset(self, queryset):
# queryset = super().filter_queryset(queryset)

View File

@@ -72,7 +72,7 @@ class Subscription(BaseModel):
# Create new product and price
price = StripeService.create_price(
product_data={
"name": self.txitle,
"name": self.title,
"description": self.short_description,
},
unit_amount=int(self.amount * 100),

View File

@@ -178,8 +178,8 @@ class SubscriptionDeleteView(LoginRequiredMixin, generic.View):
class PrincipalSubscriptionCreateOrUpdateView(LoginRequiredMixin, generic.View):
# Set the page_name and resource
page_name = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS
resource = resource_action.RESOURCE_MANAGE_SUBSCRIPTIONS
page_name = resource_action.RESOURCE_PRINCIPAL_SUBSCRIPTIONS
resource = resource_action.RESOURCE_PRINCIPAL_SUBSCRIPTIONS
# Initialize the action as ACTION_CREATE (can change based on logic)
action = resource_action.ACTION_CREATE # Default action

View File

@@ -146,7 +146,7 @@ class TransactionView(APIView):
models.TransactionStatus.SUCCESS,
models.TransactionStatus.FAIL,
],
)
).order_by("-created_on")
serializer = serializers.TransactionSerializer(queryset, many=True)
response = {

View File

@@ -16,7 +16,7 @@
<div class="col-lg-12">
<div class="row mb-2">
<div class="col">
<h3>{{operation}} {{page_name}}</h3>
<h3>{{operation}} Customer Subscription</h3>
</div>
<div class="col text-end">
<button class="btn btn-dark mb-2 me-4" onclick="history.back()">