'theme_switcher,' 'theme-picker' & 'theme' renamed everywhere to simply 'palette'; new urls & views & their corresponding ITs ensure applet menu checkbox functionality
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import HttpResponseForbidden
|
||||
from django.http import HttpResponse, HttpResponseForbidden
|
||||
from django.shortcuts import redirect, render
|
||||
|
||||
from .forms import ExistingListItemForm, ItemForm
|
||||
from .models import Item, List
|
||||
from apps.dashboard.forms import ExistingListItemForm, ItemForm
|
||||
from apps.dashboard.models import Applet, Item, List, UserApplet
|
||||
from apps.lyric.models import User
|
||||
|
||||
|
||||
UNLOCKED_THEMES = frozenset(["theme-default"])
|
||||
THEMES = [
|
||||
{"name": "theme-default", "label": "Earthman", "locked": False},
|
||||
{"name": "theme-nirvana", "label": "Nirvana", "locked": True},
|
||||
{"name": "theme-sheol", "label": "Sheol", "locked": True},
|
||||
UNLOCKED_PALETTES = frozenset(["palette-default"])
|
||||
PALETTES = [
|
||||
{"name": "palette-default", "label": "Earthman", "locked": False},
|
||||
{"name": "palette-nirvana", "label": "Nirvana", "locked": True},
|
||||
{"name": "palette-sheol", "label": "Sheol", "locked": True},
|
||||
]
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ def home_page(request):
|
||||
return render(
|
||||
request, "apps/dashboard/home.html", {
|
||||
"form": ItemForm(),
|
||||
"themes": THEMES,
|
||||
"palettes": PALETTES,
|
||||
})
|
||||
|
||||
def new_list(request):
|
||||
@@ -74,12 +74,12 @@ def share_list(request, list_id):
|
||||
return redirect(our_list)
|
||||
|
||||
@login_required(login_url="/")
|
||||
def set_theme(request):
|
||||
def set_palette(request):
|
||||
if request.method == "POST":
|
||||
theme = request.POST.get("theme", "")
|
||||
if theme in UNLOCKED_THEMES:
|
||||
request.user.theme = theme
|
||||
request.user.save(update_fields=["theme"])
|
||||
palette = request.POST.get("palette", "")
|
||||
if palette in UNLOCKED_PALETTES:
|
||||
request.user.palette = palette
|
||||
request.user.save(update_fields=["palette"])
|
||||
return redirect("home")
|
||||
|
||||
@login_required(login_url="/")
|
||||
@@ -89,3 +89,16 @@ def set_profile(request):
|
||||
request.user.username = username
|
||||
request.user.save(update_fields=["username"])
|
||||
return redirect("/")
|
||||
|
||||
@login_required(login_url="/")
|
||||
def toggle_applets(request):
|
||||
checked = request.POST.getlist("applets")
|
||||
for applet in Applet.objects.all():
|
||||
UserApplet.objects.update_or_create(
|
||||
user=request.user,
|
||||
applet=applet,
|
||||
defaults={"visible": applet.slug in checked},
|
||||
)
|
||||
if request.headers.get("HX-Request"):
|
||||
return HttpResponse("")
|
||||
return redirect("home")
|
||||
|
||||
Reference in New Issue
Block a user