Geen omschrijving

views.py 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from django.shortcuts import render, redirect
  2. from django.contrib.admin.views.decorators import staff_member_required
  3. from django.contrib import messages
  4. from django.urls import reverse
  5. from .models import GlobalSettings, AdvancedSettings
  6. from .forms import GlobalSettingsForm, AdvancedSettingsForm
  7. from admin_frontend.templatetags.public_urls import public_route
  8. from admin_frontend.nav import _nav_items
  9. @staff_member_required
  10. @public_route(label="Settings", order=50, icon="cog")
  11. def global_settings(request):
  12. settings = GlobalSettings.load()
  13. if request.method == "POST":
  14. form = GlobalSettingsForm(request.POST, instance=settings)
  15. if form.is_valid():
  16. form.save()
  17. messages.success(request, "Settings updated.")
  18. return redirect("settings:global_settings")
  19. else:
  20. form = GlobalSettingsForm(instance=settings)
  21. context = {"nav": _nav_items(), "form": form}
  22. return render(request, "admin_frontend/global_settings.html", context)
  23. @staff_member_required
  24. @public_route(label="Advanced Settings", order=60, icon="cog")
  25. def advanced_settings(request):
  26. settings = AdvancedSettings.load()
  27. if request.method == "POST":
  28. form = AdvancedSettingsForm(request.POST, instance=settings)
  29. if form.is_valid():
  30. form.save()
  31. messages.success(request, "Advanced settings updated.")
  32. return redirect("settings:advanced_settings")
  33. else:
  34. form = AdvancedSettingsForm(instance=settings)
  35. context = {"nav": _nav_items(), "form": form}
  36. return render(request, "admin_frontend/advanced_settings.html", context)