summaryrefslogtreecommitdiff
path: root/repoze/bfg/sampleapp
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-14 07:31:31 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-14 07:31:31 +0000
commit85427fa0479aefd59bd55dca397b9a36277edade (patch)
treecafad1ccb7d3f4c9a0b953adba78cd8caae70e93 /repoze/bfg/sampleapp
parent9fcb68e1563e22eed1fd7cbbd10993cff30242f8 (diff)
downloadpyramid-85427fa0479aefd59bd55dca397b9a36277edade.tar.gz
pyramid-85427fa0479aefd59bd55dca397b9a36277edade.tar.bz2
pyramid-85427fa0479aefd59bd55dca397b9a36277edade.zip
Less magical templated view model: make custom template views responsible for
knowing their template's name.
Diffstat (limited to 'repoze/bfg/sampleapp')
-rw-r--r--repoze/bfg/sampleapp/configure.zcml20
-rw-r--r--repoze/bfg/sampleapp/views.py17
2 files changed, 20 insertions, 17 deletions
diff --git a/repoze/bfg/sampleapp/configure.zcml b/repoze/bfg/sampleapp/configure.zcml
index dfe30d56b..d5cba4d33 100644
--- a/repoze/bfg/sampleapp/configure.zcml
+++ b/repoze/bfg/sampleapp/configure.zcml
@@ -1,27 +1,25 @@
<configure xmlns="http://namespaces.zope.org/zope"
- xmlns:browser="http://namespaces.repoze.org/browser"
+ xmlns:bfg="http://namespaces.repoze.org/bfg"
i18n_domain="repoze.bfg">
<include package="repoze.bfg" />
<!-- the default view for a Blog -->
- <browser:page
+ <bfg:view
for=".models.IBlog"
- class=".views.BlogDefaultView"
- template="templates/blog.pt"
+ factory=".views.BlogDefaultView"
permission="repoze.view"
/>
<!-- the default view for a BlogEntry -->
- <browser:page
+ <bfg:view
for=".models.IBlogEntry"
- class=".views.BlogEntryDefaultView"
- template="templates/blog_entry.pt"
+ factory=".views.BlogEntryDefaultView"
permission="repoze.view"
/>
<!-- the add template for a BlogEntry -->
- <browser:page
+ <bfg:view
for=".models.IBlog"
template="templates/blog_entry_add.pt"
name="add_entry.html"
@@ -29,15 +27,15 @@
/>
<!-- the add handler for a BlogEntry -->
- <browser:page
+ <bfg:view
for=".models.IBlog"
- class=".views.BlogEntryAddView"
+ factory=".views.BlogEntryAddView"
permission="repoze.view"
name="add_entry_handler"
/>
<!-- the contents view for any mapping (shows dict members) -->
- <browser:page
+ <bfg:view
for=".models.IMapping"
template="templates/contents.pt"
name="contents.html"
diff --git a/repoze/bfg/sampleapp/views.py b/repoze/bfg/sampleapp/views.py
index 3d61802bb..98b285b67 100644
--- a/repoze/bfg/sampleapp/views.py
+++ b/repoze/bfg/sampleapp/views.py
@@ -2,13 +2,18 @@ import time
from webob.exc import HTTPFound
-from repoze.bfg.template import TemplateView
+from repoze.bfg.view import TemplateView
+from repoze.bfg.view import View
+
from repoze.bfg.sampleapp.models import BlogEntry
def datestring(dt):
- return dt.strftime('%Y-%m-%dT%H:%M:%S')
+ return dt.strftime('%Y-%m-%d %H:%M:%S')
class BlogDefaultView(TemplateView):
+
+ template = 'templates/blog.pt'
+
def getInfo(self):
entrydata = []
for name, entry in self.context.items():
@@ -23,6 +28,9 @@ class BlogDefaultView(TemplateView):
return {'name':self.context.__name__, 'entries':entrydata}
class BlogEntryDefaultView(TemplateView):
+
+ template = 'templates/blog_entry.pt'
+
def getInfo(self):
return {
'name':self.context.__name__,
@@ -32,10 +40,7 @@ class BlogEntryDefaultView(TemplateView):
'created':datestring(self.context.created),
}
-class BlogEntryAddView(object):
- def __init__(self, context, request):
- self.context = context
- self.request = request
+class BlogEntryAddView(View):
def __call__(self):
author = self.request.params['author']