Added sidebar

This commit is contained in:
sebastian 2013-10-15 00:11:04 +02:00
parent 11f82fae11
commit 5bca3307cd
5 changed files with 38 additions and 3 deletions

View File

@ -6,6 +6,7 @@ from hashlib import md5
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.db import models from django.db import models
vertex_pattern = re.compile(r'vertex\s+([0-9.e+-]+)\s+([0-9.e+-]+)\s+([0-9.e+-]+)') vertex_pattern = re.compile(r'vertex\s+([0-9.e+-]+)\s+([0-9.e+-]+)\s+([0-9.e+-]+)')
@ -60,6 +61,13 @@ class Geometry(models.Model):
file = models.FileField(upload_to=safe_upload_path('models')) file = models.FileField(upload_to=safe_upload_path('models'))
sourcefile = models.FileField(upload_to=safe_upload_path('sources'), blank=True) sourcefile = models.FileField(upload_to=safe_upload_path('sources'), blank=True)
def get_absolute_url(self):
return reverse('geometry_details', kwargs={'id' : self.pk})
@classmethod
def get_latest(cls):
return cls.objects.all().filter(public = True).order_by('date')[:10]
def get_expiration_date(self): def get_expiration_date(self):
for expiration in [self.HOUR, self.DAY, self.WEEK, self.MONTH]: for expiration in [self.HOUR, self.DAY, self.WEEK, self.MONTH]:
if self.expiration == expiration: if self.expiration == expiration:

View File

@ -57,8 +57,17 @@ $(document).ready(function() {
</div> </div>
<div class="pure-u-1-3"> <div class="pure-u-1-3">
<div class="textcontainer"> <div class="textcontainer">
<h2><i class="icon-upload-alt"></i> Latest uploads</h2>
</div> <ul class="uploads-list">
{% for geometry in latest_geometries %}
<li>
<i class="icon-file"></i>
<a href="{{geometry.get_absolute_url}}">{{geometry.name}}</a>
- {{geometry.date}}
</li>
{% endfor %}
</ul>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,6 +1,7 @@
from django.views.generic.edit import CreateView from django.views.generic.edit import CreateView
from django.views.generic.detail import DetailView 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 forms import GeometryForm from forms import GeometryForm
from models import Geometry from models import Geometry
@ -19,4 +20,9 @@ class GeometryCreate(CreateView):
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_context_data(self, **kwargs):
context = super(CreateView, self).get_context_data(**kwargs)
context['latest_geometries'] = Geometry.get_latest()
return context

View File

@ -41,6 +41,10 @@
border-color: #eeeeee; border-color: #eeeeee;
border-radius: 3px; border-radius: 3px;
background-color: #eee; } background-color: #eee; }
.textcontainer .uploads-list {
list-style: none; }
.textcontainer .uploads-list a {
text-decoration: none; }
.textcontainer .pure-form label { .textcontainer .pure-form label {
font-weight: bold; font-weight: bold;
border-bottom: 1px solid #ccc; } border-bottom: 1px solid #ccc; }

View File

@ -54,6 +54,14 @@
@include roundconers(#eee,6px); @include roundconers(#eee,6px);
background-color: #eee; background-color: #eee;
.uploads-list {
list-style: none;
a {
text-decoration: none;
}
}
.pure-form { .pure-form {
label { label {
font-weight: bold; font-weight: bold;