Added logout
Different paste forms for registred and anonymous users
This commit is contained in:
parent
ffa5a039d9
commit
cc5e2e7d78
|
@ -1,4 +1,5 @@
|
||||||
from django.forms import ModelForm
|
from django.forms import ModelForm
|
||||||
|
from django import forms
|
||||||
|
|
||||||
from models import Geometry
|
from models import Geometry
|
||||||
|
|
||||||
|
@ -7,3 +8,11 @@ class GeometryForm(ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Geometry
|
model = Geometry
|
||||||
fields = ['name', 'description', 'public', 'expiration', 'file', 'sourcefile']
|
fields = ['name', 'description', 'public', 'expiration', 'file', 'sourcefile']
|
||||||
|
|
||||||
|
|
||||||
|
class AnonymousGeometryForm(ModelForm):
|
||||||
|
expiration = forms.ChoiceField(choices=Geometry.EXPIRATION_CHOICES[:-1])
|
||||||
|
class Meta:
|
||||||
|
model = Geometry
|
||||||
|
fields = ['name', 'description', 'public', 'expiration', 'file']
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ from django.views.generic.detail import DetailView
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.views.generic.base import ContextMixin
|
from django.views.generic.base import ContextMixin
|
||||||
|
|
||||||
from forms import GeometryForm
|
from forms import GeometryForm, AnonymousGeometryForm
|
||||||
from models import Geometry
|
from models import Geometry
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,9 +23,22 @@ class GeometryView(DetailView):
|
||||||
|
|
||||||
class GeometryCreate(CreateView, LastesGeometriesMixin):
|
class GeometryCreate(CreateView, LastesGeometriesMixin):
|
||||||
model = Geometry
|
model = Geometry
|
||||||
form_class = GeometryForm
|
|
||||||
template_name = 'pastebin/geometry_create.html'
|
template_name = 'pastebin/geometry_create.html'
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse('geometry_details', kwargs={'id' :self.object.id})
|
return reverse('geometry_details', kwargs={'id' :self.object.id})
|
||||||
|
|
||||||
|
def get_form_class(self):
|
||||||
|
if self.request.user.is_authenticated() :
|
||||||
|
return GeometryForm
|
||||||
|
else:
|
||||||
|
return AnonymousGeometryForm
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
res = super(GeometryCreate, self).form_valid(form)
|
||||||
|
|
||||||
|
if self.request.user.is_authenticated() :
|
||||||
|
self.object.user = self.request.user
|
||||||
|
self.object.save()
|
||||||
|
|
||||||
|
return res
|
|
@ -22,9 +22,12 @@
|
||||||
<ul>
|
<ul>
|
||||||
<li ><a href="#">Home</a></li>
|
<li ><a href="#">Home</a></li>
|
||||||
<li><a href="{% url 'geometry_create' %}">New Paste</a></li>
|
<li><a href="{% url 'geometry_create' %}">New Paste</a></li>
|
||||||
|
{% if user.is_authenticated %}
|
||||||
|
<li><a href="{% url 'logout' %}">Logout</a></li>
|
||||||
|
{% else %}
|
||||||
<li><a href="{% url 'login' %}">Login</a></li>
|
<li><a href="{% url 'login' %}">Login</a></li>
|
||||||
<li><a href="#">Sign up</a></li>
|
<li><a href="#">Sign up</a></li>
|
||||||
<li><a href="#">Logout</a></li>
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -20,6 +20,10 @@
|
||||||
<div class="pure-g-r">
|
<div class="pure-g-r">
|
||||||
<div class="pure-u-2-3">
|
<div class="pure-u-2-3">
|
||||||
<div class="textcontainer">
|
<div class="textcontainer">
|
||||||
|
{% if user.is_authenticated %}
|
||||||
|
You are already logged in !<br/>
|
||||||
|
Did you mean: <a href="{% url 'logout' %}">logout</a> ?
|
||||||
|
{% else %}
|
||||||
<form method="post" class="pure-form pure-form-aligned">
|
<form method="post" class="pure-form pure-form-aligned">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
@ -35,6 +39,8 @@
|
||||||
<input class="pure-button button-green" id="submitbutton" type="submit" value="Login" />
|
<input class="pure-button button-green" id="submitbutton" type="submit" value="Login" />
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
</form>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1-3">
|
<div class="pure-u-1-3">
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
from django.conf.urls import patterns, include, url
|
from django.conf.urls import patterns, include, url
|
||||||
|
from django.core.urlresolvers import reverse_lazy
|
||||||
|
|
||||||
from pastebin.models import Geometry
|
from pastebin.models import Geometry
|
||||||
|
|
||||||
urlpatterns = patterns('',
|
urlpatterns = patterns('',
|
||||||
url(r'^login/$', 'django.contrib.auth.views.login', {'extra_context' : {'latest_geometries' : Geometry.get_latest()},
|
url(r'^login/$', 'django.contrib.auth.views.login', {'extra_context' : {'latest_geometries' : Geometry.get_latest()},
|
||||||
'template_name' : 'users/login.html'},
|
'template_name' : 'users/login.html'},
|
||||||
name='login'))
|
name='login'),
|
||||||
|
url(r'^logout/$', 'django.contrib.auth.views.logout',{'extra_context' : {'latest_geometries' : Geometry.get_latest()},
|
||||||
|
'next_page' : reverse_lazy('login')},
|
||||||
|
name='logout'),)
|
Loading…
Reference in New Issue