refactor datatables

This commit is contained in:
bobbyvish
2024-03-26 13:22:29 +05:30
parent 64c172ab59
commit 2a4f507a6f
22 changed files with 1191 additions and 391 deletions

View File

@@ -10,6 +10,7 @@ urlpatterns = [
path('faq/add/', views.FaqCreateOrUpdateView.as_view(), name='faq_add'),
path('faq/edit/<int:pk>/', views.FaqCreateOrUpdateView.as_view(), name='faq_edit'),
path('faq/action/', views.FaqActionView.as_view(), name='faq_action'),
path('faq/archive/', views.FaqArchiveView.as_view(), name='faq_archive'),
path('about-us/', views.AboutUsView.as_view(), name='about_us'),
path('about-us/edit/', views.AboutUsCreateOrUpdateView.as_view(), name='about_us_add'),

View File

@@ -44,23 +44,18 @@ class FaqListJson(BaseDatatableView):
return self.model.objects.filter(deleted=deleted_flag)
def filter_queryset(self, qs):
# Implement your custom filtering logic here
print(f"request is {self.request.GET}")
search_value = self.request.GET.get("search[value]", None)
if search_value:
qs = qs.filter(
Q(id__icontains=search_value)
| Q(question__icontains=search_value)
| Q(answer__icontains=search_value)
)
# def filter_queryset(self, qs):
# # Implement your custom filtering logic here
# print(f"request is {self.request.GET}")
# search_value = self.request.GET.get("search[value]", None)
# if search_value:
# qs = qs.filter(
# Q(id__icontains=search_value)
# | Q(question__icontains=search_value)
# | Q(answer__icontains=search_value)
# )
for column in self.columns:
search_value = self.request.GET.get(f'columns[{self.columns.index(column)+1}][search][value]', None)
if search_value:
qs = qs.filter(**{f"{column}__icontains": search_value})
return qs
# return qs
def ordering(self, qs):
order = self.request.GET.get('order[0][dir]', None)
@@ -143,6 +138,19 @@ class FaqCreateOrUpdateView(LoginRequiredMixin, generic.View):
class FaqActionView(ActionMixin):
model = Faqs
class FaqArchiveView(LoginRequiredMixin, generic.TemplateView):
page_name = iam_constant.RESOURCE_MANAGE_FAQS
resource = None
action = None
template_name = "module_cms/faq_archive.html"
model = Faqs
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["page_name"] = self.page_name
return context
class AboutUsView(LoginRequiredMixin, generic.DetailView):
page_name = iam_constant.RESOURCE_MANAGE_CMS
template_name = "module_cms/about_us_view.html"