numerous updates to case collections

This commit is contained in:
Ross
2024-02-12 13:05:26 +00:00
parent c3f7913402
commit b9cdbb98ef
10 changed files with 158 additions and 29 deletions
+27
View File
@@ -136,6 +136,14 @@ import difflib
logger = logging.getLogger(__name__)
def get_cases_available_to_user(user):
"""Returns a queryset of cases available to the user"""
return Case.objects.filter(author=user) | Case.objects.filter(open_access=True)
if user.is_superuser:
return Case.objects.all()
else:
return Case.objects.filter(author=user) | Case.objects.filter(open_access=True)
class AuthorOrCheckerRequiredMixin(object):
def get_object(self, *args, **kwargs):
@@ -370,6 +378,25 @@ def user_collections(request):
return render(request, "atlas/user_collections.html", {"collections": collections})
def add_case_to_collection(request, collection_id):
if not request.htmx:
return Http404
collection = get_object_or_404(CaseCollection, pk=collection_id)
if request.method == "POST":
case = get_object_or_404(Case, pk=request.POST["case"])
print(case)
collection.cases.add(case)
return HttpResponse("Case added to collection")
#if request.method == "POST":
cases = get_cases_available_to_user(request.user)
return render(request, "atlas/add_case_to_collection.html", {"cases": cases, "collection": collection})
@login_required
def user_uploads_series(request, series_instance_uid: str):