Add basic form
This commit is contained in:
		
							parent
							
								
									6da103b148
								
							
						
					
					
						commit
						8b16fe573c
					
				
					 14 changed files with 424 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -73,6 +73,7 @@ THIRD_PARTY_APPS = [
 | 
			
		|||
 | 
			
		||||
LOCAL_APPS = [
 | 
			
		||||
    "schickmacher.users.apps.UsersConfig",
 | 
			
		||||
    "schickmacher.renderer.apps.RendererConfig",
 | 
			
		||||
    # Your stuff: custom apps go here
 | 
			
		||||
]
 | 
			
		||||
# https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps
 | 
			
		||||
| 
						 | 
				
			
			@ -246,7 +247,7 @@ LOGGING = {
 | 
			
		|||
 | 
			
		||||
# django-allauth
 | 
			
		||||
# ------------------------------------------------------------------------------
 | 
			
		||||
ACCOUNT_ALLOW_REGISTRATION = env.bool("DJANGO_ACCOUNT_ALLOW_REGISTRATION", True)
 | 
			
		||||
ACCOUNT_ALLOW_REGISTRATION = env.bool("DJANGO_ACCOUNT_ALLOW_REGISTRATION", False)
 | 
			
		||||
# https://django-allauth.readthedocs.io/en/latest/configuration.html
 | 
			
		||||
ACCOUNT_AUTHENTICATION_METHOD = "username"
 | 
			
		||||
# https://django-allauth.readthedocs.io/en/latest/configuration.html
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,12 @@
 | 
			
		|||
from django.conf import settings
 | 
			
		||||
from django.urls import include, path
 | 
			
		||||
from django.urls import include, path, reverse_lazy
 | 
			
		||||
from django.conf.urls.static import static
 | 
			
		||||
from django.contrib import admin
 | 
			
		||||
from django.views.generic import TemplateView
 | 
			
		||||
from django.views.generic import TemplateView, RedirectView
 | 
			
		||||
from django.views import defaults as default_views
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    path("", TemplateView.as_view(template_name="pages/home.html"), name="home"),
 | 
			
		||||
    path("", RedirectView.as_view(url=reverse_lazy('renderer:form')), name="home"),
 | 
			
		||||
    path(
 | 
			
		||||
        "about/", TemplateView.as_view(template_name="pages/about.html"), name="about"
 | 
			
		||||
    ),
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,7 @@ urlpatterns = [
 | 
			
		|||
    path(settings.ADMIN_URL, admin.site.urls),
 | 
			
		||||
    # User management
 | 
			
		||||
    path("users/", include("schickmacher.users.urls", namespace="users")),
 | 
			
		||||
    path("renderer/", include("schickmacher.renderer.urls", namespace="renderer")),
 | 
			
		||||
    path("accounts/", include("allauth.urls")),
 | 
			
		||||
    # Your stuff: custom urls includes go here
 | 
			
		||||
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										0
									
								
								locale/README.rst
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								locale/README.rst
									
										
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										305
									
								
								locale/de/LC_MESSAGES/django.po
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										305
									
								
								locale/de/LC_MESSAGES/django.po
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,305 @@
 | 
			
		|||
# SOME DESCRIPTIVE TITLE.
 | 
			
		||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 | 
			
		||||
# This file is distributed under the same license as the PACKAGE package.
 | 
			
		||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2019-09-05 08:52+0000\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
"Language: \n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/renderer/apps.py:7
 | 
			
		||||
msgid "Renderer"
 | 
			
		||||
msgstr "Renderer"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/renderer/forms.py:6
 | 
			
		||||
msgid "Date"
 | 
			
		||||
msgstr "Datum"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/account_inactive.html:5
 | 
			
		||||
#: schickmacher/templates/account/account_inactive.html:8
 | 
			
		||||
msgid "Account Inactive"
 | 
			
		||||
msgstr "Account Inaktiv"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/account_inactive.html:10
 | 
			
		||||
msgid "This account is inactive."
 | 
			
		||||
msgstr "Dieser Account ist deaktiviert"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:7
 | 
			
		||||
msgid "Account"
 | 
			
		||||
msgstr "Account"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:10
 | 
			
		||||
msgid "E-mail Addresses"
 | 
			
		||||
msgstr "E-Mail Adressen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:13
 | 
			
		||||
msgid "The following e-mail addresses are associated with your account:"
 | 
			
		||||
msgstr "Die folgenden E-Mail Adressen gehören zu ihrem Account"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:27
 | 
			
		||||
msgid "Verified"
 | 
			
		||||
msgstr "Verifiziert"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:29
 | 
			
		||||
msgid "Unverified"
 | 
			
		||||
msgstr "Nicht verifiziert"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:31
 | 
			
		||||
msgid "Primary"
 | 
			
		||||
msgstr "Primär"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:37
 | 
			
		||||
msgid "Make Primary"
 | 
			
		||||
msgstr "Als primär festlegen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:38
 | 
			
		||||
msgid "Re-send Verification"
 | 
			
		||||
msgstr "Verifikation erneut versenden"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:39
 | 
			
		||||
msgid "Remove"
 | 
			
		||||
msgstr "Entfernen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:46
 | 
			
		||||
msgid "Warning:"
 | 
			
		||||
msgstr "Warnung:"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:46
 | 
			
		||||
msgid ""
 | 
			
		||||
"You currently do not have any e-mail address set up. You should really add "
 | 
			
		||||
"an e-mail address so you can receive notifications, reset your password, etc."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Sie haben zurzeit keine E-Mail Adressen eingerichtet. Sie sollten eine E-Mail "
 | 
			
		||||
"Adresse einrichten um Benachrichtigungen zu erhalten, ihr Passwort zurückzusetpen, etc."
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:51
 | 
			
		||||
msgid "Add E-mail Address"
 | 
			
		||||
msgstr "E-Mail Adresse hinzufügen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:56
 | 
			
		||||
msgid "Add E-mail"
 | 
			
		||||
msgstr "E-Mail hinzufügen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email.html:66
 | 
			
		||||
msgid "Do you really want to remove the selected e-mail address?"
 | 
			
		||||
msgstr "Möchten sie die E-Mail Adresse wirklich entfernen?"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email_confirm.html:6
 | 
			
		||||
#: schickmacher/templates/account/email_confirm.html:10
 | 
			
		||||
msgid "Confirm E-mail Address"
 | 
			
		||||
msgstr "E-Mail Adresse bestätigen"
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email_confirm.html:16
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Please confirm that <a href=\"mailto:%(email)s\">%(email)s</a> is an e-mail "
 | 
			
		||||
"address for user %(user_display)s."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email_confirm.html:20
 | 
			
		||||
msgid "Confirm"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/email_confirm.html:27
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"This e-mail confirmation link expired or is invalid. Please <a href="
 | 
			
		||||
"\"%(email_url)s\">issue a new e-mail confirmation request</a>."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/login.html:7
 | 
			
		||||
#: schickmacher/templates/account/login.html:11
 | 
			
		||||
#: schickmacher/templates/account/login.html:44
 | 
			
		||||
#: schickmacher/templates/base.html:68
 | 
			
		||||
msgid "Sign In"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/login.html:16
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Please sign in with one\n"
 | 
			
		||||
"of your existing third party accounts. Or, <a href=\"%(signup_url)s\">sign "
 | 
			
		||||
"up</a>\n"
 | 
			
		||||
"for a %(site_name)s account and sign in below:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/login.html:26
 | 
			
		||||
msgid "or"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/login.html:33
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"If you have not created an account yet, then please\n"
 | 
			
		||||
"<a href=\"%(signup_url)s\">sign up</a> first."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/login.html:43
 | 
			
		||||
msgid "Forgot Password?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/logout.html:5
 | 
			
		||||
#: schickmacher/templates/account/logout.html:8
 | 
			
		||||
#: schickmacher/templates/account/logout.html:17
 | 
			
		||||
#: schickmacher/templates/base.html:59
 | 
			
		||||
msgid "Sign Out"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/logout.html:10
 | 
			
		||||
msgid "Are you sure you want to sign out?"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_change.html:6
 | 
			
		||||
#: schickmacher/templates/account/password_change.html:9
 | 
			
		||||
#: schickmacher/templates/account/password_change.html:14
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:5
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:8
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key_done.html:4
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key_done.html:7
 | 
			
		||||
msgid "Change Password"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset.html:7
 | 
			
		||||
#: schickmacher/templates/account/password_reset.html:11
 | 
			
		||||
#: schickmacher/templates/account/password_reset_done.html:6
 | 
			
		||||
#: schickmacher/templates/account/password_reset_done.html:9
 | 
			
		||||
msgid "Password Reset"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset.html:16
 | 
			
		||||
msgid ""
 | 
			
		||||
"Forgotten your password? Enter your e-mail address below, and we'll send you "
 | 
			
		||||
"an e-mail allowing you to reset it."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset.html:21
 | 
			
		||||
msgid "Reset My Password"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset.html:24
 | 
			
		||||
msgid "Please contact us if you have any trouble resetting your password."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset_done.html:15
 | 
			
		||||
msgid ""
 | 
			
		||||
"We have sent you an e-mail. Please contact us if you do not receive it "
 | 
			
		||||
"within a few minutes."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:8
 | 
			
		||||
msgid "Bad Token"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:12
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"The password reset link was invalid, possibly because it has already been "
 | 
			
		||||
"used.  Please request a <a href=\"%(passwd_reset_url)s\">new password reset</"
 | 
			
		||||
"a>."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:18
 | 
			
		||||
msgid "change password"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key.html:21
 | 
			
		||||
#: schickmacher/templates/account/password_reset_from_key_done.html:8
 | 
			
		||||
msgid "Your password is now changed."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/password_set.html:6
 | 
			
		||||
#: schickmacher/templates/account/password_set.html:9
 | 
			
		||||
#: schickmacher/templates/account/password_set.html:14
 | 
			
		||||
msgid "Set Password"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/signup.html:6
 | 
			
		||||
msgid "Signup"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/signup.html:9
 | 
			
		||||
#: schickmacher/templates/account/signup.html:19
 | 
			
		||||
#: schickmacher/templates/base.html:64
 | 
			
		||||
msgid "Sign Up"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/signup.html:11
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"Already have an account? Then please <a href=\"%(login_url)s\">sign in</a>."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/signup_closed.html:5
 | 
			
		||||
#: schickmacher/templates/account/signup_closed.html:8
 | 
			
		||||
msgid "Sign Up Closed"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/signup_closed.html:10
 | 
			
		||||
msgid "We are sorry, but the sign up is currently closed."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/verification_sent.html:5
 | 
			
		||||
#: schickmacher/templates/account/verification_sent.html:8
 | 
			
		||||
#: schickmacher/templates/account/verified_email_required.html:5
 | 
			
		||||
#: schickmacher/templates/account/verified_email_required.html:8
 | 
			
		||||
msgid "Verify Your E-mail Address"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/verification_sent.html:10
 | 
			
		||||
msgid ""
 | 
			
		||||
"We have sent an e-mail to you for verification. Follow the link provided to "
 | 
			
		||||
"finalize the signup process. Please contact us if you do not receive it "
 | 
			
		||||
"within a few minutes."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/verified_email_required.html:12
 | 
			
		||||
msgid ""
 | 
			
		||||
"This part of the site requires us to verify that\n"
 | 
			
		||||
"you are who you claim to be. For this purpose, we require that you\n"
 | 
			
		||||
"verify ownership of your e-mail address. "
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/verified_email_required.html:16
 | 
			
		||||
msgid ""
 | 
			
		||||
"We have sent an e-mail to you for\n"
 | 
			
		||||
"verification. Please click on the link inside this e-mail. Please\n"
 | 
			
		||||
"contact us if you do not receive it within a few minutes."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/account/verified_email_required.html:20
 | 
			
		||||
#, python-format
 | 
			
		||||
msgid ""
 | 
			
		||||
"<strong>Note:</strong> you can still <a href=\"%(email_url)s\">change your e-"
 | 
			
		||||
"mail address</a>."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/templates/base.html:55
 | 
			
		||||
msgid "My Profile"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/users/apps.py:7
 | 
			
		||||
msgid "Users"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/users/forms.py:16
 | 
			
		||||
msgid "This username has already been taken."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/users/models.py:11
 | 
			
		||||
msgid "Name of User"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: schickmacher/users/views.py:34
 | 
			
		||||
msgid "Infos successfully updated"
 | 
			
		||||
msgstr ""
 | 
			
		||||
							
								
								
									
										0
									
								
								schickmacher/renderer/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								schickmacher/renderer/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										13
									
								
								schickmacher/renderer/apps.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								schickmacher/renderer/apps.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
from django.apps import AppConfig
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RendererConfig(AppConfig):
 | 
			
		||||
    name = "schickmacher.renderer"
 | 
			
		||||
    verbose_name = _("Renderer")
 | 
			
		||||
 | 
			
		||||
    def ready(self):
 | 
			
		||||
        try:
 | 
			
		||||
            import schickmacher.renderer.signals  # noqa F401
 | 
			
		||||
        except ImportError:
 | 
			
		||||
            pass
 | 
			
		||||
							
								
								
									
										15
									
								
								schickmacher/renderer/forms.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								schickmacher/renderer/forms.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
from django.utils.translation import ugettext_lazy as _
 | 
			
		||||
from django import forms
 | 
			
		||||
from django.utils import timezone
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RendererForm(forms.Form):
 | 
			
		||||
    date = forms.DateField(label=_('Date'),
 | 
			
		||||
                           initial=lambda: timezone.now().strftime('%Y-%m-%d'),
 | 
			
		||||
                           widget=forms.TextInput(
 | 
			
		||||
                               attrs={'type': 'date'}
 | 
			
		||||
                           ))
 | 
			
		||||
    render_content = forms.CharField(
 | 
			
		||||
        label=_('Content'), widget=forms.Textarea, max_length=None,
 | 
			
		||||
        required=False, initial=""
 | 
			
		||||
    )
 | 
			
		||||
							
								
								
									
										16
									
								
								schickmacher/renderer/tests/test_forms.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								schickmacher/renderer/tests/test_forms.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
from datetime import datetime
 | 
			
		||||
 | 
			
		||||
import pytest
 | 
			
		||||
from django.utils import timezone
 | 
			
		||||
 | 
			
		||||
from schickmacher.renderer.forms import RendererForm
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestRendererForm:
 | 
			
		||||
    def test_form_accepts_content(self):
 | 
			
		||||
        form = RendererForm({
 | 
			
		||||
            "date": timezone.now(),
 | 
			
		||||
            "render_content": "Example **content**"
 | 
			
		||||
        })
 | 
			
		||||
        assert form.is_valid()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								schickmacher/renderer/tests/test_urls.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								schickmacher/renderer/tests/test_urls.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
import pytest
 | 
			
		||||
 | 
			
		||||
from django.urls import reverse, resolve
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_form():
 | 
			
		||||
    assert reverse('renderer:form') == '/renderer/'
 | 
			
		||||
    assert resolve('/renderer/').view_name == 'renderer:form'
 | 
			
		||||
							
								
								
									
										15
									
								
								schickmacher/renderer/tests/test_views.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								schickmacher/renderer/tests/test_views.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
import pytest
 | 
			
		||||
 | 
			
		||||
from django.test import Client
 | 
			
		||||
from django.utils import timezone
 | 
			
		||||
 | 
			
		||||
pytestmark = pytest.mark.django_db
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestRendererFormView:
 | 
			
		||||
 | 
			
		||||
    def test_get_empty_form(self, client: Client):
 | 
			
		||||
        response = client.get('/renderer/')
 | 
			
		||||
        assert response.status_code == 200
 | 
			
		||||
        assert response.context['form']['date'].value() \
 | 
			
		||||
               == timezone.now().strftime('%Y-%m-%d')
 | 
			
		||||
							
								
								
									
										8
									
								
								schickmacher/renderer/urls.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								schickmacher/renderer/urls.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
from django.urls import path
 | 
			
		||||
 | 
			
		||||
from schickmacher.renderer.views import form_view
 | 
			
		||||
 | 
			
		||||
app_name = 'renderer'
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    path("", view=form_view, name="form")
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										9
									
								
								schickmacher/renderer/views.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								schickmacher/renderer/views.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
from django.core.handlers.wsgi import WSGIRequest
 | 
			
		||||
from django.shortcuts import render
 | 
			
		||||
 | 
			
		||||
from schickmacher.renderer.forms import RendererForm
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def form_view(request: WSGIRequest):
 | 
			
		||||
    ctx = {"form": RendererForm()}
 | 
			
		||||
    return render(request, 'renderer/render_form.html', ctx)
 | 
			
		||||
| 
						 | 
				
			
			@ -16,17 +16,17 @@
 | 
			
		|||
    <link rel="icon" href="{% static 'images/favicons/favicon.ico' %}">
 | 
			
		||||
 | 
			
		||||
    {% block css %}
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    <!-- Latest compiled and minified Bootstrap CSS -->
 | 
			
		||||
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <!-- Your stuff: Third-party CSS libraries go here -->
 | 
			
		||||
    {% compress css %}
 | 
			
		||||
    <!-- This file stores project-specific CSS -->
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    <link href="{% static 'css/project.css' %}" rel="stylesheet">
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    {% endcompress %}
 | 
			
		||||
    {% endblock %}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +46,9 @@
 | 
			
		|||
            <li class="nav-item active">
 | 
			
		||||
              <a class="nav-link" href="{% url 'home' %}">Home <span class="sr-only">(current)</span></a>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="nav-item">
 | 
			
		||||
              <a class="nav-link" href="{% url 'renderer:form' %}">Renderer</a>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li class="nav-item">
 | 
			
		||||
              <a class="nav-link" href="{% url 'about' %}">About</a>
 | 
			
		||||
            </li>
 | 
			
		||||
| 
						 | 
				
			
			@ -94,14 +97,14 @@
 | 
			
		|||
    ================================================== -->
 | 
			
		||||
    <!-- Placed at the end of the document so the pages load faster -->
 | 
			
		||||
    {% block javascript %}
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
      <!-- Bootstrap JS and its dependencies-->
 | 
			
		||||
      <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
 | 
			
		||||
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
 | 
			
		||||
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
 | 
			
		||||
 | 
			
		||||
      <!-- Your stuff: Third-party javascript libraries go here -->
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      <!-- place project specific Javascript in this file -->
 | 
			
		||||
      {% compress js %}
 | 
			
		||||
| 
						 | 
				
			
			@ -111,4 +114,4 @@
 | 
			
		|||
    {% endblock javascript %}
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										19
									
								
								schickmacher/templates/renderer/render_form.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								schickmacher/templates/renderer/render_form.html
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
{% extends "base.html" %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load crispy_forms_tags %}
 | 
			
		||||
 | 
			
		||||
{% block title %}{% trans "Renderer" %}{% endblock %}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{% block content %}
 | 
			
		||||
  <h1>{% trans "Renderer" %}</h1>
 | 
			
		||||
  <form class="form-horizontal" method="post" action="{% url 'renderer:form' %}">
 | 
			
		||||
      {% csrf_token %}
 | 
			
		||||
      {{ form|crispy }}
 | 
			
		||||
    <div class="control-group">
 | 
			
		||||
      <div class="controls">
 | 
			
		||||
        <button type="submit" class="btn btn-primary">{% trans "Compile" %}</button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </form>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue