diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-06-12 05:39:30 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-06-12 05:39:30 +0100 |
commit | 5db52862f6d2ebcc3c3878f2442f68e3d4372d72 (patch) | |
tree | 34ae0cf6242f101e4cbfe06d66b2a18b7fa4f657 | |
parent | 0ed153f2d0fd38dfe94a686621a0e70922233920 (diff) | |
download | troggle-5db52862f6d2ebcc3c3878f2442f68e3d4372d72.tar.gz troggle-5db52862f6d2ebcc3c3878f2442f68e3d4372d72.tar.bz2 troggle-5db52862f6d2ebcc3c3878f2442f68e3d4372d72.zip |
[svn] * Fix bugs that were causing broken wikilinks. *Add edit link to mugshots. *make admin url trailing-slash tolerant
-rw-r--r-- | expo/models.py | 3 | ||||
-rw-r--r-- | expo/templatetags/wiki_markup.py | 16 | ||||
-rw-r--r-- | expo/views_caves.py | 2 | ||||
-rw-r--r-- | expo/views_logbooks.py | 10 | ||||
-rw-r--r-- | templates/object_list.html | 4 | ||||
-rw-r--r-- | templates/person.html | 3 | ||||
-rw-r--r-- | urls.py | 2 |
7 files changed, 25 insertions, 15 deletions
diff --git a/expo/models.py b/expo/models.py index 180f272..fd7c873 100644 --- a/expo/models.py +++ b/expo/models.py @@ -38,7 +38,8 @@ class TroggleImageModel(ImageModel): return self._meta.object_name
def get_admin_url(self):
- return settings.URL_ROOT + "/admin/expo/" + self.object_name.lower() + "/" + str(self.pk)
+ return urlparse.urljoin(settings.URL_ROOT, "/admin/expo/" + self.object_name().lower() + "/" + str(self.pk))
+
class Meta:
abstract = True
diff --git a/expo/templatetags/wiki_markup.py b/expo/templatetags/wiki_markup.py index adba198..8910065 100644 --- a/expo/templatetags/wiki_markup.py +++ b/expo/templatetags/wiki_markup.py @@ -4,10 +4,12 @@ from django.template.defaultfilters import stringfilter from django.utils.safestring import mark_safe
from django.conf import settings
from expo.models import QM
-import re
+import re, urlparse
register = template.Library()
-
+if settings.URL_ROOT.endswith('/'):
+ url_root=settings.URL_ROOT[:-1]
+
def wiki_list(line, listdepth):
l = ""
for d in listdepth:
@@ -48,7 +50,9 @@ def wiki_to_html(value, autoescape=None): @stringfilter
def wiki_to_html_short(value, autoescape=None):
"""
- This is the tag which turns wiki syntax into html. Aaron wonders why it is called "short." It is long, and it operates on long things.
+ This is the tag which turns wiki syntax into html. Aaron wonders
+ why it is called "short." It is long, and it operates on long things.
+ It even has a long name itself.
"""
if autoescape:
value = conditional_escape(value)
@@ -59,9 +63,9 @@ def wiki_to_html_short(value, autoescape=None): value = re.sub("'''([^']+)'''", r"<b>\1</b>", value, re.DOTALL)
value = re.sub("''([^']+)''", r"<i>\1</i>", value, re.DOTALL)
#make cave links
- value = re.sub("\[\[\s*cave:([^\s]+)\s*\s*\]\]", r'<a href="%s/cave/\1/">\1</a>' % settings.URL_ROOT, value, re.DOTALL)
+ value = re.sub("\[\[\s*cave:([^\s]+)\s*\s*\]\]", r'<a href="%s/cave/\1/">\1</a>' % url_root, value, re.DOTALL)
#make people links
- value = re.sub("\[\[\s*person:(.+)\]\]",r'<a href="%s/person/\1/">\1</a>' % settings.URL_ROOT, value, re.DOTALL)
+ value = re.sub("\[\[\s*person:(.+)\]\]",r'<a href="%s/person/\1/">\1</a>' % url_root, value, re.DOTALL)
#make qm links. this takes a little doing
qmMatchPattern="\[\[\s*cave:([^\s]+)\s*\s*\QM:(\d*)-(\d*)([ABCDX]?)\]\]"
@@ -77,7 +81,7 @@ def wiki_to_html_short(value, autoescape=None): grade=matchobj.groups()[3]
else:
grade=''
- qmdict={'urlroot':settings.URL_ROOT,'cave':matchobj.groups()[0],'year':matchobj.groups()[1],'number':matchobj.groups()[2],'grade':grade}
+ qmdict={'urlroot':url_root,'cave':matchobj.groups()[0],'year':matchobj.groups()[1],'number':matchobj.groups()[2],'grade':grade}
try:
qm=QM.objects.get(found_by__cave__kataster_number=qmdict['cave'],found_by__date__year=qmdict['year'], number=qmdict['number'])
url=r'<a href=' + str(qm.get_absolute_url()) +'>' + str(qm) + '</a>'
diff --git a/expo/views_caves.py b/expo/views_caves.py index b2fb170..d633c36 100644 --- a/expo/views_caves.py +++ b/expo/views_caves.py @@ -25,7 +25,7 @@ def caveindex(request): def cave(request, cave_id='', offical_name=''):
cave=getCave(cave_id)
- if cave.non_public:
+ if cave.non_public and not request.user.is_authenticated():
return render_response(request,'nonpublic.html', {'instance': cave})
else:
return render_response(request,'cave.html', {'cave': cave})
diff --git a/expo/views_logbooks.py b/expo/views_logbooks.py index cfebd35..afcdafc 100644 --- a/expo/views_logbooks.py +++ b/expo/views_logbooks.py @@ -98,9 +98,13 @@ def newQMlink(logbookentry): return settings.URL_ROOT + r'/admin/expo/qm/add/?' + r'found_by=' + str(logbookentry.pk) +'&number=' + str(nextQMnumber)
def logbookentry(request, date, slug):
- logbookentry = LogbookEntry.objects.get(date=date, slug=slug)
-
- return render_response(request, 'logbookentry.html', {'logbookentry': logbookentry, 'newQMlink':newQMlink(logbookentry)})
+ logbookentry = LogbookEntry.objects.filter(date=date, slug=slug)
+
+ if len(logbookentry)>1:
+ return render_response(request, 'object_list.html',{'object_list':logbookentry})
+ else:
+ logbookentry=logbookentry[0]
+ return render_response(request, 'logbookentry.html', {'logbookentry': logbookentry, 'newQMlink':newQMlink(logbookentry)})
def logbookSearch(request, extra):
query_string = ''
diff --git a/templates/object_list.html b/templates/object_list.html index 4021ad2..7db63e0 100644 --- a/templates/object_list.html +++ b/templates/object_list.html @@ -1,9 +1,9 @@ {% extends "base.html" %}
{% load link %}
-{% block title %}Troggle: all {{object_list.1.meta.object_name}} objects{%endblock%}
+{% block title %}Troggle: {{object_list.1.meta.object_name}} objects{%endblock%}
{% block contentheader %}
-<h1>All {{object_list.0.object_name}} objects</h1>
+<h1>{{object_list.0.object_name}} objects</h1>
{% endblock contentheader %}
{% block content %}
diff --git a/templates/person.html b/templates/person.html index adc6aba..2bd4ed3 100644 --- a/templates/person.html +++ b/templates/person.html @@ -18,7 +18,8 @@ {% if pic.is_mugshot %}
<div class="figure">
<p> <img src="{{ pic.thumbnail_image.url }}" class="thumbnail" />
- <p> {{ pic.caption }}
+ <p> {{ pic.caption }}</p>
+ <p> <a href="{{ pic.get_admin_url }}">edit {{pic}}</a> </>
</p>
</p>
</div>
@@ -67,7 +67,7 @@ urlpatterns = patterns('', url(r'^cave/(?P<cave_id>[^/]+)(?P<subcave>/.*)/?$', subcave, name="subcave"),
(r'^admin/doc/?', include('django.contrib.admindocs.urls')),
- (r'^admin/(.*)', admin.site.root),
+ (r'^admin/(.*)/?', admin.site.root),
#url(r'^admin/', include(admin.site.urls),name="admin"),
(r'^accounts/', include('registration.urls')),
|