Another bunch of undocumented changes.

This commit is contained in:
Kumi 2021-03-23 19:23:04 +01:00
parent 4ca76378df
commit f88ada15fe
18 changed files with 258 additions and 216 deletions

View file

@ -1,3 +1,46 @@
from django.shortcuts import render from django.views.generic import CreateView, UpdateView
from django.urls import reverse_lazy
# Create your views here. from .models import ClientProfile
from localauth.mixins import LoginRequiredMixin
class ClientRegistrationView(LoginRequiredMixin, CreateView):
model = ClientProfile
exclude = ["user"]
template_name = "clients/signup.html"
fields = ["company", "vat_id", "first_name", "last_name", "street", "city", "zip", "state", "country"]
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
def get_success_url(self):
return reverse_lazy("clients:profile")
def get_initial(self):
try:
partner = self.request.user.partnerprofile
return {
"company": partner.company,
"vat_id": partner.vat_id,
"first_name": partner.first_name,
"last_name": partner.last_name,
"street": partner.street,
"city": partner.city,
"zip": partner.zip,
"state": partner.state,
"country": partner.country
}
except:
return {}
class ClientProfileView(LoginRequiredMixin, UpdateView):
model = ClientProfile
exclude = ["user"]
template_name = "clients/profile.html"
fields = ["company", "vat_id", "first_name", "last_name", "street", "city", "zip", "state", "country"]
def get_success_url(self):
return reverse_lazy("clients:profile")

View file

@ -1,7 +1,11 @@
from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.forms import UserCreationForm
from django import forms
from .models import User from .models import User
from partners.models import PartnerProfile
from clients.models import ClientProfile
class RegistrationForm(UserCreationForm): class RegistrationForm(UserCreationForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
kwargs.pop("request") kwargs.pop("request")
@ -10,3 +14,12 @@ class RegistrationForm(UserCreationForm):
class Meta: class Meta:
model = User model = User
fields = ["email", "password1", "password2"] fields = ["email", "password1", "password2"]
class VerificationForm(forms.Form):
def get_choices():
for client in ClientProfile.objects.filter(verified=False):
yield ("C%i" % client.id, "C%i %s" % (client.id, client.full_name))
for partner in PartnerProfile.objects.filter(verified=False):
yield ("P%i" % partner.id, "P%i %s" % (partner.id, partner.full_name))
profile = forms.ChoiceField(choices=get_choices)

View file

@ -71,6 +71,15 @@ class Profile(models.Model):
zip = models.CharField(max_length=16) zip = models.CharField(max_length=16)
state = models.CharField(max_length=64) state = models.CharField(max_length=64)
country = CountryField() country = CountryField()
verified = models.BooleanField(default=False)
enabled = models.BooleanField(default=True)
@property
def full_name(self):
if self.company:
return self.company
else:
return " ".join([self.first_name, self.last_name])
class Meta: class Meta:
abstract = True abstract = True

View file

@ -1,6 +1,6 @@
from django.urls import path from django.urls import path
from .views import LoginView, LogoutView, RegistrationView from .views import LoginView, LogoutView, RegistrationView, VerificationView
app_name = "localauth" app_name = "localauth"
@ -8,4 +8,5 @@ urlpatterns = [
path('login/', LoginView.as_view(), name="login"), path('login/', LoginView.as_view(), name="login"),
path('logout/', LogoutView.as_view(), name="logout"), path('logout/', LogoutView.as_view(), name="logout"),
path('register/', RegistrationView.as_view(), name="register"), path('register/', RegistrationView.as_view(), name="register"),
path('verify/', VerificationView.as_view(), name="verify"),
] ]

View file

@ -3,9 +3,15 @@ from django.http.response import HttpResponseRedirect
from django.contrib.auth import login from django.contrib.auth import login
from django.shortcuts import resolve_url from django.shortcuts import resolve_url
from django.conf import settings from django.conf import settings
from django.views.generic import FormView
from django.contrib import messages
from .forms import RegistrationForm from .forms import RegistrationForm, VerificationForm
from .models import User from .models import User
from .mixins import SuperUserRequiredMixin
from clients.models import ClientProfile
from partners.models import PartnerProfile
class LoginView(Login): class LoginView(Login):
template_name = "localauth/register.html" template_name = "localauth/register.html"
@ -18,9 +24,26 @@ class RegistrationView(Login):
template_name = "localauth/register.html" template_name = "localauth/register.html"
def form_valid(self, form): def form_valid(self, form):
user = User.objects.create_user(form.cleaned_data["email"], form.cleaned_data["password1"]) user = User.objects.create_user(form.cleaned_data["email"])
user.set_password(form.cleaned_data["password1"])
login(self.request, user) login(self.request, user)
messages.success(self.request, "Erfolgreich registriert!")
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
def get_default_redirect_url(self): def get_default_redirect_url(self):
return resolve_url(self.next_page or settings.REGISTER_REDIRECT_URL) return resolve_url(self.next_page or settings.REGISTER_REDIRECT_URL)
class VerificationView(SuperUserRequiredMixin, FormView):
form_class = VerificationForm
template_name = "localauth/verify.html"
def form_valid(self, form):
pid = form.cleaned_data["profile"]
ptype = ClientProfile if profile.startswith("C") else PartnerProfile
pobj = ptype.objects.get(id=profile[1:])
pobj.update(verified=True)
messages.success(self.request, "Benutzer %s bestätigt!" % pobj.full_name)
return HttpResponseRedirect(resolve_url("localauth:verify"))

View file

@ -0,0 +1,19 @@
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'longsecretstring!'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ["*"]
# PostgreSQL server settings
DB_HOST = "postgresql.server"
DB_PORT = 5432
DB_NAME = "postgresql_database"
DB_USER = "postgresql_username"
DB_PASS = "postgresql_password"
# Email address of system administrator
ADMIN_EMAIL = "recipient@example.com"

10
partners/urls.py Normal file
View file

@ -0,0 +1,10 @@
from django.urls import path
from .views import PartnerRegistrationView, PartnerProfileView
app_name = "partners"
urlpatterns = [
path('register/', PartnerRegistrationView.as_view(), name="register"),
path('profile/', PartnerProfileView.as_view(), name="profile"),
]

View file

@ -1,4 +1,5 @@
from django.views.generic import CreateView from django.views.generic import CreateView, UpdateView
from django.urls import reverse_lazy
from .models import PartnerProfile from .models import PartnerProfile
@ -7,3 +8,43 @@ from localauth.mixins import LoginRequiredMixin
class PartnerRegistrationView(LoginRequiredMixin, CreateView): class PartnerRegistrationView(LoginRequiredMixin, CreateView):
model = PartnerProfile model = PartnerProfile
exclude = ["user"] exclude = ["user"]
template_name = "partners/signup.html"
fields = ["company", "vat_id", "first_name", "last_name", "street", "city", "zip", "state", "country"]
def form_valid(self, form):
form.instance.user = self.request.user
return super().form_valid(form)
def get_success_url(self):
return reverse_lazy("partners:profile")
def get_initial(self):
try:
client = self.request.user.clientprofile
return {
"company": client.company,
"vat_id": client.vat_id,
"first_name": client.first_name,
"last_name": client.last_name,
"street": client.street,
"city": client.city,
"zip": client.zip,
"state": client.state,
"country": client.country
}
except:
return {}
class PartnerProfileView(LoginRequiredMixin, UpdateView):
model = PartnerProfile
exclude = ["user"]
template_name = "partners/profile.html"
fields = ["company", "vat_id", "first_name", "last_name", "street", "city", "zip", "state", "country"]
def get_success_url(self):
return reverse_lazy("partners:profile")
def get_object(self, queryset=None):
return self.request.user.partnerprofile

View file

@ -1,4 +1,6 @@
from django.urls import path from django.urls import path
app_name = "paypal"
urlpatterns = [ urlpatterns = [
] ]

View file

@ -2,6 +2,8 @@ from django.urls import path
from .views import SepaApplyPaymentView from .views import SepaApplyPaymentView
app_name = "sepa"
urlpatterns = [ urlpatterns = [
path('apply/', SepaApplyPaymentView.as_view(), name="superuser_apply"), path('apply/', SepaApplyPaymentView.as_view(), name="apply"),
] ]

View file

@ -1,5 +1,7 @@
from django.urls import path, include from django.urls import path, include
app_name = "payment"
urlpatterns = [ urlpatterns = [
path('gateways/paypal/', include("payment.paypal.urls"), name="paypal"), path('gateways/paypal/', include("payment.paypal.urls"), name="paypal"),
path('gateways/sepa/', include("payment.sepa.urls"), name="sepa"), path('gateways/sepa/', include("payment.sepa.urls"), name="sepa"),

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -13,7 +13,7 @@
<link href="https://fontproxy.kumi.systems/css?family=Lato:300,300i,400,400i,700,700i,900,900i%7CMerriweather:300,300i,400,400i,700,700i,900,900i" rel="stylesheet"> <link href="https://fontproxy.kumi.systems/css?family=Lato:300,300i,400,400i,700,700i,900,900i%7CMerriweather:300,300i,400,400i,700,700i,900,900i" rel="stylesheet">
<!-- Bootstrap Stylesheet --> <!-- Bootstrap Stylesheet -->
<link rel="stylesheet" href="{% static "frontend/css/bootstrap.min4.2.1.css" %}"> <link rel="stylesheet" href="{% static "frontend/css/bootstrap.min4.2.1.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "frontend/css/bootstrap-reboot4.2.1.css" %}"> <link rel="stylesheet" type="text/css" href="{% static "frontend/css/bootstrap-reboot4.2.1.css" %}">
<!-- Sidebar Stylesheet --> <!-- Sidebar Stylesheet -->
@ -24,7 +24,7 @@
<!-- Custom Stylesheets --> <!-- Custom Stylesheets -->
<link rel="stylesheet" href="{% static "frontend/css/style.css" %}"> <link rel="stylesheet" href="{% static "frontend/css/style.css" %}">
<link rel="stylesheet" id="cpswitch" href="{% static "frontend/css/orange.css" %}"> <link rel="stylesheet" href="{% static "frontend/css/orange.css" %}">
<link rel="stylesheet" href="{% static "frontend/css/responsive.css" %}"> <link rel="stylesheet" href="{% static "frontend/css/responsive.css" %}">
<!-- Owl Carousel Stylesheet --> <!-- Owl Carousel Stylesheet -->
@ -87,7 +87,9 @@
<div id="links"> <div id="links">
<ul class="list-unstyled list-inline"> <ul class="list-unstyled list-inline">
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
{% if request.user.is_superuser %}
<li class="list-inline-item">{% trans "Eingeloggt als:" %} {{ request.user.email }} | </li> <li class="list-inline-item">{% trans "Eingeloggt als:" %} {{ request.user.email }} | </li>
{% endif %}
<li class="list-inline-item"><a href="{% url "localauth:logout" %}"><span><i class="fa fa-lock"></i></span>{% trans "Logout" %}</a></li> <li class="list-inline-item"><a href="{% url "localauth:logout" %}"><span><i class="fa fa-lock"></i></span>{% trans "Logout" %}</a></li>
{% else %} {% else %}
<li class="list-inline-item"><a href="{% url "localauth:login" %}?next={{ request.path }}"><span><i class="fa fa-lock"></i></span>{% trans "Login" %}</a></li> <li class="list-inline-item"><a href="{% url "localauth:login" %}?next={{ request.path }}"><span><i class="fa fa-lock"></i></span>{% trans "Login" %}</a></li>
@ -129,7 +131,7 @@
<nav class="navbar navbar-expand-xl sticky-top navbar-custom main-navbar p-1" id="mynavbar-1"> <nav class="navbar navbar-expand-xl sticky-top navbar-custom main-navbar p-1" id="mynavbar-1">
<div class="container"> <div class="container">
<a href="{% url "frontend:home" %}" class="navbar-brand py-1 m-0"><span><i class="fa fa-plane"></i>JOURNEY</span>JOKER</a> <a href="{% url "frontend:home" %}" class="navbar-brand py-1 m-0"><img style="max-height:50px;" src="{% static "frontend/images/logo.png" %}"></img></a>
<div class="header-search d-xl-none my-auto ml-auto py-1"> <div class="header-search d-xl-none my-auto ml-auto py-1">
<a href="#" class="search-button" onClick="openSearch()"><span><i class="fa fa-search"></i></span></a> <a href="#" class="search-button" onClick="openSearch()"><span><i class="fa fa-search"></i></span></a>
</div> </div>
@ -171,7 +173,7 @@
<a href="#" class="nav-link" data-toggle="dropdown">{% trans "Über&nbsp;uns" %}<span><i class="fa fa-angle-down"></i></span></a> <a href="#" class="nav-link" data-toggle="dropdown">{% trans "Über&nbsp;uns" %}<span><i class="fa fa-angle-down"></i></span></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{% if not request.user.partnerprofile %} {% if not request.user.partnerprofile %}
<li><a class="dropdown-item" href="/">{% trans "Als Anbieter anmelden" %}</a></li> <li><a class="dropdown-item" href="{% url "partners:register" %}">{% trans "Als Anbieter anmelden" %}</a></li>
{% endif %} {% endif %}
<li><a class="dropdown-item" href="/">{% trans "Kontakt" %}</a></li> <li><a class="dropdown-item" href="/">{% trans "Kontakt" %}</a></li>
<li><a class="dropdown-item" href="/">{% trans "Datenschutz" %}</a></li> <li><a class="dropdown-item" href="/">{% trans "Datenschutz" %}</a></li>
@ -183,210 +185,16 @@
<a href="#" class="nav-link" data-toggle="dropdown">Admin<span><i class="fa fa-angle-down"></i></span></a> <a href="#" class="nav-link" data-toggle="dropdown">Admin<span><i class="fa fa-angle-down"></i></span></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="dropdown-item" href="{% url "payment:sepa:apply" %}">{% trans "SEPA-Zahlung anwenden" %}</a></li> <li><a class="dropdown-item" href="{% url "payment:sepa:apply" %}">{% trans "SEPA-Zahlung anwenden" %}</a></li>
<li><a class="dropdown-item" href="{% url "localauth:verify" %}">{% trans "Account verifizieren" %}</a></li>
<li><a class="dropdown-item" href="{% url "admin:index" %}">{% trans "Admin-Panel" %}</a></li>
</ul> </ul>
</li> </li>
{% endif %} {% endif %}
<li class="dropdown-item search-btn" style="display: none;"> <li class="nav-item dropdown" style="display: none;"></li>
<a href="#" class="search-button" onClick="openSearch()"><span><i class="fa fa-search"></i></span></a>
</li>
</ul> </ul>
</div><!-- end navbar collapse --> </div><!-- end navbar collapse -->
</div><!-- End container --> </div><!-- End container -->
</nav> </nav>
<div style="display:none;" class="sidenav-content">
<!-- Sidebar -->
<nav id="sidebar" class="sidenav">
<h2 id="web-name"><span><i class="fa fa-plane"></i></span>Star Travel</h2>
<div id="main-menu">
<div id="dismiss">
<button class="btn" id="closebtn">&times;</button>
</div>
<div class="list-group panel">
<a href="#home-links" class="items-list active" data-toggle="collapse" aria-expanded="false">
<span><i class="fa fa-home link-icon"></i></span>Home<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu text-danger" id="home-links">
<a class="items-list active" href="index.html">Main Homepage</a>
<a class="items-list" href="flight-homepage.html">Flight Homepage</a>
<a class="items-list" href="hotel-homepage.html">Hotel Homepage</a>
<a class="items-list" href="tour-homepage.html">Tour Homepage</a>
<a class="items-list" href="cruise-homepage.html">Cruise Homepage</a>
<a class="items-list" href="car-homepage.html">Car Homepage</a>
<a class="items-list" href="landing-page.html">Landing Page</a>
<a class="items-list" href="travel-agency-homepage.html">Travel Agency Page</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#flights-links" data-toggle="collapse"><span><i class="fa fa-plane link-icon"></i></span>Flights<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="flights-links">
<a class="items-list" href="flight-homepage.html">Flight Homepage</a>
<a class="items-list" href="flight-listing-left-sidebar.html">List View Left Sidebar</a>
<a class="items-list" href="flight-listing-right-sidebar.html">List View Right Sidebar</a>
<a class="items-list" href="flight-grid-left-sidebar.html">Grid View Left Sidebar</a>
<a class="items-list" href="flight-grid-right-sidebar.html">Grid View Right Sidebar</a>
<a class="items-list" href="flight-detail-left-sidebar.html">Detail Left Sidebar</a>
<a class="items-list" href="flight-detail-right-sidebar.html">Detail Right Sidebar</a>
<a class="items-list" href="flight-booking-left-sidebar.html">Booking Left Sidebar</a>
<a class="items-list" href="flight-booking-right-sidebar.html">Booking Right Sidebar</a>
<a class="items-list" href="flight-search-result.html">Search Result</a>
<a class="items-list" href="flight-offers.html">Hot Offers</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#hotels-links" data-toggle="collapse"><span><i class="fa fa-building link-icon"></i></span>Hotels<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="hotels-links">
<a class="items-list" href="hotel-homepage.html">Hotel Homepage</a>
<a class="items-list" href="hotel-listing-left-sidebar.html">List View Left Sidebar</a>
<a class="items-list" href="hotel-listing-right-sidebar.html">List View Right Sidebar</a>
<a class="items-list" href="hotel-grid-left-sidebar.html">Grid View Left Sidebar</a>
<a class="items-list" href="hotel-grid-right-sidebar.html">Grid View Right Sidebar</a>
<a class="items-list" href="hotel-detail-left-sidebar.html">Detail Left Sidebar</a>
<a class="items-list" href="hotel-detail-right-sidebar.html">Detail Right Sidebar</a>
<a class="items-list" href="hotel-booking-left-sidebar.html">Booking Left Sidebar</a>
<a class="items-list" href="hotel-booking-right-sidebar.html">Booking Right Sidebar</a>
<a class="items-list" href="hotel-search-result.html">Search Result</a>
<a class="items-list" href="hotel-offers.html">Hot Offers</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#tours-links" data-toggle="collapse"><span><i class="fa fa-globe link-icon"></i></span>Tours<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="tours-links">
<a class="items-list" href="tour-homepage.html">Tour Homepage</a>
<a class="items-list" href="tour-listing-left-sidebar.html">List View Left Sidebar</a>
<a class="items-list" href="tour-listing-right-sidebar.html">List View Right Sidebar</a>
<a class="items-list" href="tour-grid-left-sidebar.html">Grid View Left Sidebar</a>
<a class="items-list" href="tour-grid-right-sidebar.html">Grid View Right Sidebar</a>
<a class="items-list" href="tour-detail-left-sidebar.html">Detail Left Sidebar</a>
<a class="items-list" href="tour-detail-right-sidebar.html">Detail Right Sidebar</a>
<a class="items-list" href="tour-booking-left-sidebar.html">Booking Left Sidebar</a>
<a class="items-list" href="tour-booking-right-sidebar.html">Booking Right Sidebar</a>
<a class="items-list" href="tour-search-result.html">Search Result</a>
<a class="items-list" href="tour-offers.html">Hot Offers</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#cruise-links" data-toggle="collapse"><span><i class="fa fa-ship link-icon"></i></span>Cruise<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="cruise-links">
<a class="items-list" href="cruise-homepage.html">Cruise Homepage</a>
<a class="items-list" href="cruise-listing-left-sidebar.html">List View Left Sidebar</a>
<a class="items-list" href="cruise-listing-right-sidebar.html">List View Right Sidebar</a>
<a class="items-list" href="cruise-grid-left-sidebar.html">Grid View Left Sidebar</a>
<a class="items-list" href="cruise-grid-right-sidebar.html">Grid View Right Sidebar</a>
<a class="items-list" href="cruise-detail-left-sidebar.html">Detail Left Sidebar</a>
<a class="items-list" href="cruise-detail-right-sidebar.html">Detail Right Sidebar</a>
<a class="items-list" href="cruise-booking-left-sidebar.html">Booking Left Sidebar</a>
<a class="items-list" href="cruise-booking-right-sidebar.html">Booking Right Sidebar</a>
<a class="items-list" href="cruise-search-result.html">Search Result</a>
<a class="items-list" href="cruise-offers.html">Hot Offers</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#cars-links" data-toggle="collapse"><span><i class="fa fa-car link-icon"></i></span>Cars<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="cars-links">
<a class="items-list" href="car-homepage.html">Car Homepage</a>
<a class="items-list" href="car-listing-left-sidebar.html">List View Left Sidebar</a>
<a class="items-list" href="car-listing-right-sidebar.html">List View Right Sidebar</a>
<a class="items-list" href="car-grid-left-sidebar.html">Grid View Left Sidebar</a>
<a class="items-list" href="car-grid-right-sidebar.html">Grid View Right Sidebar</a>
<a class="items-list" href="car-detail-left-sidebar.html">Detail Left Sidebar</a>
<a class="items-list" href="car-detail-right-sidebar.html">Detail Right Sidebar</a>
<a class="items-list" href="car-booking-left-sidebar.html">Booking Left Sidebar</a>
<a class="items-list" href="car-booking-right-sidebar.html">Booking Right Sidebar</a>
<a class="items-list" href="car-search-result.html">Search Result</a>
<a class="items-list" href="car-offers.html">Hot Offers</a>
</div><!-- end sub-menu -->
<a class="items-list" href="#features-links" data-toggle="collapse"><span><i class="fa fa-puzzle-piece link-icon"></i></span>Features<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu" id="features-links">
<a class="items-list" href="#header-style-links" data-toggle="collapse">Header<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="header-style-links">
<a class="items-list" href="feature-header-style-1.html">Header Style 1</a>
<a class="items-list" href="feature-header-style-2.html">Header Style 2</a>
<a class="items-list" href="feature-header-style-3.html">Header Style 3</a>
<a class="items-list" href="feature-header-style-4.html">Header Style 4</a>
<a class="items-list" href="feature-header-style-5.html">Header Style 5</a>
<a class="items-list" href="feature-header-style-6.html">Header Style 6</a>
</div>
<a class="items-list" href="#page-title-style-links" data-toggle="collapse">Page Title<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="page-title-style-links">
<a class="items-list" href="feature-page-title-style-1.html">Page Title Style 1</a>
<a class="items-list" href="feature-page-title-style-2.html">Page Title Style 2</a>
<a class="items-list" href="feature-page-title-style-3.html">Page Title Style 3</a>
<a class="items-list" href="feature-page-title-style-4.html">Page Title Style 4</a>
<a class="items-list" href="feature-page-title-style-5.html">Page Title Style 5</a>
<a class="items-list" href="feature-page-title-style-6.html">Page Title Style 6</a>
</div>
<a class="items-list" href="#footer-style-links" data-toggle="collapse">Footer<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="footer-style-links">
<a class="items-list" href="feature-footer-style-1.html">Footer Style 1</a>
<a class="items-list" href="feature-footer-style-2.html">Footer Style 2</a>
<a class="items-list" href="feature-footer-style-3.html">Footer Style 3</a>
<a class="items-list" href="feature-footer-style-4.html">Footer Style 4</a>
<a class="items-list" href="feature-footer-style-5.html">Footer Style 5</a>
</div>
<a class="items-list" href="#f-blog-links" data-toggle="collapse">Blog<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="f-blog-links">
<a class="items-list" href="blog-listing-left-sidebar.html">Blog Listing Left Sidebar</a>
<a class="items-list" href="blog-listing-right-sidebar.html">Blog Listing Right Sidebar</a>
<a class="items-list" href="blog-detail-left-sidebar.html">Blog Detail Left Sidebar</a>
<a class="items-list" href="blog-detail-right-sidebar.html">Blog Detail Right Sidebar</a>
</div>
<a class="items-list" href="#f-gallery-links" data-toggle="collapse">Gallery<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="f-gallery-links">
<a class="items-list" href="gallery-masonry.html">Gallery Masonry</a>
<a class="items-list" href="gallery-2-columns.html">Gallery 2 Columns</a>
<a class="items-list" href="gallery-3-columns.html">Gallery 3 Columns</a>
<a class="items-list" href="gallery-4-columns.html">Gallery 4 Columns</a>
</div>
<a class="items-list" href="#f-forms-links" data-toggle="collapse">Forms<span><i class="fa fa-caret-down arrow"></i></span></a>
<div class="collapse sub-menu mega-sub-menu-links" id="f-forms-links">
<a class="items-list" href="login-1.html">Login 1</a>
<a class="items-list" href="login-2.html">Login 2</a>
<a class="items-list" href="registration-1.html">Registration 1</a>
<a class="items-list" href="registration-2.html">Registration 2</a>
<a class="items-list" href="forgot-password-1.html">Forgot Password 1</a>
<a class="items-list" href="forgot-password-2.html">Forgot Password 2</a>
</div>
</div><!-- end sub-menu -->
<a class="items-list" href="#pages-links" data-toggle="collapse"><span><i class="fa fa-clone link-icon"></i></span>Pages<span><i class="fa fa-chevron-down arrow"></i></span></a>
<div class="collapse sub-menu" id="pages-links">
<div class="list-group-heading ">Standard <span>Pages</span></div>
<a class="items-list" href="about-us-1.html">About Us 1</a>
<a class="items-list" href="about-us-2.html">About Us 2</a>
<a class="items-list" href="services-1.html">Services 1</a>
<a class="items-list" href="services-2.html">Services 2</a>
<a class="items-list" href="team-1.html">Our Team 1</a>
<a class="items-list" href="team-2.html">Our Team 2</a>
<a class="items-list" href="contact-us-1.html">Contact Us 1</a>
<a class="items-list" href="contact-us-2.html">Contact Us 2</a>
<div class="list-group-heading ">User <span>Dashboard</span></div>
<a class="items-list" href="dashboard-1.html">Dashboard 1</a>
<a class="items-list" href="dashboard-2.html">Dashboard 2</a>
<a class="items-list" href="user-profile.html">User Profile</a>
<a class="items-list" href="booking.html">Booking</a>
<a class="items-list" href="wishlist.html">Wishlist</a>
<a class="items-list" href="cards.html">Cards</a>
<div class="list-group-heading ">Special <span>Pages</span></div>
<a class="items-list" href="error-page-1.html">404 Page 1</a>
<a class="items-list" href="error-page-2.html">404 Page 2</a>
<a class="items-list" href="coming-soon-1.html">Coming Soon 1</a>
<a class="items-list" href="coming-soon-2.html">Coming Soon 2</a>
<a class="items-list" href="faq-left-sidebar.html">FAQ Left Sidebar</a>
<a class="items-list" href="faq-right-sidebar.html">FAQ Right Sidebar</a>
<a class="items-list" href="testimonials-1.html">Testimonials 1</a>
<a class="items-list" href="testimonials-2.html">Testimonials 2</a>
<div class="list-group-heading ">Extra <span>Pages</span></div>
<a class="items-list" href="before-you-fly.html">Before Fly</a>
<a class="items-list" href="travel-insurance.html">Travel Insurance</a>
<a class="items-list" href="travel-guide.html">Travel Guide</a>
<a class="items-list" href="holidays.html">Holidays</a>
<a class="items-list" href="thank-you.html">Thank You</a>
<a class="items-list" href="payment-success.html">Payment Success</a>
<a class="items-list" href="pricing-table-1.html">Pricing Table 1</a>
<a class="items-list" href="pricing-table-2.html">Pricing Table 2</a>
<a class="items-list" href="popup-ad.html">Popup Ad</a>
</div><!-- end sub-menu -->
</div><!-- End list-group panel -->
</div><!-- End main-menu -->
</nav>
</div><!-- End sidenav-content -->
{% block "content" %} {% block "content" %}
{% endblock %} {% endblock %}
@ -462,8 +270,6 @@
<h3 class="footer-heading">Kontakt</h3> <h3 class="footer-heading">Kontakt</h3>
<ul class="list-unstyled"> <ul class="list-unstyled">
<li><span><i class="fa fa-map-marker"></i></span>Think:Put<br>Die Agentur für Denken & Tun<br>Kolingasse 10/10<br>1090 Wien</li> <li><span><i class="fa fa-map-marker"></i></span>Think:Put<br>Die Agentur für Denken & Tun<br>Kolingasse 10/10<br>1090 Wien</li>
<!--<li><span><i class="fa fa-phone"></i></span>+43 800 093004</li>
<li><span><i class="fa fa-envelope"></i></span>office@kumi.systems</li>-->
</ul> </ul>
</div><!-- end columns --> </div><!-- end columns -->

View file

@ -0,0 +1,24 @@
{% extends "frontend/base.html" %}
{% load i18n %}
{% load bootstrap4 %}
{% block "content" %}
<!--===== INNERPAGE-WRAPPER ====-->
<section class="innerpage-wrapper">
<div id="payment-success" class="section-padding">
<div class="container text-center">
<div class="row d-flex justify-content-center">
<div class="col-md-12 col-lg-8 col-lg-offset-2">
<div class="payment-success-text">
<h2>{% trans "Benutzerprofil verifizieren" %}</h2>
<form method="POST">
{% csrf_token %}
{% bootstrap_form form %}
<button class="btn btn-orange btn-block">{% trans "Verifizieren" %}</button>
</div>
</div><!-- end columns -->
</div><!-- end row -->
</div><!-- end container -->
</div><!-- end coming-soon-text -->
</section><!-- end innerpage-wrapper -->
{% endblock %}

View file

@ -0,0 +1,21 @@
{% extends "frontend/base.html" %}
{% load i18n %}
{% load bootstrap4 %}
{% block "content" %}
<!--===== INNERPAGE-WRAPPER ====-->
<section class="innerpage-wrapper">
<div id="payment-success" class="section-padding">
<div class="container text-center">
<div class="row d-flex justify-content-center">
<div class="col-md-12 col-lg-8 col-lg-offset-2">
<h2>{% trans "Profildaten" %}</h2>
<form method="POST">
{% csrf_token %}
{% bootstrap_form form %}
<button class="btn btn-orange btn-block">{% trans "Anwenden" %}</button>
</div><!-- end columns -->
</div><!-- end row -->
</div><!-- end container -->
</div><!-- end coming-soon-text -->
</section><!-- end innerpage-wrapper -->
{% endblock %}

View file

@ -0,0 +1,25 @@
{% extends "frontend/base.html" %}
{% load i18n %}
{% load bootstrap4 %}
{% block "content" %}
<!--===== INNERPAGE-WRAPPER ====-->
<section class="innerpage-wrapper">
<div id="payment-success" class="section-padding">
<div class="container text-center">
<div class="row d-flex justify-content-center">
<div class="col-md-12 col-lg-8 col-lg-offset-2">
<h2>{% trans "Als Partner registrieren" %}</h2>
<p>Sie haben Interesse, mit Ihrem Hotel an JourneyJoker teilzunehmen?</p>
<p>Füllen Sie einfach folgendes Formular aus, um sich zu registrieren.</p>
<p>Nach einer kurzen Überprüfung Ihrer Daten können Sie dann Ihre Unterkunft in unserem System anlegen und schon kann es losgehen!</p>
<form method="POST">
{% csrf_token %}
{% bootstrap_form form %}
<button class="btn btn-orange btn-block">{% trans "Anwenden" %}</button>
</div><!-- end columns -->
</div><!-- end row -->
</div><!-- end container -->
</div><!-- end coming-soon-text -->
</section><!-- end innerpage-wrapper -->
{% endblock %}

View file

@ -93,9 +93,9 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization # Internationalization
# https://docs.djangoproject.com/en/3.1/topics/i18n/ # https://docs.djangoproject.com/en/3.1/topics/i18n/
LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'de'
TIME_ZONE = 'UTC' TIME_ZONE = 'Europe/Vienna'
USE_I18N = True USE_I18N = True

View file

@ -17,9 +17,10 @@ from django.contrib import admin
from django.urls import path, include from django.urls import path, include
urlpatterns = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin_area/', admin.site.urls),
path('', include('public.urls'), name="frontend"), path('', include('public.urls'), name="frontend"),
path('auth/', include('localauth.urls'), name="localauth"), path('auth/', include('localauth.urls'), name="localauth"),
path('auction/', include('auction.urls'), name="auction"), path('auction/', include('auction.urls'), name="auction"),
path('payment/', include('payment.urls'), name="payment"), path('payment/', include('payment.urls'), name="payment"),
path('partners/', include('partners.urls'), name="partners"),
] ]