Author: ianb
Date: 2004-04-24 20:26:15 -0600 (Sat, 24 Apr 2004)
New Revision: 98
Added:
Wiki/Context/forgotten.py
Modified:
Wiki/Context/Main.py
Wiki/Context/SitePage.py
Wiki/Context/default.css
Wiki/Context/login.py
Wiki/Context/recentchanges.py
Wiki/lib/user.py
Wiki/wiki.ini
Log:
Fixes for the new component system
Modified: Wiki/Context/Main.py
===================================================================
--- Wiki/Context/Main.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/Main.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -29,7 +29,6 @@
return
version = req.field('version', None) or None
self.page = self.wiki.page(name, version=version)
- self.view = None
self.titlePrefix = ''
def respondToPut(self, transaction):
@@ -44,13 +43,15 @@
def edit(self):
if self.user() is None:
raise HTTPAuthorizationRequired
- self.view = 'writeEdit'
+ self.setView('writeEdit')
self.titlePrefix = 'Edit: '
+ self.writeHTML()
def preview(self):
- self.view = 'writePreview'
+ self.setView('writePreview')
self.titlePrefix = 'Preview: '
req = self.request()
+ self.writeHTML()
def save(self):
if self.user() is None:
@@ -70,24 +71,26 @@
self.sendRedirectAndEnd(self.link(unversioned=True))
def history(self):
- self.view = 'writeHistory'
+ self.setView('writeHistory')
self.titlePrefix = 'History of: '
+ self.writeHTML()
def backlinks(self):
- self.view = 'writeBacklinks'
+ self.setView('writeBacklinks')
self.titlePrefix = 'Backlinks to: '
+ self.writeHTML()
def diff(self):
otherVersion = self.request().field('otherVersion', None) or None
self.otherPage = self.wiki.page(self.page.name, version=otherVersion)
- self.view = 'writeDiff'
+ self.setView('writeDiff')
self.titlePrefix = 'Diff %s to %s of:' % (self.page.version or 'Current', otherVersion or 'Current')
+ self.writeHTML()
-
def externalEdit(self):
if self.user() is None:
raise HTTPAuthorizationRequired
- self.view = None
+ self.setView(None)
res = self.response()
req = self.request()
res.setHeader('content-type', 'application/x-zope-edit')
@@ -111,7 +114,7 @@
# moment :( HTTPForbidden instead?
if self.user() is None:
raise HTTPAuthorizationRequired
- self.view = None
+ self.setView(None)
req = self.request()
method = req.environ()['REQUEST_METHOD'].upper()
metavars = {'user': 'lastChangeUser',
@@ -168,7 +171,7 @@
def link(self, action=None, unversioned=False, **kw):
if action:
- kw['_action_%s' % action] = 'yes'
+ kw['_action_'] = action
if unversioned:
link = self.page.wiki.linkTo(self.page.name)
else:
@@ -231,12 +234,12 @@
tabs.append(self._tabLink(
self.link(unversioned=True),
viewName,
- self.view == 'writeRead' and not self.page.version))
+ self.view() == 'writeRead' and not self.page.version))
if not self.page.readOnly:
tabs.append(self._tabLink(
self.link(action='edit'),
'Edit this page',
- self.view in ('writeEdit', 'writePreview')) +
+ self.view() in ('writeEdit', 'writePreview')) +
self._tabLink(
self.link(action='externalEdit'),
'<img src="%s" width=10 height=10 border=0>'
@@ -251,18 +254,18 @@
compare_brief='yes'),
'<img src="%s" width=15 height=11 border=0>'
% self.wiki.linkTo('moin-diff.gif'),
- self.view == 'writeDiff',
+ self.view() == 'writeDiff',
title="Last diff")
else:
extraHistory = ''
tabs.append(self._tabLink(
self.link(action='history', unversioned=True),
'History',
- self.view == 'writeHistory') + extraHistory)
+ self.view() == 'writeHistory') + extraHistory)
tabs.append(self._tabLink(
self.link(action='backlinks', unversioned=True),
'Backlinks',
- self.view == 'writeBacklinks'))
+ self.view() == 'writeBacklinks'))
return tabs
def _tabLink(self, url, text, isViewing, title=''):
@@ -314,7 +317,7 @@
def writeHistory(self):
self.write('<form action="%s" method="GET">'
% (self.link(unversioned=True)))
- self.write('<input type="hidden" name="_action_diff" value="yes">\n')
+ self.write('<input type="hidden" name="_action_" value="diff">\n')
self.write('''<table>
<tr class="header">
<th>Version</th>
Modified: Wiki/Context/SitePage.py
===================================================================
--- Wiki/Context/SitePage.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/SitePage.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -6,9 +6,9 @@
from lib.formatdate import formatDate
import os
import datetime
-from Component.NotifyComponent import NotifyComponent
-from Component.UserManager.PickleUserManager import PickleUserManager
-from Component.UserManager.UserComponent import UserComponent
+from Component.notify import NotifyComponent
+from LoginKit.rfc822usermanager import RFC822UserManager
+from LoginKit import UserComponent
from lib.user import WikiUser
__all__ = ['SitePage']
@@ -28,35 +28,10 @@
#self.wiki.config.rssFilename = os.path.join(thisDir, 'rss.xml')
self.suppressFooter = False
-
########################################
- ## Action handling
- ########################################
-
- def _respond(self, trans):
- CPage._respond(self, trans)
- if self.view:
- self.writeHTML()
-
- def preAction(self, actionName):
- pass
-
- def postAction(self, actionName):
- pass
-
- def defaultAction(self):
- self.view = 'writeContent'
-
- ########################################
## Utility methods
########################################
- def servletLink(self, name):
- """
- Links to the named servlet
- """
- return self.request().adapterName() + '/' + name
-
def linkToSelf(self, removeQuery=False):
"""
Gives a link back to this servlet, possibly including the
@@ -94,8 +69,7 @@
def writeBodyParts(self):
self.writeHeader()
self.writeMessages()
- if self.view:
- getattr(self, self.view)()
+ self.viewMethod()()
self.writeFooter()
def writeHeader(self):
@@ -130,15 +104,27 @@
req = self.request()
self.write('<form action="search" method="GET">')
self.write('<span class="navgroup"><a href="./">Home</a></span>\n')
- self.write('<span class="navgroup"><a href="recentchanges" id="recentchanges">Recent Changes</a>\n')
- self.write('<a href="%s" title="RSS of recent changes" id="recentchanges_xml"><img src="%s" width=19 height=9 border=0>'
- '</a></span>\n'
- % (self.wiki.linkTo('rss.xml'),
- self.wiki.linkTo('miniXmlButton.gif')))
- self.write('<span class="navgroup"><a href="orphans" id="orphans">Orphans</a></span>\n')
- self.write('<span class="navgroup"><a href="wanted" id="wanted">Wanted</a></span>\n')
+ self.write('''
+ <select name="" id="selectLinks"
+ onChange="if (this.selectedIndex)
+ {document.location=this.options[this.selectedIndex].value}"
+ class="navgroup">
+ <option value="">Browse Pages…</option>
+ <option value="%s">Recent Changes</option>
+ <option value="%s">Orphaned Pages</option>
+ <option value="%s">Wanted Pages</option>
+ </select>
+ <script language="JavaScript"><!--
+ document.getElementById("selectLinks").selectedIndex = 0;
+ // --></script>
+ ''' % (self.servletLink('recentchanges'),
+ self.servletLink('orphans'),
+ self.servletLink('wanted')))
if self.user():
self.write('<span class="navgroup"><a href="?_actionLogout=yes">Logout</a></span>\n')
+ else:
+ self.write('<span class="navgroup"><a href="%s">Login</a></span>\n'
+ % (self.servletLink('login')))
self.write('''
<input type="text" name="search" value="click here to search..."
onFocus="if (this.value == \'click here to search...\') {this.value=\'\'} this.style.backgroundColor = \'#ffffff\'; this.style.color = \'#000000\'}"
@@ -195,6 +181,6 @@
SitePage.TheGlobalWiki = TheGlobalWiki
-manager = PickleUserManager(path=TheGlobalWiki.config.userPath,
+manager = RFC822UserManager(path=TheGlobalWiki.config.userPath,
userClass=WikiUser)
SitePage.components.append(UserComponent(manager, loginServlet='/login'))
Modified: Wiki/Context/default.css
===================================================================
--- Wiki/Context/default.css 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/default.css 2004-04-25 02:26:15 UTC (rev 98)
@@ -369,6 +369,13 @@
padding-right: 1em;
}
+select.navgroup {
+ color: #ffffff;
+ background-color: #000066;
+ border: thin solid #ffffff;
+ font-weight: bold;
+}
+
.navgroup a:hover {
background-color: #cecbc6;
color: #000066;
Added: Wiki/Context/forgotten.py
===================================================================
--- Wiki/Context/forgotten.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/forgotten.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -0,0 +1,10 @@
+from LoginKit.forgotten import ForgottenPasswordComponent
+from SitePage import *
+
+class forgotten(SitePage):
+
+ components = SitePage.components + [ForgottenPasswordComponent()]
+
+ def defaultAction(self):
+ self.forgottenPasswordForm()
+
Modified: Wiki/Context/login.py
===================================================================
--- Wiki/Context/login.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/login.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -12,15 +12,15 @@
return ['create']
def title(self):
- if self.view == 'writeCreateForm':
+ if self.view() == 'writeCreateForm':
return 'Create User Account'
- elif self.view == 'writeSuccess':
+ elif self.view() == 'writeSuccess':
return 'User Created'
else:
return 'Login'
def create(self):
- self.view = 'writeCreateForm'
+ self.setView('writeCreateForm')
req = self.request()
if not req.field('save', ''):
return
@@ -53,10 +53,12 @@
if returnTo:
self.sendRedirectAndEnd(returnTo)
else:
- self.view = 'writeSuccess'
+ self.setView('writeSuccess')
def writeContent(self):
self.write(self.simpleLoginForm())
+ self.write('<p><a href="%s">Forgot your password?</a></p>\n' %
+ self.servletLink('forgotten'))
self.write('<h2>Or create a new user account...</h2>\n')
self.writeCreateForm(self.linkToSelf())
@@ -77,6 +79,8 @@
self.write('''
<form action="%(action)s" method="POST">
+ <p>No email confirmation required; just fill in the values
+ and go!</p>
<input type="hidden" name="_action_" value="create">
<input type="hidden" name="save" value="yes">
<input type="hidden" name="returnTo" value="%(returnTo)s">
@@ -85,7 +89,7 @@
<tr>
<td>Username:</td>
<td>%(error_username)s
- <input type="text" name="username" value="%(username)s" size=40></td>
+ <input type="text" name="username" value="%(username)s" size=30></td>
</tr>
<tr>
Modified: Wiki/Context/recentchanges.py
===================================================================
--- Wiki/Context/recentchanges.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/Context/recentchanges.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -3,6 +3,10 @@
class recentchanges(SitePage):
def writeContent(self):
+ self.write('<p>RSS feed of recent changes: <a href="%s" title="RSS of recent changes" id="recentchanges_xml"><img src="%s" width=19 height=9 border=0></a>\n'
+ % (self.wiki.linkTo('rss.xml'),
+ self.wiki.linkTo('miniXmlButton.gif')))
+
self.write('''<table>
<tr class="header">
<th>Page</th>
Modified: Wiki/lib/user.py
===================================================================
--- Wiki/lib/user.py 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/lib/user.py 2004-04-25 02:26:15 UTC (rev 98)
@@ -1,4 +1,4 @@
-from Component.UserManager import SimpleUser
+from LoginKit.simpleuser import SimpleUser
class WikiUser(SimpleUser):
Modified: Wiki/wiki.ini
===================================================================
--- Wiki/wiki.ini 2004-04-25 02:26:00 UTC (rev 97)
+++ Wiki/wiki.ini 2004-04-25 02:26:15 UTC (rev 98)
@@ -24,6 +24,9 @@
# will override wiki.webwareforpython.org's settings (e.g., readonly)
alias = wiki.webwareforpython.org
+[lothlorien.colorstudy.com]
+alias = wiki.webwareforpython.org
+
[wiki.w4py.org]
alias = wiki.webwareforpython.org
|