aboutsummaryrefslogtreecommitdiff
path: root/administration/emojis/views.py
blob: 5965e4c3b74f18b10c112cd7a53167d0c5184c59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required, user_passes_test
from django.contrib import messages
from administration.emojis.functions import get_all_emojis, create_emoji, delete_emoji


@login_required
@user_passes_test(lambda u: u.is_superuser)
def home(request):
    title_map = {
        "en": "Emoji Manager",
        "ja": "絵文字マネージャー",
    }
    request.meta.title = title_map.get(request.LANGUAGE_CODE)

    if request.method == "POST":
        action = request.POST.get("action")

        if action == "create":
            name = request.POST.get("name", "")
            image = request.FILES.get("image")
            if not name or not image:
                messages.error(request, "Name and image are required.")
            else:
                success, result = create_emoji(name, image)
                if success:
                    messages.success(request, f"Emoji :{result.name}: created.")
                else:
                    messages.error(request, result)

        elif action == "delete":
            emoji_id = request.POST.get("emoji_id")
            if delete_emoji(emoji_id):
                messages.success(request, "Emoji deleted.")
            else:
                messages.error(request, "Emoji not found.")

        return redirect("administration:emojis")

    context = {
        "emojis": get_all_emojis(),
    }
    return render(request, "administration/emojis.html", context)