summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2484bfe)
raw | patch | inline | side by side (parent: 2484bfe)
author | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Sun, 14 Jul 2002 06:14:40 +0000 (06:14 +0000) | ||
committer | richard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2> | |
Sun, 14 Jul 2002 06:14:40 +0000 (06:14 +0000) |
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@876 57a73879-2fb5-44c3-a270-3262357dd7e2
CHANGES.txt | patch | blob | history | |
TODO.txt | patch | blob | history | |
roundup/backends/blobfiles.py | patch | blob | history | |
roundup/cgi_client.py | patch | blob | history |
diff --git a/CHANGES.txt b/CHANGES.txt
index 3558ca1e69a4f04632bb8e2507a185d0e07eff6e..8fe5cd3f3e52d7372626b634ef2ae52902694451 100644 (file)
--- a/CHANGES.txt
+++ b/CHANGES.txt
. made the unit tests run again - they were quite b0rken
. #571170 ] gdbm deadlock
. #576241 ] MultiLink problems in parsePropsFromForm
+ . fixed the date module so that Date(". - 2d") works
Feature:
. cleaned up the indexer code:
diff --git a/TODO.txt b/TODO.txt
index 0c893219ff71e3ac4dbb8a103d9f3382ddb83ffd..acf4b242c8e315a1b532684446d5b6416a300bec 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
-Implementation plan for 0.5 release:
+General Roundup project TODO list. Note that some of these are semi-formed
+ideas. Those ideas that don't make the cutoff for the next major release are
+punted automatically into the subsequent major release TODO.
+
+For 0.5 release:
State Description
------------------------------------------------------------------------------
related: Re-enable link backrefs from messages
feature request #568714
pending alternative user auth: at least an LDAP implementation
-active security overhaul: see doc/security.txt
-done - switch to sessions for web authentication (RJ)
+active security overhaul: see doc/security.txt (RJ)
+done - switch to sessions for web authentication
- authenticate over a secure connection
- implement and use the new logical control mechanisms
- use digital signatures in mailgw
+active implement an RDB backend (RJ)
+done - further split the *dbm backends from the core code, allowing
+ easier non-dict-like backends (eg metakit, RDB)
+ - write a backend for gadfly
pending fix double-submit by having new-item-submit redirect at end
pending split instance.open() into open() and login()
pending range searching of values (dates in particular)
index 62da5fa4821d89b2a9430fc3c2d23a71de02e402..e74f05c854da1d1fb25ddfe50a4b8049c2d78a3a 100644 (file)
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
-#$Id: blobfiles.py,v 1.6 2002-07-09 03:02:52 richard Exp $
+#$Id: blobfiles.py,v 1.7 2002-07-14 06:14:40 richard Exp $
'''
This module exports file storage for roundup backends.
Files are stored into a directory hierarchy.
class FileStorage:
"""Store files in some directory structure"""
-# TODO: maybe set "files"
-# def __init__(self):
-# pass
-
def filename(self, classname, nodeid, property=None):
'''Determine what the filename for the given node and optionally
property is.
os.remove(name+".tmp")
# $Log: not supported by cvs2svn $
+# Revision 1.6 2002/07/09 03:02:52 richard
+# More indexer work:
+# - all String properties may now be indexed too. Currently there's a bit of
+# "issue" specific code in the actual searching which needs to be
+# addressed. In a nutshell:
+# + pass 'indexme="yes"' as a String() property initialisation arg, eg:
+# file = FileClass(db, "file", name=String(), type=String(),
+# comment=String(indexme="yes"))
+# + the comment will then be indexed and be searchable, with the results
+# related back to the issue that the file is linked to
+# - as a result of this work, the FileClass has a default MIME type that may
+# be overridden in a subclass, or by the use of a "type" property as is
+# done in the default templates.
+# - the regeneration of the indexes (if necessary) is done once the schema is
+# set up in the dbinit.
+#
# Revision 1.5 2002/07/08 06:58:15 richard
# cleaned up the indexer code:
# - it splits more words out (much simpler, faster splitter)
diff --git a/roundup/cgi_client.py b/roundup/cgi_client.py
index ffef8ed3e40464993e8fff9e017c5ec5b0d1a2c7..72b37584bc99882ca03e4244a9acf8a48fcace7f 100644 (file)
--- a/roundup/cgi_client.py
+++ b/roundup/cgi_client.py
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
-# $Id: cgi_client.py,v 1.138 2002-07-14 04:03:13 richard Exp $
+# $Id: cgi_client.py,v 1.139 2002-07-14 06:14:40 richard Exp $
__doc__ = """
WWW request handler (also used in the stand-alone server).
columns = d['COLUMNS']
filterspec = d['FILTERSPEC']
pagesize = d.get('PAGESIZE', '50')
-
else:
# nope - fall back on the old way of doing it
self.classname = 'issue'
# re-open the database as "admin"
self.opendb('admin')
- # TODO: pre-check the required fields and username key property
+ # create the new user
cl = self.db.user
try:
props = parsePropsFromForm(self.db, cl, self.form)
action = self.form['__destination_url'].value
self.login(message, action=action)
return 0
+
+ # log the new user in
self.user = cl.get(uid, 'username')
# re-open the database for real, using the user
self.opendb(self.user)
self.db.commit()
# expire us in a long, long time
- # TODO: hrm, how long should this be, and how many sessions can one
- # user have?
expire = Cookie._getdate(86400*365)
# generate the cookie path - make sure it has a trailing '/'
sessions = self.db.getclass('__sessions')
# age sessions, remove when they haven't been used for a week
- # TODO: this doesn't need to be done every access
+ # TODO: this shouldn't be done every access
week = date.Interval('7d')
now = date.Date()
for sessid in sessions.list():
#
# $Log: not supported by cvs2svn $
+# Revision 1.138 2002/07/14 04:03:13 richard
+# Implemented a switch to disable journalling for a Class. CGI session
+# database now uses it.
+#
# Revision 1.137 2002/07/10 07:00:30 richard
# removed debugging
#