Changeset 539
- Timestamp:
- 02/11/10 23:31:25 (6 months ago)
- Location:
- trunk/telemeta
- Files:
-
- 13 added
- 7 modified
-
htdocs/css/telemeta.css (modified) (3 diffs)
-
models/location.py (modified) (1 diff)
-
pages (added)
-
pages/default (added)
-
pages/default/help (added)
-
pages/default/parts (added)
-
pages/default/parts/home.rst (added)
-
pages/default/parts/home_img.jpg (added)
-
pages/fr (added)
-
pages/fr/help (added)
-
pages/fr/parts (added)
-
pages/fr/parts/home.rst (added)
-
templates/telemeta/flatpage.html (added)
-
templates/telemeta_default/flatpage.html (added)
-
templates/telemeta_default/index.html (modified) (2 diffs)
-
templates/telemeta_default/search_criteria.html (modified) (1 diff)
-
templatetags/telemeta_utils.py (modified) (3 diffs)
-
urls.py (modified) (1 diff)
-
web/base.py (modified) (4 diffs)
-
web/pages.py (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/telemeta/htdocs/css/telemeta.css
r532 r539 1 *{margin: 0; padding: 0;}1 body {margin: 0; padding: 0;} 2 2 a {text-decoration: none; color: #969696;} 3 3 a img {border: none;} … … 24 24 a img { border: none; } 25 25 26 h3 {26 .rst-content h1, h3 { 27 27 font-size: 1.2em; 28 28 font-weight: bold; … … 621 621 margin-top: 0.8em; 622 622 } 623 624 img.home-image { 625 margin: 0 1.5em 1.5em 0; 626 float: left; 627 } -
trunk/telemeta/models/location.py
r534 r539 103 103 class Meta(MetaCore): 104 104 db_table = 'locations' 105 verbose_name = _('location') 105 106 106 107 def __unicode__(self): -
trunk/telemeta/templates/telemeta_default/index.html
r346 r539 1 1 {% extends "telemeta/base.html" %} 2 {% load telemeta_utils %} 2 3 {% block content %} 4 {{ page_content|rst }} 5 6 <!-- 3 7 <div class="homelinks"> 4 8 <p><a href="{% url telemeta-collections %}">All collections</a><br /> … … 11 15 Configure Telemeta and manage users</p> 12 16 </div> 17 --> 13 18 {% endblock %} -
trunk/telemeta/templates/telemeta_default/search_criteria.html
r535 r539 30 30 31 31 <p> 32 <label for="location">{% trans"Location" %}</label>32 <label for="location">{% field_label "Location" %}</label> 33 33 <input type="text" name="location" id="location" /> 34 34 </p> -
trunk/telemeta/templatetags/telemeta_utils.py
r537 r539 9 9 from telemeta import models 10 10 from django.utils.translation import ungettext 11 from docutils.core import publish_parts 12 from django.utils.encoding import smart_str, force_unicode 13 from django.utils.safestring import mark_safe 14 import re 11 15 12 16 register = template.Library() … … 166 170 167 171 @register.simple_tag 168 def field_label(model, field ):172 def field_label(model, field=None): 169 173 if isinstance(model, basestring): 170 174 model = getattr(models, model) 171 175 176 if not field: 177 return capfirst(unicode(model._meta.verbose_name)) 178 172 179 return capfirst(unicode(model.field_label(field))) 173 180 … … 210 217 def equals(value1, value2): 211 218 return value1 == value2 219 220 @register.filter 221 def rst(content): 222 parsed = "" 223 path = getattr(content, 'path', '') 224 if isinstance(content, basestring): 225 content = content.split("\n") 226 227 for line in content: 228 match = re.match('^(\.\. *(?:_[^:]*:|image::) *)([^ ]+) *$', line) 229 if match: 230 directive, urlname = match.groups() 231 line = directive 232 try: 233 i = urlname.index('telemeta-') 234 except ValueError: 235 i = -1 236 if i == 0: 237 line += reverse(urlname) 238 elif urlname[:1] != '/': 239 print '|%s|' % urlname 240 line += reverse('telemeta-flatpage', args=[path + '/../' + urlname]) 241 else: 242 line += urlname 243 244 parsed += line + "\n" 245 246 parts = publish_parts(source=smart_str(parsed), writer_name="html4css1", settings_overrides={}) 247 return mark_safe('<div class="rst-content">\n' + force_unicode(parts["html_body"]) + '</div>') 248 rst.is_safe = True 249 250 251 -
trunk/telemeta/urls.py
r535 r539 166 166 name="telemeta-timeside"), 167 167 168 # Flat pages 169 url(r'^page/(?P<path>.*)$', web_view.render_flatpage, name="telemeta-flatpage"), 170 168 171 # OAI-PMH Data Provider 169 172 url(r'^oai/.*$', web_view.handle_oai_request, name="telemeta-oai") -
trunk/telemeta/web/base.py
r538 r539 41 41 from django.http import HttpResponse 42 42 from django.http import Http404 43 from django.shortcuts import render_to_response 43 from django.shortcuts import render_to_response, redirect 44 44 from django.views.generic import list_detail 45 45 from django.conf import settings … … 57 57 from django.core.exceptions import ObjectDoesNotExist 58 58 from telemeta.util.unaccent import unaccent 59 from telemeta.web import pages 59 60 60 61 class WebView(Component): … … 69 70 70 71 template = loader.get_template('telemeta/index.html') 71 context = Context({ })72 context = Context({'page_content': pages.get_page_content(request, 'parts/home', True)}) 72 73 return HttpResponse(template.render(context)) 73 74 … … 391 392 return HttpResponse(provider.handle(args), mimetype='text/xml') 392 393 393 394 def render_flatpage(self, request, path): 395 try: 396 content = pages.get_page_content(request, path) 397 except pages.MalformedPagePath: 398 return redirect(request.path + '/') 399 400 if isinstance(content, pages.PageAttachment): 401 return HttpResponse(content, content.mimetype()) 402 else: 403 return render_to_response('telemeta/flatpage.html', {'page_content': content }) 404
