diff options
author | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-07-22 16:18:00 +0100 |
---|---|---|
committer | substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> | 2009-07-22 16:18:00 +0100 |
commit | 263b640641b811ce0dae6b60c509322acf12817c (patch) | |
tree | f53a81e1125c8a8d3ddd40a331ab81340a230ed6 | |
parent | 84ad39f24a2939a7cb854f509fcc1bb25940191d (diff) | |
download | troggle-263b640641b811ce0dae6b60c509322acf12817c.tar.gz troggle-263b640641b811ce0dae6b60c509322acf12817c.tar.bz2 troggle-263b640641b811ce0dae6b60c509322acf12817c.zip |
[svn] Various bug fixes, using more raw_id fields in admin so it loads faster. I had to put onLoad="contentHeight();" back into the base template. This is a bad solution, I would rather use Martin's, but it wasn't working.
-rw-r--r-- | core/admin.py | 1 | ||||
-rw-r--r-- | core/templatetags/wiki_markup.py | 3 | ||||
-rw-r--r-- | core/views_caves.py | 3 | ||||
-rw-r--r-- | core/views_other.py | 32 | ||||
-rw-r--r-- | parsers/descriptions.py | 2 | ||||
-rw-r--r-- | templates/base.html | 2 | ||||
-rw-r--r-- | templates/calendar.html | 2 | ||||
-rw-r--r-- | templates/cave_description.html | 2 | ||||
-rw-r--r-- | templates/survexblock.html | 2 | ||||
-rw-r--r-- | urls.py | 3 | ||||
-rw-r--r-- | utils.py | 12 |
11 files changed, 37 insertions, 27 deletions
diff --git a/core/admin.py b/core/admin.py index fb3173a..e10b847 100644 --- a/core/admin.py +++ b/core/admin.py @@ -57,6 +57,7 @@ class PersonTripInline(admin.TabularInline): #class LogbookEntryAdmin(VersionAdmin):
class LogbookEntryAdmin(TroggleModelAdmin):
prepopulated_fields = {'slug':("title",)}
+ raw_id_fields = ('cave','author')
search_fields = ('title','expedition__year')
date_heirarchy = ('date')
inlines = (PersonTripInline, PhotoInline, QMsFoundInline)
diff --git a/core/templatetags/wiki_markup.py b/core/templatetags/wiki_markup.py index 31c5671..ab4ccce 100644 --- a/core/templatetags/wiki_markup.py +++ b/core/templatetags/wiki_markup.py @@ -145,7 +145,8 @@ def wiki_to_html_short(value, autoescape=None): #make subcave links
value = re.sub("\[\[\s*subcave:(.+)\|(.+)\]\]",r'<a href="%s/subcave/\1/">\2</a>' % url_root, value, re.DOTALL)
#make cavedescription links
- value = re.sub("\[\[\s*cavedescription:(.+)\|(.+)\]\]",r'<a href="%s/cavedescription/\2/">\2</a>' % url_root, value, re.DOTALL)
+ value = re.sub("\[\[\s*cavedescription:(.+)\|(.+)\]\]",r'<a href="%s/cavedescription/\1/">\2</a>' % url_root, value, re.DOTALL)
+
#Make lists from lines starting with lists of [stars and hashes]
diff --git a/core/views_caves.py b/core/views_caves.py index 3f01c2f..04f2120 100644 --- a/core/views_caves.py +++ b/core/views_caves.py @@ -37,7 +37,7 @@ def qm(request,cave_id,qm_id,year,grade=None): return render_with_context(request,'qm.html',locals())
except QM.DoesNotExist:
- url=urlparse.urljoin(settings.URL_ROOT, r'/admin/expo/qm/add/'+'?'+ r'number=' + qm_id)
+ url=urlparse.urljoin(settings.URL_ROOT, r'/admin/core/qm/add/'+'?'+ r'number=' + qm_id)
if grade:
url += r'&grade=' + grade
return HttpResponseRedirect(url)
@@ -76,5 +76,4 @@ def survey(request,year,wallet_number): def cave_description(request, cavedescription_name):
cave_description = get_object_or_404(CaveDescription, short_name = cavedescription_name)
- print cave_description.long_name
return render_with_context(request,'cave_description.html', locals())
\ No newline at end of file diff --git a/core/views_other.py b/core/views_other.py index c2c82ee..e3ecb10 100644 --- a/core/views_other.py +++ b/core/views_other.py @@ -161,7 +161,7 @@ def logbook_entry_suggestions(request): Generates a html box with suggestions about what to do with QMs
in logbook entry text.
"""
- unwiki_QM_pattern=r"(?P<whole>(?P<explorer_code>[ABC]?)(?P<cave>\d*)-?(?P<year>\d\d\d?\d?)-(?P<number>\d\d)(?P<grade>[ABCDXV]?)(?=\s))"
+ unwiki_QM_pattern=r"(?P<whole>(?P<explorer_code>[ABC]?)(?P<cave>\d*)-?(?P<year>\d\d\d?\d?)-(?P<number>\d\d)(?P<grade>[ABCDXV]?))"
unwiki_QM_pattern=re.compile(unwiki_QM_pattern)
#wikilink_QM_pattern=settings.QM_PATTERN
@@ -174,18 +174,24 @@ def logbook_entry_suggestions(request): print unwiki_QMs
for qm in unwiki_QMs:
- if len(qm['year'])==2:
- if int(qm['year'])<50:
- qm['year']='20'+qm['year']
- else:
- qm['year']='19'+qm['year']
-
- temp_QM=QM(found_by=lbo,number=qm['number'],grade=qm['grade'])
- try:
- temp_QM.grade=unwiki_QM['grade']
- except:
- pass
- qm['wikilink']=temp_QM.wiki_link()
+ #try:
+ if len(qm['year'])==2:
+ if int(qm['year'])<50:
+ qm['year']='20'+qm['year']
+ else:
+ qm['year']='19'+qm['year']
+
+ if lbo.date.year!=int(qm['year']):
+ try:
+ lbo=LogbookEntry.objects.get(date__year=qm['year'],title__icontains="placeholder for QMs in")
+ except:
+ print "failed to get placeholder for year "+str(qm['year'])
+
+ temp_QM=QM(found_by=lbo,number=qm['number'],grade=qm['grade'])
+ temp_QM.grade=qm['grade']
+ qm['wikilink']=temp_QM.wiki_link()
+ #except:
+ #print 'failed'
print unwiki_QMs
diff --git a/parsers/descriptions.py b/parsers/descriptions.py index 108a892..2bca267 100644 --- a/parsers/descriptions.py +++ b/parsers/descriptions.py @@ -39,7 +39,7 @@ def parseDescriptions(): cd.save()
-def parseDescriptionsInCaveObjects():
+def parseDescriptionsOnCaveObjects():
for cave in models.Cave.objects.all():
cave.underground_description=html_to_wiki(unicode(cave.underground_description))
cave.save()
\ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 23e90ae..7f5a278 100644 --- a/templates/base.html +++ b/templates/base.html @@ -13,7 +13,7 @@ {% block head %}{% endblock %}
</head>
-<body>
+<body onLoad="contentHeight();">
<div id="header">
<h1>CUCC Expeditions to Austria: 1976 - 2009</h1>
diff --git a/templates/calendar.html b/templates/calendar.html index 5ff2778..0bc7dfd 100644 --- a/templates/calendar.html +++ b/templates/calendar.html @@ -59,7 +59,7 @@ {% for personexpedition in expedition.personexpedition_set.all %}
<tr>
<td class="name">
- <a href="">{{ personexpedition.person }}</a>
+ <a href="{{ personexpedition.person.get_absolute_url }}">{{ personexpedition.person }}</a>
</td>
{% if personexpedition.ListDaysTF %}
diff --git a/templates/cave_description.html b/templates/cave_description.html index 12b9e1b..572de78 100644 --- a/templates/cave_description.html +++ b/templates/cave_description.html @@ -1,6 +1,6 @@ {% extends "cavebase.html" %}
{% load wiki_markup %}
-{% block title %} {{cave_description.short_name}} {% endblock title %}
+{% block title %} {{cave_description}} {% endblock title %}
{% block editLink %}<a href={{cave_description.get_admin_url}}>Edit description {{cave_description}}</a>{% endblock %}
{% block contentheader %}
diff --git a/templates/survexblock.html b/templates/survexblock.html index d4447af..eaf06e5 100644 --- a/templates/survexblock.html +++ b/templates/survexblock.html @@ -31,7 +31,7 @@ <table>
{% for personrole in survexblock.GetPersonroles %}
<tr>
- <td><a href="{{personrole.get_absolute_url}}">{{personrole.person}}</a></td>
+ <td><a href="{{personrole.person.get_absolute_url}}">{{personrole.person}}</a></td>
<td>{{personrole.roles}}</td>
</tr>
{% endfor %}
@@ -32,7 +32,8 @@ urlpatterns = patterns('', url(r'^survexblock/(.+)$', views_caves.survexblock, name="survexblock"),
url(r'^cave/(?P<cave_id>[^/]+)/?$', views_caves.cave, name="cave"),
- url(r'^cavedescription/(?P<cavedescription_name>[^/]*)/$', views_caves.cave_description, name="cavedescription"),
+ url(r'^cavedescription/(?P<cavedescription_name>[^/]+)/?$', views_caves.cave_description, name="cavedescription"),
+ url(r'^cavedescription/?$', object_list, {'queryset':CaveDescription.objects.all(),'template_name':'object_list.html'}, name="cavedescriptions"),
#url(r'^cavehref/(.+)$', views_caves.cave, name="cave"),url(r'cave'),
url(r'^jgtfile/(.*)$', view_surveys.jgtfile, name="jgtfile"),
@@ -102,7 +102,7 @@ def href_to_wikilinks(matchobj): if res:
return r'[[cavedescription:'+res[0].short_name+'|'+res[0].long_name+']]'
else:
- return matchobj
+ return matchobj.group()
#except:
#print 'fail'
@@ -115,13 +115,15 @@ re_subs = [(re.compile(r"\<b[^>]*\>(.*?)\</b\>", re.DOTALL), r"'''\1'''"), (re.compile(r"\<h4[^>]*\>(.*?)\</h4\>", re.DOTALL), r"====\1===="),
(re.compile(r"\<h5[^>]*\>(.*?)\</h5\>", re.DOTALL), r"=====\1====="),
(re.compile(r"\<h6[^>]*\>(.*?)\</h6\>", re.DOTALL), r"======\1======"),
+ (re.compile(r'(<a href="?(?P<target>.*)"?>)?<img class="?(?P<class>\w*)"? src="?t/?(?P<source>[\w/\.]*)"?(?P<rest>></img>|\s/>(</a>)?)', re.DOTALL),r'[[display:\g<class> photo:\g<source>]]'), #
(re.compile(r"\<a\s+id=['\"]([^'\"]*)['\"]\s*\>(.*?)\</a\>", re.DOTALL), r"[[subcave:\1|\2]]"), #assumes that all links with id attributes are subcaves. Not great.
#interpage link needed
- (re.compile(r"\<a\s+href=['\"]#([^'\"]*)['\"]\s*\>(.*?)\</a\>", re.DOTALL), r"[[cavedescription:\1|\2]]"), #assumes that all links with target ids are subcaves. Not great.
+ (re.compile(r"\<a\s+href=['\"]#([^'\"]*)['\"]\s*\>(.*?)\</a\>", re.DOTALL), r"[[cavedescription:\1|\2]]"), #assumes that all links with target ids are cave descriptions. Not great.
(re.compile(r"\[\<a\s+href=['\"][^'\"]*['\"]\s+id=['\"][^'\"]*['\"]\s*\>([^\s]*).*?\</a\>\]", re.DOTALL), r"[[qm:\1]]"),
-
-# BUGGED!
-# (re.compile(r'<a\shref="?(?P<target>.*)"?>(?P<text>.*)</a>'),href_to_wikilinks)
+
+ #BUGGED!
+ (re.compile(r'<a\shref="?(?P<target>.*)"?>(?P<text>.*)</a>'),href_to_wikilinks),
+
]
|