Too many changes :(
This commit is contained in:
+41
-1
@@ -633,6 +633,46 @@ def user_collections(request):
|
||||
|
||||
return render(request, "atlas/user_collections.html", {"collections": collections})
|
||||
|
||||
@login_required
|
||||
def collection_options(request):
|
||||
if not request.htmx:
|
||||
return Http404
|
||||
|
||||
collections = CaseCollection.objects.filter(author=request.user).order_by("name")
|
||||
html = render_to_string("atlas/partials/collection_options.html", {"collections": collections}, request=request)
|
||||
return HttpResponse(html)
|
||||
|
||||
@login_required
|
||||
def remove_cases_from_collection(request):
|
||||
if not request.htmx:
|
||||
return Http404
|
||||
case_ids = request.POST.getlist('selection')
|
||||
collection_id = request.POST.get('collection_id')
|
||||
if not case_ids or not collection_id:
|
||||
return HttpResponse("No cases selected or collection ID provided.")
|
||||
collection = get_object_or_404(CaseCollection, pk=collection_id)
|
||||
if request.user not in collection.author.all():
|
||||
return HttpResponse("You do not have permission to remove cases from this collection.")
|
||||
cases = Case.objects.filter(pk__in=case_ids)
|
||||
for case_ in cases:
|
||||
collection.cases.remove(case_)
|
||||
return HttpResponse(f"Removed {len(cases)} cases from collection {collection.name} (refresh to see)")
|
||||
|
||||
@login_required
|
||||
def add_cases_to_collection(request):
|
||||
if not request.htmx:
|
||||
return Http404
|
||||
case_ids = request.POST.getlist('selection')
|
||||
collection_id = request.POST.get('collection_id')
|
||||
if not case_ids or not collection_id:
|
||||
return HttpResponse("No cases selected or collection ID provided.")
|
||||
collection = get_object_or_404(CaseCollection, pk=collection_id)
|
||||
if request.user not in collection.author.all():
|
||||
return HttpResponse("You do not have permission to add cases to this collection.")
|
||||
cases = Case.objects.filter(pk__in=case_ids)
|
||||
for case_ in cases:
|
||||
collection.cases.add(case_)
|
||||
return HttpResponse(f"Added {len(cases)} cases to collection {collection.name} (refresh to see)")
|
||||
|
||||
def add_case_to_collection(request, collection_id):
|
||||
if not request.htmx:
|
||||
@@ -1905,7 +1945,7 @@ def collection_detail(request, pk):
|
||||
return render(
|
||||
request,
|
||||
"atlas/collection_detail.html",
|
||||
{"collection": collection, "casesdetails": casedetails, "can_edit": True},
|
||||
{"collection": collection, "casesdetails": casedetails, "can_edit": True, "exam": collection},
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user