Demo notifications
Fixed a few views Other stuff
This commit is contained in:
parent
9cfe535089
commit
6d67541571
16 changed files with 216 additions and 364 deletions
16
auction/helpers.py
Normal file
16
auction/helpers.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
from dbsettings.functions import getValue
|
||||
|
||||
import requests
|
||||
|
||||
def name_to_coords(name, api_key=None):
|
||||
URL = "https://maps.googleapis.com/maps/api/geocode/json"
|
||||
api_key = api_key or getValue("google.api.key")
|
||||
|
||||
payload = {"address": name, "key": api_key}
|
||||
response = requests.get(URL, params=payload).json()
|
||||
|
||||
try:
|
||||
result = response["results"][0]
|
||||
return result["geometry"]["location"]["lat"], result["geometry"]["location"]["lng"]
|
||||
except:
|
||||
raise ValueError(response)
|
|
@ -4,7 +4,7 @@ from clients.models import ClientProfile
|
|||
from partners.models import Establishment
|
||||
|
||||
class Inquiry(models.Model):
|
||||
client = models.ForeignKey(ClientProfile, models.PROTECT)
|
||||
client = models.ForeignKey(ClientProfile, models.PROTECT, null=True, blank=True)
|
||||
destination_name = models.CharField(max_length=128)
|
||||
destination_coords = models.PointField()
|
||||
destination_radius = models.IntegerField()
|
||||
|
@ -14,6 +14,7 @@ class Inquiry(models.Model):
|
|||
adults = models.IntegerField()
|
||||
children = models.IntegerField()
|
||||
comment = models.TextField(null=True, blank=True)
|
||||
active = models.BooleanField(default=False)
|
||||
|
||||
@property
|
||||
def is_paid(self):
|
||||
|
|
|
@ -2,9 +2,11 @@ from django.urls import path
|
|||
|
||||
from public.views import HomeView
|
||||
|
||||
from .views import InquiryCreateView
|
||||
|
||||
app_name = "auction"
|
||||
|
||||
urlpatterns = [
|
||||
path('create_inquiry/', HomeView.as_view(), name="create_inquiry"),
|
||||
path('create_inquiry/', InquiryCreateView.as_view(), name="create_inquiry"),
|
||||
path('process_inquiry/<slug:uuid>/', HomeView.as_view(), name="process_inquiry"),
|
||||
]
|
|
@ -1,3 +1,34 @@
|
|||
from django.shortcuts import render
|
||||
from django.views.generic import CreateView
|
||||
from django.shortcuts import redirect
|
||||
from django.contrib import messages
|
||||
from django.urls import reverse
|
||||
|
||||
# Create your views here.
|
||||
from public.mixins import InConstructionMixin
|
||||
|
||||
from .models import Inquiry
|
||||
|
||||
class InquiryCreateView(InConstructionMixin, CreateView):
|
||||
model = Inquiry
|
||||
fields = ["destination_name", "destination_coords", "budget", "arrival", "min_nights", "adults", "children"]
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
return redirect("/")
|
||||
|
||||
def form_invalid(self, form, *args, **kwargs):
|
||||
for field in form:
|
||||
for error in field.errors:
|
||||
messages.error(self.request, f"{field.name}: {error}")
|
||||
|
||||
return redirect("/")
|
||||
|
||||
def get_success_url(self):
|
||||
return reverse("auction:process_inquiry", args=(self.object.id))
|
||||
|
||||
def clean_destination_coords(self):
|
||||
lat = self.cleaned_data.get("destination_lat", "")
|
||||
lon = self.cleaned_data.get("destination_lon", "")
|
||||
|
||||
if (not lat) or (not lon):
|
||||
lon, lat = get_coords(self.cleaned_data.get("destination_name"))
|
||||
|
||||
return Point(lon, lat)
|
|
@ -31,4 +31,5 @@ class LoginRequiredMixin:
|
|||
|
||||
@method_decorator(login_required)
|
||||
def dispatch(self, *args, **kwargs):
|
||||
messages.info(self.request, "Um diese Seite anzuzeigen, musst du dich einloggen.")
|
||||
return super().dispatch(*args, **kwargs)
|
|
@ -14,7 +14,7 @@ from clients.models import ClientProfile
|
|||
from partners.models import PartnerProfile
|
||||
|
||||
class LoginView(Login):
|
||||
template_name = "localauth/register.html"
|
||||
template_name = "localauth/login.html"
|
||||
|
||||
class LogoutView(Logout):
|
||||
next_page = "/"
|
||||
|
|
|
@ -1,16 +1,25 @@
|
|||
from django.views.generic import CreateView, UpdateView
|
||||
from django.urls import reverse_lazy
|
||||
from django.http import HttpResponseRedirect
|
||||
|
||||
from .models import PartnerProfile
|
||||
|
||||
from public.mixins import InConstructionMixin
|
||||
from localauth.mixins import LoginRequiredMixin
|
||||
|
||||
class PartnerRegistrationView(LoginRequiredMixin, CreateView):
|
||||
class PartnerRegistrationView(InConstructionMixin, LoginRequiredMixin, CreateView):
|
||||
model = PartnerProfile
|
||||
exclude = ["user"]
|
||||
template_name = "partners/signup.html"
|
||||
fields = ["company", "vat_id", "first_name", "last_name", "street", "city", "zip", "state", "country"]
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
try:
|
||||
PartnerProfile.objects.get(user=request.user)
|
||||
return HttpResponseRedirect(reverse_lazy("partners:profile"))
|
||||
except (PartnerProfile.DoesNotExist, TypeError):
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
def form_valid(self, form):
|
||||
form.instance.user = self.request.user
|
||||
return super().form_valid(form)
|
||||
|
|
12
public/middleware.py
Normal file
12
public/middleware.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
|
||||
class DemoMiddleware:
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
if settings.DEBUG:
|
||||
messages.warning(request, "Sie befinden sich auf der Demo-Instanz von JourneyJoker. Diese ist nur zu Testzwecken gedacht und möglicherweise nicht stabil.")
|
||||
|
||||
return self.get_response(request)
|
6
public/mixins.py
Normal file
6
public/mixins.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
from django.contrib import messages
|
||||
|
||||
class InConstructionMixin:
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
messages.warning(request, "Die aufgerufene Seite wird aktuell bearbeitet und funktioniert möglicherweise nicht wie erwartet. Versuchen Sie es bitte später wieder oder wenden Sie sich an den Administrator, wenn dieses Problem länger besteht.")
|
||||
return super().dispatch(request, *args, **kwargs)
|
|
@ -6,4 +6,6 @@ django-bootstrap4
|
|||
pyinvoice
|
||||
django-countries
|
||||
paypal-checkout-serversdk
|
||||
python-dateutil
|
||||
python-dateutil
|
||||
qrcode
|
||||
requests
|
|
@ -43,6 +43,7 @@
|
|||
<!-- Toastr -->
|
||||
<link rel="stylesheet" href="{% static "frontend/css/toastr.min.css" %}">
|
||||
|
||||
{{ form.media }}
|
||||
</head>
|
||||
|
||||
|
||||
|
|
|
@ -41,12 +41,8 @@
|
|||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<ul class="nav nav-tabs justify-content-center">
|
||||
<!--<li class="nav-item active"><a class="nav-link" href="#flights" data-toggle="tab"><span><i class="fa fa-plane"></i></span><span class="d-md-inline-flex d-none st-text">Flights</span></a></li>-->
|
||||
<li class="nav-item active"><a class="nav-link" onclick="return false;" href="#"><span><i class="fa fa-building"></i></span><span class="d-md-inline-flex d-none st-text">Angebote einholen</span></a></li>
|
||||
<!--<li class="nav-item"><a class="nav-link" href="#tours" data-toggle="tab"><span><i class="fa fa-suitcase"></i></span><span class="d-md-inline-flex d-none st-text">Tours</span></a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#cruise" data-toggle="tab"><span><i class="fa fa-ship"></i></span><span class="d-md-inline-flex d-none st-text">Cruise</span></a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#cars" data-toggle="tab"><span><i class="fa fa-car"></i></span><span class="d-md-inline-flex d-none st-text">Cars</span></a></li>-->
|
||||
</ul>
|
||||
<li class="nav-item active"><div style="background-color: white;" class="nav-link" onclick="return false;" href="#"><span><i class="fa fa-building"></i></span><span class="d-md-inline-flex d-none st-text">Angebote einholen</span></div></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
|
||||
<div id="flights" class="tab-pane in active">
|
||||
|
@ -68,7 +64,7 @@
|
|||
|
||||
<div class="col-12 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_amount" name="amount" type="number" step="1" class="form-control" placeholder="{% trans "Mein Budget" %}" >
|
||||
<input id="id_amount" name="amount" type="number" step="1" class="form-control" placeholder="{% trans "Budget" %}" >
|
||||
<i class="fa fa-euro-sign"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
@ -81,15 +77,28 @@
|
|||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_first_date" name="first_date" type="text" class="form-control dpd1" placeholder="{% trans "Erster Tag" %}" >
|
||||
<input id="id_first_date" name="first_date" type="text" class="form-control dpd1" placeholder="{% trans "Anreise" %}" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_last_date" name="last_date" type="text" class="form-control dpd2" placeholder="{% trans "Letzter Tag" %}" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
<div class="form-group right-icon">
|
||||
<select id="id_adults" name="adults" class="form-control">
|
||||
<option value="0" selected>{% trans "Mindestdauer" %}</option>
|
||||
<option value="0">Egal!</option>
|
||||
<option value="1">1 Nacht</option>
|
||||
<option value="2">2 Nächte</option>
|
||||
<option value="3">3 Nächte</option>
|
||||
<option value="4">4 Nächte</option>
|
||||
<option value="5">5 Nächte</option>
|
||||
<option value="6">6 Nächte</option>
|
||||
<option value="7">7 Nächte</option>
|
||||
<option value="8">8 Nächte</option>
|
||||
<option value="9">9 Nächte</option>
|
||||
<option value="10">10 Nächte</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
|
@ -136,273 +145,6 @@
|
|||
</form>
|
||||
</div><!-- end flights -->
|
||||
|
||||
<div id="hotels" class="tab-pane">
|
||||
<form>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-6 col-xl-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control dpd1" placeholder="Check In" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control dpd2" placeholder="Check Out" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-6 col-xl-5">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-4">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Rooms</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
<option>3</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-4">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Adults</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
<option>3</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-4">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Kids</option>
|
||||
<option>0</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-12 col-xl-2 search-btn">
|
||||
<button class="btn btn-orange">Search</button>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</form>
|
||||
</div><!-- end hotels -->
|
||||
|
||||
<div id="tours" class="tab-pane">
|
||||
<form>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-3 col-xl-4">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control" placeholder="City,Country" />
|
||||
<i class="fa fa-map-marker"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-3 col-xl-3">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Monat</option>
|
||||
<option>Jänner</option>
|
||||
<option>Februrar</option>
|
||||
<option>March</option>
|
||||
<option>April</option>
|
||||
<option>May</option>
|
||||
<option>June</option>
|
||||
<option>July</option>
|
||||
<option>August</option>
|
||||
<option>September</option>
|
||||
<option>October</option>
|
||||
<option>November</option>
|
||||
<option>December</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-6 col-xl-3">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Adults</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
<option>3</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-6">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Kids</option>
|
||||
<option>0</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-12 col-xl-2 search-btn">
|
||||
<button class="btn btn-orange">Search</button>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</form>
|
||||
</div><!-- end tours -->
|
||||
|
||||
<div id="cruise" class="tab-pane">
|
||||
<form>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-5 col-xl-4">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_destination_name" name="destination_name" type="text" class="form-control" placeholder="Ziel" >
|
||||
<i class="fa fa-map-marker"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_amount" name="amount" type="text" class="form-control" placeholder="Budget" >
|
||||
<i class="fa fa-euro-sign"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-5 col-xl-4">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_first_date" name="first_date" type="text" class="form-control dpd1" placeholder="Beginn" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input id="id_last_date" name="last_date" type="text" class="form-control dpd2" placeholder="Ende" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-2 col-xl-2">
|
||||
<div class="form-group right-icon">
|
||||
<select class="form-control">
|
||||
<option selected>Adults</option>
|
||||
<option>1</option>
|
||||
<option>2</option>
|
||||
<option>3</option>
|
||||
</select>
|
||||
<i class="fa fa-angle-down"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-12 col-xl-2 search-btn">
|
||||
<button class="btn btn-orange">Search</button>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end columns -->
|
||||
</form>
|
||||
</div><!-- end cruises -->
|
||||
|
||||
<div id="cars" class="tab-pane">
|
||||
<form>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-7 col-xl-6">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control" placeholder="Country" />
|
||||
<i class="fa fa-globe"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control" placeholder="City" />
|
||||
<i class="fa fa-map-marker"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-md-12 col-lg-4">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control" placeholder="Location" />
|
||||
<i class="fa fa-street-view"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-5 col-xl-4">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control dpd1" placeholder="Check In" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-6 col-md-6 col-lg-6">
|
||||
<div class="form-group left-icon">
|
||||
<input type="text" class="form-control dpd2" placeholder="Check Out" >
|
||||
<i class="fa fa-calendar"></i>
|
||||
</div>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</div><!-- end columns -->
|
||||
|
||||
<div class="col-12 col-md-12 col-lg-12 col-xl-2 search-btn">
|
||||
<button class="btn btn-orange">Search</button>
|
||||
</div><!-- end columns -->
|
||||
|
||||
</div><!-- end row -->
|
||||
</form>
|
||||
</div><!-- end cars -->
|
||||
|
||||
</div><!-- end tab-content -->
|
||||
|
||||
</div><!-- end columns -->
|
||||
|
|
64
templates/localauth/authbase.html
Normal file
64
templates/localauth/authbase.html
Normal file
|
@ -0,0 +1,64 @@
|
|||
{% load static %}
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>JourneyJoker - {{ title }}</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<link rel="icon" href="{% static "frontend/images/favicon.png" %}" type="image/x-icon">
|
||||
|
||||
<!-- Google Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i,900,900i%7CMerriweather:300,300i,400,400i,700,700i,900,900i" rel="stylesheet">
|
||||
|
||||
<!-- Bootstrap Stylesheet -->
|
||||
<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" %}">
|
||||
|
||||
<!-- Sidebar Stylesheet -->
|
||||
<link rel="stylesheet" type="text/css" href="{% static "frontend/css/jquery.mCustomScrollbar.min.css" %}">
|
||||
|
||||
<!-- Font Awesome Stylesheet -->
|
||||
<link rel="stylesheet" href="{% static "frontend/css/font-awesome.min.css" %}">
|
||||
|
||||
<!-- Custom Stylesheets -->
|
||||
<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/responsive.css" %}">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<!--====== LOADER =====-->
|
||||
<div class="loader"></div>
|
||||
|
||||
|
||||
<!--===== FULL-PAGE-FORM ====-->
|
||||
<section>
|
||||
<div class="colored-border"></div>
|
||||
<div id="full-page-form">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
{% block formspace %}
|
||||
{% endblock %}
|
||||
|
||||
<p class="full-page-copyright">© 2020 – 2021 <a href="https://kumi.systems/">Kumi Systems e.U.</a> All rights reserved.</p>
|
||||
</div><!-- end columns -->
|
||||
</div><!-- end row -->
|
||||
</div><!-- end container -->
|
||||
</div><!-- end full-page-form -->
|
||||
<div class="colored-border"></div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Page Scripts Starts -->
|
||||
<script src="{% static "frontend/js/jquery-3.3.1.min.js" %}"></script>
|
||||
<script src="{% static "frontend/js/jquery.mCustomScrollbar.concat.min.js" %}"></script>
|
||||
<script src="{% static "frontend/js/bootstrap.min4.2.1.js" %}"></script>
|
||||
<script src="{% static "frontend/js/custom-navigation.js" %}"></script>
|
||||
<!-- Page Scripts Ends -->
|
||||
</body>
|
||||
</html>
|
||||
|
21
templates/localauth/login.html
Normal file
21
templates/localauth/login.html
Normal file
|
@ -0,0 +1,21 @@
|
|||
{% extends "localauth/authbase.html" %}
|
||||
{% load i18n %}
|
||||
{% load bootstrap4 %}
|
||||
{% block formspace %}
|
||||
<div class="full-page-title">
|
||||
<a href="{% url "frontend:home" %}"><h3 class="company-name"><span><i class="fa fa-plane"></i>Journey</span>Joker</h3></a>
|
||||
</div><!-- end full-page-title -->
|
||||
|
||||
<div class="custom-form custom-form-fields">
|
||||
<h3>{{ title }}</h3>
|
||||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<button class="btn btn-orange btn-block">{% trans "Einloggen" %}</button>
|
||||
</form>
|
||||
|
||||
<div class="other-links">
|
||||
<p class="link-line"><a href="{% url "localauth:register" %}?{{ request.GET.urlencode }}">Noch kein Account? Jetzt registrieren!</a></p>
|
||||
</div><!-- end other-links -->
|
||||
</div><!-- end custom-form -->
|
||||
{% endblock %}
|
|
@ -1,81 +1,21 @@
|
|||
{% load static %}
|
||||
{% extends "localauth/authbase.html" %}
|
||||
{% load i18n %}
|
||||
{% load bootstrap4 %}
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>JourneyJoker - {{ title }}</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<link rel="icon" href="{% static "frontend/images/favicon.png" %}" type="image/x-icon">
|
||||
|
||||
<!-- Google Fonts -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i,900,900i%7CMerriweather:300,300i,400,400i,700,700i,900,900i" rel="stylesheet">
|
||||
|
||||
<!-- Bootstrap Stylesheet -->
|
||||
<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" %}">
|
||||
|
||||
<!-- Sidebar Stylesheet -->
|
||||
<link rel="stylesheet" type="text/css" href="{% static "frontend/css/jquery.mCustomScrollbar.min.css" %}">
|
||||
|
||||
<!-- Font Awesome Stylesheet -->
|
||||
<link rel="stylesheet" href="{% static "frontend/css/font-awesome.min.css" %}">
|
||||
{% block formspace %}
|
||||
<div class="full-page-title">
|
||||
<a href="{% url "frontend:home" %}"><h3 class="company-name"><span><i class="fa fa-plane"></i>Journey</span>Joker</h3></a>
|
||||
</div><!-- end full-page-title -->
|
||||
|
||||
<!-- Custom Stylesheets -->
|
||||
<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/responsive.css" %}">
|
||||
</head>
|
||||
|
||||
|
||||
<body>
|
||||
|
||||
<!--====== LOADER =====-->
|
||||
<div class="loader"></div>
|
||||
|
||||
|
||||
<!--===== FULL-PAGE-FORM ====-->
|
||||
<section>
|
||||
<div class="colored-border"></div>
|
||||
<div id="full-page-form">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="full-page-title">
|
||||
<a href="{% url "frontend:home" %}"><h3 class="company-name"><span><i class="fa fa-plane"></i>Journey</span>Joker</h3></a>
|
||||
</div><!-- end full-page-title -->
|
||||
|
||||
<div class="custom-form custom-form-fields">
|
||||
<h3>{{ title }}</h3>
|
||||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<button class="btn btn-orange btn-block">{% trans "Login" %}</button>
|
||||
</form>
|
||||
|
||||
<div class="other-links">
|
||||
<!--<p class="link-line"><a href="#">Signup</a></p>
|
||||
<a class="simple-link" href="#">Forgot Password ?</a>-->
|
||||
</div><!-- end other-links -->
|
||||
</div><!-- end custom-form -->
|
||||
|
||||
<p class="full-page-copyright">© 2020 – 2021 <a href="https://kumi.systems/">Kumi Systems e.U.</a> All rights reserved.</p>
|
||||
</div><!-- end columns -->
|
||||
</div><!-- end row -->
|
||||
</div><!-- end container -->
|
||||
</div><!-- end full-page-form -->
|
||||
<div class="colored-border"></div>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Page Scripts Starts -->
|
||||
<script src="{% static "frontend/js/jquery-3.3.1.min.js" %}"></script>
|
||||
<script src="{% static "frontend/js/jquery.mCustomScrollbar.concat.min.js" %}"></script>
|
||||
<script src="{% static "frontend/js/bootstrap.min4.2.1.js" %}"></script>
|
||||
<script src="{% static "frontend/js/custom-navigation.js" %}"></script>
|
||||
<!-- Page Scripts Ends -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<div class="custom-form custom-form-fields">
|
||||
<h3>{{ title }}</h3>
|
||||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
<button class="btn btn-orange btn-block">{% trans "Registrieren" %}</button>
|
||||
</form>
|
||||
|
||||
<div class="other-links">
|
||||
<p class="link-line"><a href="{% url "localauth:login" %}?{{ request.GET.urlencode }}">Schon registriert? Einloggen!</a></p>
|
||||
</div><!-- end other-links -->
|
||||
</div><!-- end custom-form -->
|
||||
{% endblock %}
|
|
@ -33,6 +33,7 @@ MIDDLEWARE = [
|
|||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'public.middleware.DemoMiddleware',
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'urlaubsauktion.urls'
|
||||
|
@ -116,4 +117,7 @@ STATICFILES_DIRS = [
|
|||
AUTH_USER_MODEL = "localauth.User"
|
||||
|
||||
REGISTER_REDIRECT_URL = "/"
|
||||
LOGIN_REDIRECT_URL = "/"
|
||||
LOGIN_REDIRECT_URL = "/"
|
||||
|
||||
LOGIN_URL = "localauth:login"
|
||||
LOGOUT_URL = "localauth:logout"
|
Loading…
Reference in a new issue