From: richard
Date: Wed, 6 Nov 2002 11:38:43 +0000 (+0000)
Subject: working toward 0.5.2 release
X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=f46cf98bff3385912d14ced1dad7b6f362be71ae;p=roundup.git
working toward 0.5.2 release
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@1378 57a73879-2fb5-44c3-a270-3262357dd7e2
---
diff --git a/CHANGES.txt b/CHANGES.txt
index 3f1ea6e..4385dd5 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -22,6 +22,9 @@ are given with the most recent entry first.
- added ID to the search page (sf bug 631601)
- fixed filtering by id in anydbm
- show issue ID in the headings (sf bug 631598)
+- show entire messages by default in issues (sf bug 625995)
+- fixed journalling to save old values instead of new (sorry it took so long GM)
+- handle missing REQUEST_URI for cgi-bin users (sf bug 620163)
2002-10-16 0.5.1
diff --git a/cgi-bin/roundup.cgi b/cgi-bin/roundup.cgi
index 22cf5cf..3e4c2f7 100755
--- a/cgi-bin/roundup.cgi
+++ b/cgi-bin/roundup.cgi
@@ -16,7 +16,7 @@
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
-# $Id: roundup.cgi,v 1.34 2002-10-08 03:31:09 richard Exp $
+# $Id: roundup.cgi,v 1.35 2002-11-06 11:38:42 richard Exp $
# python version check
from roundup import version_check
@@ -149,7 +149,7 @@ def main(out, err):
else:
protocol = 'http'
absolute_url = '%s://%s%s/'%(protocol, os.environ['HTTP_HOST'],
- os.environ['REQUEST_URI'])
+ os.environ.get('REQUEST_URI', ''))
request.send_header('Location', absolute_url)
request.end_headers()
out.write('Moved Permanently')
diff --git a/doc/FAQ.txt b/doc/FAQ.txt
index 270a3fb..e0b442f 100644
--- a/doc/FAQ.txt
+++ b/doc/FAQ.txt
@@ -2,16 +2,13 @@
Roundup FAQ
===========
-:Version: $Revision: 1.10 $
+:Version: $Revision: 1.11 $
NOTE: This is just a grabbag, most of this should go into documentation.
.. contents::
-Changing HTML layout
---------------------
-
Installation
------------
@@ -34,11 +31,6 @@ Different jobs run under different users.
* roundup-mailgw called via .forward from MTA, or running a cron job
fetching via pop.
-see Troubleshooting_.
-
-
-Troubleshooting
----------------
-----------------
diff --git a/doc/Makefile b/doc/Makefile
index dcfb826..eb1701c 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -1,5 +1,5 @@
PYTHON = /usr/bin/python2
-STXTOHTML = -c "from docutils.core import publish;publish(writer_name='html')"
+STXTOHTML = stx2html
SOURCE = announcement.txt customizing.txt developers.txt FAQ.txt features.txt \
glossary.txt implementation.txt index.txt design.txt \
@@ -10,7 +10,7 @@ COMPILED := $(SOURCE:.txt=.html)
all: ${COMPILED}
%.html: %.txt
- ${PYTHON} ${STXTOHTML} --report=warning -d $< $@
+ ${STXTOHTML} --report=warning -d $< $@
clean:
rm -f ${COMPILED}
diff --git a/doc/announcement.txt b/doc/announcement.txt
index c1500c3..a6fad28 100644
--- a/doc/announcement.txt
+++ b/doc/announcement.txt
@@ -13,6 +13,32 @@ sqlite backend are encouraged to upgrade sqlite to version 2.7.3.
We've had a good crack at bugs (thanks to all who contributed!):
+- added quotes around python interpreter in windows bat (sf bug 623963)
+- fixed link at end of installation doc (sf bug 623957)
+- handle "classname" URL path errors cleaner (generate a 404)
+- added CGI :remove: and :add: which specify item
+ ids to remove / add in multilink.
+- bugfix in boolean templating
+- remember the change note on bad submissions (sf bug 625989)
+- highlight required form fields (sf bug 625989)
+- force non-word boundary to match re: in subject (sf bug 626303)
+- handle sqlite bug (<2.7.2) (sf bug 630828)
+- handle missing props in anydbm stringFind
+- updated email package address formatting (deprecation)
+- copied email address quoting from email v2.4.3 so we're consistent
+ with 2.2
+- email summary extraction now takes the first whole sentence or line -
+ whichever is longer
+- documented dependency on Active State (sf bug 623959)
+- ensured there's no zero-length files in source (sf bug 633622)
+- added ID to the search page (sf bug 631601)
+- fixed filtering by id in anydbm
+- show issue ID in the headings (sf bug 631598)
+- show entire messages by default in issues (sf bug 625995)
+- fixed journalling to save old values instead of new (sorry I took so
+ long, GM)
+- handle missing REQUEST_URI for cgi-bin users (sf bug 620163)
+
Source and documentation is available at the website:
http://roundup.sourceforge.net/
diff --git a/doc/customizing.txt b/doc/customizing.txt
index 60ec721..5053b66 100644
--- a/doc/customizing.txt
+++ b/doc/customizing.txt
@@ -2,7 +2,7 @@
Customising Roundup
===================
-:Version: $Revision: 1.61 $
+:Version: $Revision: 1.62 $
.. This document borrows from the ZopeBook section on ZPT. The original is at:
http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
@@ -2144,26 +2144,23 @@ to.
which displays only the allowed status to transition to.
-Displaying entire message contents in the issue display
--------------------------------------------------------
+Displaying only message summaries in the issue display
+------------------------------------------------------
Alter the issue.item template section for messages to::
-
-
-
- |
- author |
- date |
-
-
-
- content
- |
-
-
+
+
+ |
+ author |
+ date |
+ summary |
+
+ remove
+ |
+
Restricting the list of users that are assignable to a task
@@ -2718,7 +2715,7 @@ Enabling display of either message summaries or the entire messages
-------------------------------------------------------------------
This is pretty simple - all we need to do is copy the code from the example
-`displaying entire message contents in the issue display`_ into our template
+`displaying only message summaries in the issue display`_ into our template
alongside the summary display, and then introduce a switch that shows either
one or the other. We'll use a new form variable, ``:whole_messages`` to
achieve this::
diff --git a/roundup/__init__.py b/roundup/__init__.py
index 2cc04f0..b5440b9 100644
--- a/roundup/__init__.py
+++ b/roundup/__init__.py
@@ -15,7 +15,7 @@
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
-# $Id: __init__.py,v 1.15 2002-10-16 06:55:17 richard Exp $
+# $Id: __init__.py,v 1.16 2002-11-06 11:38:42 richard Exp $
''' Roundup - issue tracking for knowledge workers.
@@ -67,6 +67,6 @@ written by Ka-Ping Yee in the "doc" directory. If nothing else, it has a
much prettier cake :)
'''
-__version__ = '0.5.1'
+__version__ = '0.5.2'
# vim: set filetype=python ts=4 sw=4 et si
diff --git a/roundup/backends/back_anydbm.py b/roundup/backends/back_anydbm.py
index bad6989..c7f108f 100644
--- a/roundup/backends/back_anydbm.py
+++ b/roundup/backends/back_anydbm.py
@@ -15,7 +15,7 @@
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
#
-#$Id: back_anydbm.py,v 1.91 2002-11-06 05:39:49 richard Exp $
+#$Id: back_anydbm.py,v 1.92 2002-11-06 11:38:42 richard Exp $
'''
This module defines a backend that saves the hyperdatabase in a database
chosen by anydbm. It is guaranteed to always be available in python
@@ -888,7 +888,7 @@ class Class(hyperdb.Class):
# done
self.db.addnode(self.classname, newid, propvalues)
if self.do_journal:
- self.db.addjournal(self.classname, newid, 'create', propvalues)
+ self.db.addjournal(self.classname, newid, 'create', {})
self.fireReactors('create', newid, None)
@@ -970,7 +970,7 @@ class Class(hyperdb.Class):
creation = None
if d.has_key('activity'):
del d['activity']
- self.db.addjournal(self.classname, newid, 'create', d, creator,
+ self.db.addjournal(self.classname, newid, 'create', {}, creator,
creation)
return newid
@@ -1145,9 +1145,11 @@ class Class(hyperdb.Class):
# if the value's the same as the existing value, no sense in
# doing anything
- if node.has_key(propname) and value == node[propname]:
+ current = node.get(propname, None)
+ if value == current:
del propvalues[propname]
continue
+ journalvalues[propname] = current
# do stuff based on the prop type
if isinstance(prop, Link):
@@ -1283,8 +1285,7 @@ class Class(hyperdb.Class):
self.db.setnode(self.classname, nodeid, node)
if self.do_journal:
- propvalues.update(journalvalues)
- self.db.addjournal(self.classname, nodeid, 'set', propvalues)
+ self.db.addjournal(self.classname, nodeid, 'set', journalvalues)
self.fireReactors('set', nodeid, oldvalues)
@@ -1612,7 +1613,6 @@ class Class(hyperdb.Class):
# now, find all the nodes that are active and pass filtering
l = []
cldb = self.db.getclassdb(cn)
- print filterspec
try:
# TODO: only full-scan once (use items())
for nodeid in self.db.getnodeids(cn, cldb):
diff --git a/roundup/backends/rdbms_common.py b/roundup/backends/rdbms_common.py
index cd24b84..cfe27b3 100644
--- a/roundup/backends/rdbms_common.py
+++ b/roundup/backends/rdbms_common.py
@@ -1,4 +1,4 @@
-# $Id: rdbms_common.py,v 1.23 2002-10-31 04:02:23 richard Exp $
+# $Id: rdbms_common.py,v 1.24 2002-11-06 11:38:42 richard Exp $
''' Relational database (SQL) backend common code.
Basics:
@@ -1102,7 +1102,7 @@ class Class(hyperdb.Class):
# done
self.db.addnode(self.classname, newid, propvalues)
if self.do_journal:
- self.db.addjournal(self.classname, newid, 'create', propvalues)
+ self.db.addjournal(self.classname, newid, 'create', {})
self.fireReactors('create', newid, None)
@@ -1184,7 +1184,7 @@ class Class(hyperdb.Class):
creation = None
if d.has_key('activity'):
del d['activity']
- self.db.addjournal(self.classname, newid, 'create', d, creator,
+ self.db.addjournal(self.classname, newid, 'create', {}, creator,
creation)
return newid
@@ -1323,9 +1323,11 @@ class Class(hyperdb.Class):
# if the value's the same as the existing value, no sense in
# doing anything
- if node.has_key(propname) and value == node[propname]:
+ current = node.get(propname, None)
+ if value == current:
del propvalues[propname]
continue
+ journalvalues[propname] = current
# do stuff based on the prop type
if isinstance(prop, Link):
@@ -1460,8 +1462,7 @@ class Class(hyperdb.Class):
self.db.setnode(self.classname, nodeid, propvalues, multilink_changes)
if self.do_journal:
- propvalues.update(journalvalues)
- self.db.addjournal(self.classname, nodeid, 'set', propvalues)
+ self.db.addjournal(self.classname, nodeid, 'set', journalvalues)
self.fireReactors('set', nodeid, oldvalues)
diff --git a/roundup/templates/classic/html/issue.item b/roundup/templates/classic/html/issue.item
index 6afb146..d4e4e1f 100644
--- a/roundup/templates/classic/html/issue.item
+++ b/roundup/templates/classic/html/issue.item
@@ -127,17 +127,23 @@ python:db.user.classhelp('username,realname,address,phone')" />
-
-
- |
- author |
- date |
- summary |
-
- remove
- |
-
+
+
+
+ |
+ author |
+ date |
+
+ remove
+ |
+
+
+
+ content
+ |
+
+
diff --git a/roundup/templates/classic/html/user.item b/roundup/templates/classic/html/user.item
index ed53702..4400abe 100644
--- a/roundup/templates/classic/html/user.item
+++ b/roundup/templates/classic/html/user.item
@@ -64,14 +64,17 @@ You are not allowed to view this page.