Neuer Login

This commit is contained in:
vale981 2014-04-18 14:40:03 +02:00
parent e69263d952
commit ae37ebd181
8 changed files with 56 additions and 25 deletions

View file

@ -7,6 +7,7 @@ urlpatterns = patterns('',
# Examples: # Examples:
(r'^quiz/', include('fs_quiz.urls')), (r'^quiz/', include('fs_quiz.urls')),
# url(r'^blog/', include('blog.urls')), # url(r'^blog/', include('blog.urls')),
(r'^/', 'fahrschule_vale981.views.login'),
(r'^login/', 'fahrschule_vale981.views.login'), (r'^login/', 'fahrschule_vale981.views.login'),
(r'^logout/', 'fahrschule_vale981.views.logout_view'), (r'^logout/', 'fahrschule_vale981.views.logout_view'),
(r'^auth/', 'fahrschule_vale981.views.auth_view'), (r'^auth/', 'fahrschule_vale981.views.auth_view'),

View file

@ -3,6 +3,11 @@ from django.http import HttpResponseRedirect
from django.contrib import auth from django.contrib import auth
from django.core.context_processors import csrf from django.core.context_processors import csrf
from django.contrib.auth import logout from django.contrib.auth import logout
from django.contrib.auth.models import User
from django.contrib.auth.models import UserManager
from userprofile.models import UserQuizRel
from fs_quiz.models import Quiz
def login(request): def login(request):
c = {} c = {}
@ -10,11 +15,21 @@ def login(request):
return render_to_response('login.html', c) return render_to_response('login.html', c)
def auth_view(request): def auth_view(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '') firstname = request.POST.get('firstname', '')
lastname = request.POST.get('lastname', '')
password = 'standart'
username = firstname + lastname
User.objects.create_user(username=firstname+lastname, password='standart', first_name=firstname, last_name=lastname)
user = auth.authenticate(username=username, password=password) user = auth.authenticate(username=username, password=password)
if user is not None: if user is not None:
auth.login(request, user) auth.login(request, user)
uqr = UserQuizRel(user=request.user)
uqr.save()
uqr.allowed_quiz = Quiz.objects.all()
uqr.save()
return HttpResponseRedirect('/quiz/all/') return HttpResponseRedirect('/quiz/all/')
else: else:
return HttpResponseRedirect('/fehler/') return HttpResponseRedirect('/fehler/')

View file

@ -92,7 +92,7 @@ def check_view(request):
def auswertung_index(request): def auswertung_index(request):
return render_to_response('auswertung.html', {'user': request.user, return render_to_response('auswertung.html', {'user': request.user,
'users': User.objects.filter(groups__name = 'Schüler')}) 'users': User.objects.all()})
def ausw_user(request, user_id=1): def ausw_user(request, user_id=1):
user = User.objects.get(id=user_id) user = User.objects.get(id=user_id)

View file

@ -8,37 +8,40 @@ max-height: 100%;
} }
#framecontent{ #framecontent{
position: absolute; position: relative;
top: 0; top: 0;
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 150px; /*Width of frame div*/ width: 100%; /*Width of frame div*/
height: 100%; height: 30px;
overflow: hidden; /*Disable scrollbars. Set to "scroll" to enable*/ overflow: hidden; /*Disable scrollbars. Set to "scroll" to enable*/
background: #0404AF; background: #0404AF;
color: white; color: white;
} }
#maincontent{ #maincontent{
position: fixed; position: relative;
top: 0; top: 0;
left: 150px; /*Set left value to WidthOfFrameDiv*/ overflow: hidden;
/*Set left value to WidthOfFrameDiv*/
right: 0; right: 0;
bottom: 0; bottom: 0;
overflow: auto;
background: #fff; background: #fff;
} }
.innertube{ .innertube{
margin: 15px; /*Margins for inner DIV inside each DIV (to provide padding)*/ margin: 15px; /*Margins for inner DIV inside each DIV (to provide padding)*/
} }
.men_div:hover{ .men_div{
display: inline;
background-color: dodgerblue; position: relative;
top:3px
} }
* html body{ /*IE6 hack*/ * html body{ /*IE6 hack*/
padding: 0 0 0 200px; /*Set value to (0 0 0 WidthOfFrameDiv)*/ padding: 0 0 0 200px; /*Set value to (0 0 0 WidthOfFrameDiv)*/
} }
@ -50,9 +53,10 @@ width: 100%;
#men{ #men{
font-family: Arial, sans-serif; font-family: Arial, sans-serif;
font-size: 24px; font-size: 20px;
color: lightgrey; color: lightgrey;
margin-left: 15px; margin-left: 15px;
text-align: left;
} }
#men:link {color:white; text-decoration:none;} /* unvisited link */ #men:link {color:white; text-decoration:none;} /* unvisited link */
#men:visited {color: #ffffff;} /* visited link */ #men:visited {color: #ffffff;} /* visited link */
@ -62,6 +66,7 @@ width: 100%;
color: dodgerblue; color: dodgerblue;
text-decoration: none; text-decoration: none;
font-size: 20px; font-size: 20px;
text-align: center;
} }
h1{ h1{
font-family: Arial, sans-serif; font-family: Arial, sans-serif;
@ -291,4 +296,9 @@ background-image: linear-gradient(top, #ebf3fc, #dce9f9);
position:relative; position:relative;
top:1px; top:1px;
} }
/* This button was generated using CSSButtonGenerator.com */ .login{
width: 300px;
height: 30px;
font-size: 20px;
text-align: center;
}

View file

@ -3,12 +3,14 @@
{% if form.errors %} {% if form.errors %}
<p class="error">Benutzernahme oder Passwort falsch!</p> <p class="error">Benutzernahme oder Passwort falsch!</p>
{% endif %} {% endif %}
<table class="bordered">
<form action="/auth/" method="post">{% csrf_token %} <form action="/auth/" method="post">{% csrf_token %}
<label for="username">Benutzer:</label> <tr><th><label for="firstname">Vorname:</label></th>
<input type="text" name="username" value="" id="username"> <td style="width: 100px"><input type="text" class="login" name="firstname" value="" id="firstname"></td></tr>
<label for="password">Passwort:</label> <tr><th><label for="lastname">Nachname:</label></th>
<input type="password" name="password" value="" id="password"> <td><input type="text" class="login" name="lastname" value="" id="lastname"></td></tr>
<input type="submit" value="Login" /> <input type="submit" class="button" value="Los Gehts!" />
</form> </form>
</table>
{% endblock %} {% endblock %}

View file

@ -8,4 +8,5 @@ h1{
font-family: Calibri; font-family: Calibri;
font-size: 20px; font-size: 20px;
text-decoration: underline; text-decoration: underline;
} }

View file

@ -16,11 +16,11 @@
</head> </head>
<body> <body>
{% if user.is_staff == True %}
<div id="framecontent"> <div id="framecontent">
<div class="innertube_men"> <div class="innertube_men">
{% block menu %} {% block menu %}
<div class="men_div" style="margin-top: 15px;"> <div class="men_div">
<a id="men" href="/quiz/all">Übersicht</a> <a id="men" href="/quiz/all">Übersicht</a>
</div> </div>
{% if user.is_staff %} {% if user.is_staff %}
@ -43,10 +43,10 @@
{% endblock %} {% endblock %}
</div> </div>
</div> </div>
{% endif %}
<div id="maincontent"> <div id="maincontent">
<div class="innertube"> <div class="innertube" align="center">
{% block content %} {% block content %}
{% if user.is_authenticated %} {% if user.is_authenticated %}
@ -79,6 +79,8 @@
{% else %} {% else %}
<h1 id="main_link" align="center">Sie sind nicht angemeldet! Bitte <a href="/login">einloggen!</a> </h1> <h1 id="main_link" align="center">Sie sind nicht angemeldet! Bitte <a href="/login">einloggen!</a> </h1>
{% endif %} {% endif %}
<br>
<a href="/logout/"><input type="submit" class="button" value="Schließen"/></a>
{% endblock %} {% endblock %}
</div> </div>
</div> </div>

View file

@ -8,7 +8,7 @@ def get_def():
class UserQuizRel(models.Model): class UserQuizRel(models.Model):
quiz=models.ManyToManyField(Quiz, blank=True, related_name='User', verbose_name='abgeschlossene Quizs') quiz=models.ManyToManyField(Quiz, blank=True, related_name='User', verbose_name='abgeschlossene Quizs')
allowed_quiz=models.ManyToManyField(Quiz, blank=True, related_name='User-get', verbose_name='Erlaubte Quizs', default=get_def()) allowed_quiz=models.ManyToManyField(Quiz, blank=True, related_name='User-get', verbose_name='Erlaubte Quizs', default=Quiz.objects.all())
user=models.OneToOneField(User) user=models.OneToOneField(User)
class ResultGroup(models.Model): class ResultGroup(models.Model):