Added new info to versions, with a single page for each version.

Added downloads to list
This commit is contained in:
Felipe Martín 2013-05-24 17:34:36 +02:00
parent 0d43f0b3c7
commit 9190ff5fdd
5 changed files with 60 additions and 18 deletions

View File

@ -111,7 +111,7 @@ class VersionAdmin(admin.ModelAdmin):
ordering = ('-date', '-version_number')
def url_html(self, obj):
if obj.url != '':
if obj.url:
return ('<a href="%s">%s</a>' % (obj.url, obj.url))
else:
return "--"

View File

@ -0,0 +1,21 @@
{% extends "layout.html" %}
{% block head_title %}
{{ super() }} | Version | {{ item.version_number }}
{% endblock %}
{% block content %}
<h1>Minecraft versions</h1>
<hr />
<a href="/versions"><i class="icon-arrow-left"></i> Go back</a>
<h2>{% if item.status != 'release' %}{{ item.status }}{% endif %} {{ item.version_number }}</h2>
Released on {{ item.date }}
{% if item.jarfiles %}
<h3>Downloads</h3>
{% for jarfile in item.jarfiles %}
<button href="{{ jarfile.url }}" class="btn btn-info btn-small">{{ jarfile.description|capitalize }}</button>
{% endfor %}
{% endif %}
<h3>Changelog</h3>
<p>{{ item.changelog|nl2br }}</p>
{% endblock %}

View File

@ -5,31 +5,45 @@
{% endblock %}
{% block content %}
<table class="table table-bordered">
<h1>Minecraft versions</h1>
<hr />
<table class="table table-condensed table-hover">
<thead>
<tr>
<th nowrap="nowrap">Version number</th>
<th>Released</th>
<th>Changes</th>
<th><div class="text-center">Status</div></th>
<th nowrap="nowrap"><div class="text-center">Version number</div></th>
<th><div class="text-center">Release date</div></th>
<th>Downloads</th>
<th></th>
</tr>
</thead>
<tbody>
<h1>Minecraft versions</h1>
<hr />
{% for item in page.object_list %}
<tr>
<td nowrap="nowrap">
<p class="text-center">
{{ item.status }} {{ item.version_number }}
</p>
<td>
<div class="text-center">{{ item.status }}</div>
</td>
<td nowrap="nowrap" width="20%">
<div class="text-center">{{ item.version_number }} </div>
</td>
<td>
<p class="text-center">
{{ item.date }}
</p>
<div class="text-center">{{ item.date }}</div>
</td>
<td>
{{ item.changelog|nl2br }}
{% if item.jarfiles %}
{% for jarfile in item.jarfiles %}
<button href="{{ jarfile.url }}" class="btn btn-info btn-small">{{ jarfile.description|capitalize }}</button>
{% endfor %}
{% endif %}
</td>
<td>
<div class="text-right">
{% if item.status == 'release' %}
<a href="{{ url('version_release', item.version_number)}}">More details &raquo;</a>
{% else %}
<a href="{{ url('version', item.status, item.version_number)}}">More details &raquo;</a>
{% endif %}
</div>
</td>
</tr>
{% endfor %}
@ -39,7 +53,7 @@
<ul>
{% for p in range(1, paginator.num_pages) %}
<li {% if p == page_number %}class="active"{% endif %}>
<a href="?page={{p}}">{{ p }}</a>
<a href="?page={{ p }}">{{ p }}</a>
</li>
{% endfor %}
</ul>

View File

@ -11,8 +11,8 @@ def home(request):
def versions(request):
section = 'versions'
versions = Version.objects.all().order_by('-date', '-version_number')
paginator = Paginator(versions, 10)
versions = Version.objects.filter(snapshot=False).order_by('-date', '-version_number')
paginator = Paginator(versions, 50)
page_number = 1
if 'page' in request.GET:
@ -30,6 +30,11 @@ def versions(request):
return render_to_response('versions.html', context_instance=context)
def version(request, version, status='release'):
item = Version.objects.get(status=status, version_number=version)
context = RequestContext(request, { 'item': item })
return render_to_response('version.html', context_instance=context)
def about(request):
context = RequestContext(request)

View File

@ -20,6 +20,8 @@ urlpatterns = patterns('',
# Static
url(r'^about/', 'database.views.about'),
# Database
url(r'^versions/(?P<version>[a-z0-9\.\_]+)/', 'database.views.version', name='version_release'),
url(r'^versions/(?P<status>[a-z]+)\-(?P<version>[a-z0-9\.\_]+)/', 'database.views.version', name='version'),
url(r'^versions/', 'database.views.versions'),
# Robots
(r'^robots\.txt$', lambda r: HttpResponse("", mimetype="text/plain")),