Make the petition system a bit more usable and visible
This commit is contained in:
8
petition/context.py
Normal file
8
petition/context.py
Normal file
@@ -0,0 +1,8 @@
|
||||
import models
|
||||
|
||||
def open_petitions(request):
|
||||
if request.user.is_staff or request.user.is_admin:
|
||||
petitions = models.Petition.objects.filter(closed=False)
|
||||
else:
|
||||
petitions = models.Petition.objects.filter(closed=False, author=request.user)
|
||||
return {'open_petitions': petitions}
|
@@ -7,6 +7,10 @@ class Petition(models.Model):
|
||||
updated = models.DateTimeField(editable=False, auto_now=True)
|
||||
body = models.TextField()
|
||||
closed = models.BooleanField(default=False)
|
||||
|
||||
@models.permalink
|
||||
def get_absolute_url(self):
|
||||
return ('petition.views.view', [], {'id': self.id})
|
||||
|
||||
def __unicode__(self):
|
||||
return self.body
|
||||
|
@@ -1,6 +1,7 @@
|
||||
from django.conf.urls.defaults import patterns, include, url
|
||||
|
||||
urlpatterns = patterns('petition',
|
||||
url('^$', 'views.index'),
|
||||
url('^create$', 'views.create'),
|
||||
url('^(?P<id>[0-9]+)', 'views.view'),
|
||||
url('^comment/(?P<id>[0-9]+)', 'views.comment'),
|
||||
|
@@ -20,6 +20,16 @@ def create(request):
|
||||
return HttpResponseRedirect(reverse('petition.views.view', kwargs={"id":petition.id}))
|
||||
return render_to_response('petition/create.html', {'form':form}, context_instance = RequestContext(request))
|
||||
|
||||
@login_required
|
||||
def index(request):
|
||||
if request.user.is_staff or request.user.is_admin:
|
||||
openPetitions = models.Petition.objects.filter(closed=False)
|
||||
closedPetitions = models.Petition.objects.filter(closed=True)
|
||||
else:
|
||||
openPetitions = models.Petition.objects.filter(closed=False, author=request.user)
|
||||
closedPetitions = models.Petition.objects.filter(closed=True, author=request.user)
|
||||
return render_to_response('petition/index.html', {'openPetitions': openPetitions, 'closedPetitions': closedPetitions}, context_instance = RequestContext(request))
|
||||
|
||||
@login_required
|
||||
def view(request, id):
|
||||
petition = models.Petition.objects.get(id__exact=id)
|
||||
|
@@ -178,6 +178,7 @@ TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
"minecraft.context.server_info",
|
||||
"appversion.context.git_version",
|
||||
"messages.context_processors.inbox",
|
||||
"petition.context.open_petitions",
|
||||
)
|
||||
|
||||
LOGIN_REDIRECT_URL = '/'
|
||||
|
@@ -495,3 +495,10 @@ fieldset {
|
||||
.profile .avatar {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.petition-list {
|
||||
}
|
||||
|
||||
.petition-list .petition-title {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
24
templates/petition/index.html
Normal file
24
templates/petition/index.html
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load markup %}
|
||||
|
||||
{% block title%}Petitions{%endblock%}
|
||||
|
||||
{% block content %}
|
||||
<div class="item">
|
||||
<h2>Open Petitions</h2>
|
||||
<a href="{% url petition.views.create %}">Create Petition</a>
|
||||
<ul class="petition-list">
|
||||
{% for petition in openPetitions %}
|
||||
<li><div class="petition-title"><a href="{{petition.get_absolute_url}}">{{petition.id}} - {{petition.body|truncatewords:8}}</a></div>
|
||||
<div class="petition-summary">Filed by {{petition.author}}</div></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<h2>Closed Petitions</h2>
|
||||
<ul class="petition-list">
|
||||
{% for petition in closedPetitions %}
|
||||
<li><div class="petition-title"><a href="{{petition.get_absolute_url}}">{{petition.id}} - {{petition.body|truncatewords:8}}</a></div>
|
||||
<div class="petition-summary">Filed by {{petition.author}}</div></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
@@ -4,9 +4,12 @@
|
||||
{% block title %}Petition #{{petition.id}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="item">
|
||||
<p>Created by {{petition.author}}</p>
|
||||
{{petition.body|markdown:"safe"}}
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
{% for comment in petition.comment_set.all %}
|
||||
<p>By {{comment.author}}</p>
|
||||
{{comment.body|markdown:"safe"}}
|
||||
@@ -17,4 +20,5 @@
|
||||
{{form.as_p}}
|
||||
<input type="submit" value="Submit"/>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user