summaryrefslogtreecommitdiff
path: root/docs/tutorials/wiki2/src/views
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2016-02-13 13:26:05 -0600
committerMichael Merickel <michael@merickel.org>2016-02-13 13:26:05 -0600
commit60891b844c883d2c9ce864522f2202d9514d8d83 (patch)
tree492c18bf615c1e5023ca79896c0b8a780120b1e8 /docs/tutorials/wiki2/src/views
parent23c2d7b337a5873dba0ca6c146e1174136ac2187 (diff)
downloadpyramid-60891b844c883d2c9ce864522f2202d9514d8d83.tar.gz
pyramid-60891b844c883d2c9ce864522f2202d9514d8d83.tar.bz2
pyramid-60891b844c883d2c9ce864522f2202d9514d8d83.zip
improve the views section by removing quirks and explaining transactions
Diffstat (limited to 'docs/tutorials/wiki2/src/views')
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/templates/edit.jinja26
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/templates/layout.jinja27
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/templates/view.jinja24
-rw-r--r--docs/tutorials/wiki2/src/views/tutorial/views/default.py36
4 files changed, 26 insertions, 27 deletions
diff --git a/docs/tutorials/wiki2/src/views/tutorial/templates/edit.jinja2 b/docs/tutorials/wiki2/src/views/tutorial/templates/edit.jinja2
index e47b3aabf..7db25c674 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/templates/edit.jinja2
+++ b/docs/tutorials/wiki2/src/views/tutorial/templates/edit.jinja2
@@ -1,17 +1,17 @@
{% extends 'layout.jinja2' %}
-{% block title %}Edit {{page.name}} - {% endblock title %}
+{% block subtitle %}Edit {{pagename}} - {% endblock subtitle %}
{% block content %}
<p>
-Editing <strong>{% if page.name %}{{page.name}}{% else %}Page Name Goes Here{% endif %}</strong>
+Editing <strong>{{pagename}}</strong>
</p>
<p>You can return to the
<a href="{{request.route_url('view_page', pagename='FrontPage')}}">FrontPage</a>.
</p>
<form action="{{ save_url }}" method="post">
<div class="form-group">
- <textarea class="form-control" name="body" rows="10" cols="60">{{ page.data }}</textarea>
+ <textarea class="form-control" name="body" rows="10" cols="60">{{ pagedata }}</textarea>
</div>
<div class="form-group">
<button type="submit" name="form.submitted" value="Save" class="btn btn-default">Save</button>
diff --git a/docs/tutorials/wiki2/src/views/tutorial/templates/layout.jinja2 b/docs/tutorials/wiki2/src/views/tutorial/templates/layout.jinja2
index 82a144abf..71785157f 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/templates/layout.jinja2
+++ b/docs/tutorials/wiki2/src/views/tutorial/templates/layout.jinja2
@@ -8,7 +8,7 @@
<meta name="author" content="Pylons Project">
<link rel="shortcut icon" href="{{request.static_url('tutorial:static/pyramid-16x16.png')}}">
- <title>{% block title %}{% if page.name %} {{page.name}} - {% endif %}{% endblock title %}Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)</title>
+ <title>{% block subtitle %}{% endblock %}Pyramid tutorial wiki (based on TurboGears 20-Minute Wiki)</title>
<!-- Bootstrap core CSS -->
<link href="//oss.maxcdn.com/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
@@ -33,11 +33,6 @@
</div>
<div class="col-md-10">
<div class="content">
- {% if request.authenticated_userid is not none %}
- <p class="pull-right">
- <a href="{{ request.route_url('logout') }}">Logout</a>
- </p>
- {% endif %}
{% block content %}{% endblock %}
</div>
</div>
diff --git a/docs/tutorials/wiki2/src/views/tutorial/templates/view.jinja2 b/docs/tutorials/wiki2/src/views/tutorial/templates/view.jinja2
index c582ce1f9..94419e228 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/templates/view.jinja2
+++ b/docs/tutorials/wiki2/src/views/tutorial/templates/view.jinja2
@@ -1,5 +1,7 @@
{% extends 'layout.jinja2' %}
+{% block subtitle %}{{page.name}} - {% endblock subtitle %}
+
{% block content %}
<p>{{ content|safe }}</p>
<p>
@@ -8,7 +10,7 @@
</a>
</p>
<p>
- Viewing <strong>{% if page.name %}{{page.name}}{% else %}Page Name Goes Here{% endif %}</strong>
+ Viewing <strong>{{page.name}}</strong>, created by <strong>{{page.creator.name}}</strong>.
</p>
<p>You can return to the
<a href="{{request.route_url('view_page', pagename='FrontPage')}}">FrontPage</a>.
diff --git a/docs/tutorials/wiki2/src/views/tutorial/views/default.py b/docs/tutorials/wiki2/src/views/tutorial/views/default.py
index ca37f39f5..7a4073b3f 100644
--- a/docs/tutorials/wiki2/src/views/tutorial/views/default.py
+++ b/docs/tutorials/wiki2/src/views/tutorial/views/default.py
@@ -9,7 +9,7 @@ from pyramid.httpexceptions import (
from pyramid.view import view_config
-from ..models import Page
+from ..models import Page, User
# regular expression used to find WikiWords
wikiwords = re.compile(r"\b([A-Z]\w+[A-Z]+\w+)")
@@ -26,7 +26,7 @@ def view_page(request):
if page is None:
raise HTTPNotFound('No such page')
- def check(match):
+ def add_link(match):
word = match.group(1)
exists = request.dbsession.query(Page).filter_by(name=word).all()
if exists:
@@ -37,23 +37,10 @@ def view_page(request):
return '<a href="%s">%s</a>' % (add_url, cgi.escape(word))
content = publish_parts(page.data, writer_name='html')['html_body']
- content = wikiwords.sub(check, content)
+ content = wikiwords.sub(add_link, content)
edit_url = request.route_url('edit_page', pagename=pagename)
return dict(page=page, content=content, edit_url=edit_url)
-@view_config(route_name='add_page', renderer='../templates/edit.jinja2')
-def add_page(request):
- pagename = request.matchdict['pagename']
- if 'form.submitted' in request.params:
- body = request.params['body']
- page = Page(name=pagename, data=body)
- request.dbsession.add(page)
- next_url = request.route_url('view_page', pagename=pagename)
- return HTTPFound(location=next_url)
- save_url = request.route_url('add_page', pagename=pagename)
- page = Page(name='', data='')
- return dict(page=page, save_url=save_url)
-
@view_config(route_name='edit_page', renderer='../templates/edit.jinja2')
def edit_page(request):
pagename = request.matchdict['pagename']
@@ -63,6 +50,21 @@ def edit_page(request):
next_url = request.route_url('view_page', pagename=pagename)
return HTTPFound(location=next_url)
return dict(
- page=page,
+ pagename=page.name,
+ pagedata=page.data,
save_url=request.route_url('edit_page', pagename=pagename),
)
+
+@view_config(route_name='add_page', renderer='../templates/edit.jinja2')
+def add_page(request):
+ pagename = request.matchdict['pagename']
+ if 'form.submitted' in request.params:
+ body = request.params['body']
+ page = Page(name=pagename, data=body)
+ page.creator = (
+ request.dbsession.query(User).filter_by(name='editor').one())
+ request.dbsession.add(page)
+ next_url = request.route_url('view_page', pagename=pagename)
+ return HTTPFound(location=next_url)
+ save_url = request.route_url('add_page', pagename=pagename)
+ return dict(pagename=pagename, pagedata='', save_url=save_url)