| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from django.shortcuts import render, redirect
- from django.contrib.admin.views.decorators import staff_member_required
- from django.contrib import messages
- from django.urls import reverse
- from .models import GlobalSettings, AdvancedSettings
- from .forms import GlobalSettingsForm, AdvancedSettingsForm
- from admin_frontend.templatetags.public_urls import public_route
- from admin_frontend.nav import _nav_items
- @staff_member_required
- @public_route(label="Settings", order=50, icon="cog")
- def global_settings(request):
- settings = GlobalSettings.load()
- if request.method == "POST":
- form = GlobalSettingsForm(request.POST, instance=settings)
- if form.is_valid():
- form.save()
- messages.success(request, "Settings updated.")
- return redirect("settings:global_settings")
- else:
- form = GlobalSettingsForm(instance=settings)
- context = {"nav": _nav_items(), "form": form}
- return render(request, "admin_frontend/global_settings.html", context)
- @staff_member_required
- @public_route(label="Advanced Settings", order=60, icon="cog")
- def advanced_settings(request):
- settings = AdvancedSettings.load()
- if request.method == "POST":
- form = AdvancedSettingsForm(request.POST, instance=settings)
- if form.is_valid():
- form.save()
- messages.success(request, "Advanced settings updated.")
- return redirect("settings:advanced_settings")
- else:
- form = AdvancedSettingsForm(instance=settings)
- context = {"nav": _nav_items(), "form": form}
- return render(request, "admin_frontend/advanced_settings.html", context)
|