feat: 🍔 add random food emoji to header
This commit is contained in:
parent
28e21ffb3e
commit
9abbde9f40
7 changed files with 30 additions and 13 deletions
|
|
@ -9,7 +9,7 @@
|
|||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>moku.blog<sup>beta</sup></h1>
|
||||
<h1>{{ header_emoji }} moku.blog<sup>beta</sup></h1>
|
||||
<nav>
|
||||
<ul>
|
||||
{% if request.user.is_authenticated %}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,10 @@ from django.shortcuts import redirect
|
|||
from django.utils.translation import gettext as _
|
||||
from django.urls import reverse_lazy
|
||||
|
||||
from moku.views.base import View
|
||||
|
||||
class LoginView(BaseLoginView):
|
||||
|
||||
class LoginView(View, BaseLoginView):
|
||||
template_name = "moku/login.jinja"
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
|
|
|
|||
15
moku/views/base.py
Normal file
15
moku/views/base.py
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import random
|
||||
|
||||
from django.views import generic
|
||||
|
||||
|
||||
class View(generic.TemplateView):
|
||||
def get_context_data(self, **kwargs):
|
||||
return {
|
||||
**super().get_context_data(**kwargs),
|
||||
"header_emoji": random.choice(["🍔", "🍕", "🍟", "🥪", "🥘", "🍰", "🍻", "🧁", "🍞", "🥯", "🥐"])
|
||||
}
|
||||
|
||||
|
||||
class FormView(View, generic.FormView):
|
||||
pass
|
||||
|
|
@ -2,13 +2,13 @@ from django.contrib import messages
|
|||
from django.core.exceptions import PermissionDenied
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import gettext as _
|
||||
from django.views.generic import FormView
|
||||
|
||||
from moku.constants import EMOJI_CATEGORIES, Verbs
|
||||
from moku.forms.post import PostForm
|
||||
from moku.images import process_post_image
|
||||
from moku.models.post import Post
|
||||
from moku.models.recipe import Recipe
|
||||
from moku.views.base import FormView
|
||||
|
||||
|
||||
class FeedView(FormView):
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
from django.contrib import messages
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.views.generic import FormView, TemplateView
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
from moku.forms.recipe import RecipeForm, RecipeStepForm
|
||||
from moku.models.recipe import Recipe, RecipeStep
|
||||
from moku.views.base import FormView, View
|
||||
|
||||
|
||||
class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
|
||||
class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, View):
|
||||
def get(self, request, *args, **kwargs):
|
||||
self.recipe.delete()
|
||||
messages.success(self.request, _("recipe deleted successfully!"))
|
||||
|
|
@ -26,7 +26,7 @@ class DeleteRecipeView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
|
|||
return self.request.user.id == self.recipe.created_by.id
|
||||
|
||||
|
||||
class DeleteStepView(LoginRequiredMixin, UserPassesTestMixin, TemplateView):
|
||||
class DeleteStepView(LoginRequiredMixin, UserPassesTestMixin, View):
|
||||
def get(self, request, *args, **kwargs):
|
||||
if self.step.order != (self.step.recipe.steps.count() - 1):
|
||||
messages.error(self.request, _("sorry! you can only delete the last step."))
|
||||
|
|
@ -71,7 +71,7 @@ class EditStepView(LoginRequiredMixin, UserPassesTestMixin, FormView):
|
|||
return self.request.user.id == self.step.recipe.created_by.id
|
||||
|
||||
|
||||
class IndexRecipeView(LoginRequiredMixin, TemplateView):
|
||||
class IndexRecipeView(LoginRequiredMixin, View):
|
||||
template_name = "moku/recipe/index.jinja"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
from django.views.generic import TemplateView
|
||||
from moku.views.base import View
|
||||
|
||||
|
||||
class ChangelogView(TemplateView):
|
||||
class ChangelogView(View):
|
||||
template_name = "moku/changelog.jinja"
|
||||
|
||||
|
||||
class PrivacyView(TemplateView):
|
||||
class PrivacyView(View):
|
||||
template_name = "moku/privacy.jinja"
|
||||
|
||||
|
||||
class TermsView(TemplateView):
|
||||
class TermsView(View):
|
||||
template_name = "moku/terms.jinja"
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ from django.contrib.auth.mixins import LoginRequiredMixin
|
|||
from django.db import IntegrityError
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import gettext as _
|
||||
from django.views.generic import FormView, TemplateView
|
||||
|
||||
from moku.images import process_avatar_image
|
||||
from moku.forms.user import ProfileForm, UserForm, UserSettingsForm
|
||||
from moku.models.user import User
|
||||
from moku.views.base import FormView, View
|
||||
|
||||
|
||||
class EditProfileView(LoginRequiredMixin, FormView):
|
||||
|
|
@ -45,7 +45,7 @@ class EditSettingsView(LoginRequiredMixin, FormView):
|
|||
return super().get_form()
|
||||
|
||||
|
||||
class ProfileView(TemplateView):
|
||||
class ProfileView(View):
|
||||
template_name = "moku/profile/show.jinja"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
|
|
|||
Loading…
Reference in a new issue