Skip to content
Snippets Groups Projects

:busts_in_silhouette: Add compounds list view

Merged Muhammad Arsalan requested to merge submitter into main
5 files
+ 98
7
Compare changes
  • Side-by-side
  • Inline
Files
5
+ 16
5
from django.contrib.messages.views import SuccessMessageMixin
from django.urls import reverse_lazy
from django.views.generic import DetailView, TemplateView, UpdateView, FormView
from django.views.generic import DetailView, TemplateView, UpdateView, FormView, ListView
from libRDChEBI.depiction import depict
from django.db.models import Q
from chebi_models.models import Compound, User, Names, Status, DatabaseAccession
@@ -91,10 +92,6 @@ class SubmitCompoundView(SuccessMessageMixin, FormView):
return kwargs
# https://docs.djangoproject.com/en/5.1/topics/forms/modelforms/
# https://docs.djangoproject.com/en/5.1/topics/forms/formsets/
class SubmitterProfileView(SuccessMessageMixin, UpdateView):
model = User
form_class = SubmitterProfileForm
@@ -106,6 +103,20 @@ class SubmitterProfileView(SuccessMessageMixin, UpdateView):
return self.request.user
class SubmitterEntityListView(ListView):
model = Compound
template_name = "submitter/compound_list.html"
paginate_by = 20
ordering = "-pk"
def get_queryset(self):
qs = super().get_queryset().filter(created_by=self.request.user)
search_keyword = self.request.GET.get("keyword")
if search_keyword:
qs = qs.filter(Q(name__icontains=search_keyword) | Q(chebi_accession__icontains=search_keyword))
return qs
class SubmitterEntityDetailView(DetailView):
model = Compound
form_class = CompoundDetailForm