[Fix] Post Modern UI deploy Bugfixes (#240)

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#240
This commit is contained in:
2025-11-27 10:28:04 +13:00
parent 1a2c9bb543
commit fd2e2c2534
9 changed files with 127 additions and 53 deletions

View File

@ -5,6 +5,7 @@ from typing import Any, Dict, List
import nh3
from django.conf import settings as s
from django.contrib.auth import get_user_model
from django.core.exceptions import BadRequest
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, JsonResponse
from django.shortcuts import redirect, render
from django.urls import reverse
@ -319,7 +320,7 @@ def get_base_context(request, for_user=None) -> Dict[str, Any]:
def _anonymous_or_real(request):
if request.user.is_authenticated and not request.user.is_anonymous:
if request.user and (request.user.is_authenticated and not request.user.is_anonymous):
return request.user
return get_user_model().objects.get(username="anonymous")
@ -1261,8 +1262,12 @@ def package_compounds(request, package_uuid):
compound_name = request.POST.get("compound-name")
compound_smiles = request.POST.get("compound-smiles")
compound_description = request.POST.get("compound-description")
c = Compound.create(current_package, compound_smiles, compound_name, compound_description)
try:
c = Compound.create(
current_package, compound_smiles, compound_name, compound_description
)
except ValueError as e:
raise BadRequest(str(e))
return redirect(c.url)
@ -2819,14 +2824,18 @@ def settings(request):
context = get_base_context(request)
if request.method == "GET":
context = get_base_context(request)
context["title"] = "enviPath - Settings"
context["object_type"] = "setting"
# Even if settings are aready in "meta", for consistency add it on root level
context["settings"] = SettingManager.get_all_settings(current_user)
context["breadcrumbs"] = [
{"Home": s.SERVER_URL},
{"Group": s.SERVER_URL + "/setting"},
]
return
context["objects"] = SettingManager.get_all_settings(current_user)
return render(request, "collections/objects_list.html", context)
elif request.method == "POST":
if s.DEBUG:
for k, v in request.POST.items():