Finished usermanagement

This commit is contained in:
Sebastian 2017-05-02 21:33:23 +02:00
parent 30867ad279
commit 3f21dd295c
7 changed files with 569 additions and 7 deletions

View File

@ -18,8 +18,10 @@
<a class="nav-item">
<img src="{% static "images/logo.png" %}"/>
</a>
<a class="nav-item is-tab is-hidden-mobile is-active">Roms</a>
<a class="nav-item is-tab is-hidden-mobile">Upload Rom</a>
<a class="nav-item is-tab is-hidden-mobile">Roms</a>
{% if user.is_authenticated %}
<a class="nav-item is-tab is-hidden-mobile">Rom Hochladen</a>
{% endif %}
</div>
<span class="nav-toggle">
<span></span>
@ -29,13 +31,17 @@
<div class="nav-right nav-menu">
<a class="nav-item is-tab is-hidden-tablet is-active">Roms</a>
{% if user.is_authenticated %}
<a class="nav-item is-tab is-hidden-tablet">Rom Hochladen</a>
{% endif %}
{% if not user.is_authenticated %}
<a class="nav-item is-tab">Registrieren</a>
<a class="nav-item is-tab">
Einstellungen
</a>
<a class="nav-item is-tab">Login</a>
{% else %}
<a class="nav-item is-tab">Profil</a>
<a class="nav-item is-tab">Logout</a>
{% endif %}
</div>
</div>
</nav>

View File

@ -72,6 +72,15 @@ class UserUpdateForm(ModelForm):
return current_password
def clean_new_password1(self):
password1 = self.cleaned_data.get("new_password1")
if password1 != '':
validate_password(password1)
return password1
def clean_new_password2(self):
password1 = self.cleaned_data.get("new_password1")
password2 = self.cleaned_data.get("new_password2")

186
users/signup.html Normal file
View File

@ -0,0 +1,186 @@
{% extends "base.html" %}
{% block title %}Registrieren{% endblock %}
{% block content %}
<div class="rom-overview">
<div class="columns">
<div class="column">
<div class="box">
<h1 class="title is-1">Registrieren</h1>
{% if user.is_authenticated %}
Was zur Hölle machst du bitte hier?<br/>
Du bist eingeloggt und willst du dich registrieren.<br/>
Geh heim du bist besoffen!
{% else %}
<form method="post">
{% csrf_token %}
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.username.id_for_label}}">{{form.username.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.username.errors %}is-danger{% endif %} is-primary"
type="text" name="{{form.username.html_name}}"
id="{{form.username.id_for_label}}" value="{{form.username.value|default_if_none:''}}" />
<span class="icon is-small is-left">
<i class="fa fa-user"></i>
</span>
<span class="icon is-small is-right">
{% if form.username.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.username.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.email.id_for_label}}">{{form.email.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.email.errors %}is-danger{% endif %} is-primary"
type="text" name="{{form.email.html_name}}"
id="{{form.email.id_for_label}}" value="{{form.email.value|default_if_none:''}}" />
<span class="icon is-small is-left">
<i class="fa fa-envelope"></i>
</span>
<span class="icon is-small is-right">
{% if form.email.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.email.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.password1.id_for_label}}">{{form.password1.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.password1.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.password1.html_name}}"
id="{{form.password1.id_for_label}}" value="{{form.password1.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock-alt"></i>
</span>
<span class="icon is-small is-right">
{% if form.password1.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.password1.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.password2.id_for_label}}">{{form.password2.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.password2.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.password2.html_name}}"
id="{{form.password2.id_for_label}}" value="{{form.password2.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock"></i>
</span>
<span class="icon is-small is-right">
{% if form.password2.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.password2.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.twitter.errors %}is-danger{% endif %}"
type="text" name="{{form.twitter.html_name}}"
id="{{form.twitter.id_for_label}}" value="{{form.twitter.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-twitter"></i>
</span>
<span class="icon is-small is-right">
{% if form.twitter.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.twitter.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.github.id_for_label}}">{{form.github.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.github.errors %}is-danger{% endif %}"
type="text" name="{{form.github.html_name}}"
id="{{form.github.id_for_label}}" value="{{form.github.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-github"></i>
</span>
<span class="icon is-small is-right">
{% if form.github.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.github.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-grouped">
<p class="control">
<button class="button is-primary">Registrieren</button>
</p>
</div>
</form>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,181 @@
{% extends "base.html" %}
{% block title %}Profil bearbeiten{% endblock %}
{% block content %}
<div class="rom-overview">
<div class="columns">
<div class="column">
<div class="box">
<h1 class="title is-1">Profil bearbeiten</h1>
<form method="post">
{% csrf_token %}
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.email.id_for_label}}">{{form.email.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.email.errors %}is-danger{% endif %} is-primary"
type="text" name="{{form.email.html_name}}"
id="{{form.email.id_for_label}}" value="{{form.email.value|default_if_none:''}}" />
<span class="icon is-small is-left">
<i class="fa fa-envelope"></i>
</span>
<span class="icon is-small is-right">
{% if form.email.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.email.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.current_password.id_for_label}}">{{form.current_password.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.current_password.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.current_password.html_name}}"
id="{{form.current_password.id_for_label}}" value="{{form.current_password.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock-alt"></i>
</span>
<span class="icon is-small is-right">
{% if form.current_password.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.current_password.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.new_password1.id_for_label}}">{{form.new_password1.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.new_password1.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.new_password1.html_name}}"
id="{{form.new_password1.id_for_label}}" value="{{form.new_password1.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock-alt"></i>
</span>
<span class="icon is-small is-right">
{% if form.new_password1.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.new_password1.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.new_password2.id_for_label}}">{{form.new_password2.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.new_password2.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.new_password2.html_name}}"
id="{{form.new_password2.id_for_label}}" value="{{form.new_password2.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock"></i>
</span>
<span class="icon is-small is-right">
{% if form.new_password2.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.new_password2.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.twitter.errors %}is-danger{% endif %}"
type="text" name="{{form.twitter.html_name}}"
id="{{form.twitter.id_for_label}}" value="{{form.twitter.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-twitter"></i>
</span>
<span class="icon is-small is-right">
{% if form.twitter.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.twitter.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.github.id_for_label}}">{{form.github.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.github.errors %}is-danger{% endif %}"
type="text" name="{{form.github.html_name}}"
id="{{form.github.id_for_label}}" value="{{form.github.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-github"></i>
</span>
<span class="icon is-small is-right">
{% if form.github.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.github.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-grouped">
<p class="control">
<button class="button is-primary">Registrieren</button>
</p>
</div>
</form>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,180 @@
{% extends "base.html" %}
{% block title %}Profil bearbeiten{% endblock %}
{% block content %}
<div class="rom-overview">
<div class="columns">
<div class="column">
<div class="box">
<h1 class="title is-1">Profil bearbeiten</h1>
<form method="post">
{% csrf_token %}
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.email.id_for_label}}">{{form.email.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.email.errors %}is-danger{% endif %} is-primary"
type="text" name="{{form.email.html_name}}"
id="{{form.email.id_for_label}}" value="{{form.email.value|default_if_none:''}}" />
<span class="icon is-small is-left">
<i class="fa fa-envelope"></i>
</span>
<span class="icon is-small is-right">
{% if form.email.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.email.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.current_password.id_for_label}}">{{form.current_password.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.current_password.errors %}is-danger{% endif %} is-primary"
type="password" name="{{form.current_password.html_name}}"
id="{{form.current_password.id_for_label}}" value="{{form.current_password.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock-alt"></i>
</span>
<span class="icon is-small is-right">
{% if form.current_password.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.current_password.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.new_password1.id_for_label}}">{{form.new_password1.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.new_password1.errors %}is-danger{% endif %}"
type="password" name="{{form.new_password1.html_name}}"
id="{{form.new_password1.id_for_label}}" value="{{form.new_password1.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock-alt"></i>
</span>
<span class="icon is-small is-right">
{% if form.new_password1.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.new_password1.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.new_password2.id_for_label}}">{{form.new_password2.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.new_password2.errors %}is-danger{% endif %}"
type="password" name="{{form.new_password2.html_name}}"
id="{{form.new_password2.id_for_label}}" value="{{form.new_password2.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-unlock"></i>
</span>
<span class="icon is-small is-right">
{% if form.new_password2.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.new_password2.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.twitter.id_for_label}}">{{form.twitter.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.twitter.errors %}is-danger{% endif %}"
type="text" name="{{form.twitter.html_name}}"
id="{{form.twitter.id_for_label}}" value="{{form.twitter.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-twitter"></i>
</span>
<span class="icon is-small is-right">
{% if form.twitter.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.twitter.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label" for="{{form.github.id_for_label}}">{{form.github.label}}</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<div class="control has-icons-left has-icons-right">
<input class="input {% if form.github.errors %}is-danger{% endif %}"
type="text" name="{{form.github.html_name}}"
id="{{form.github.id_for_label}}" value="{{form.github.value|default_if_none:'' }}" />
<span class="icon is-small is-left">
<i class="fa fa-github"></i>
</span>
<span class="icon is-small is-right">
{% if form.github.errors %}
<i class="fa fa-warning"></i>
{% endif %}
</span>
</div>
<p class="help is-danger">
{{form.github.errors.as_text}}
</p>
</div>
</div>
</div>
<div class="field is-grouped">
<p class="control">
<button class="button is-primary">Registrieren</button>
</p>
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -26,5 +26,5 @@ urlpatterns = [
name='password_reset_sent'),
url(r'^login/$', login, {'template_name' : 'users/login.html'}, name='login'),
url(r'^logout/$', logout ,{'next_page' : reverse_lazy('login')}, name='logout'),
url(r'^logout/$', logout ,{'next_page' : reverse_lazy('login')}, name='logout')
]

View File

@ -29,7 +29,7 @@ class UserUpdateView(UpdateView):
return self.model.objects.filter(id=self.request.user.id)
def get_success_url(self):
return reverse('geometry_create')
return reverse('rom_overview')