index 4d532ca0f5073dd5f8e14500e695151f961d15af..f50f0d3ffed147374164f1e6085a06ba3ae802dd 100644 (file)
-# $Id: dbinit.py,v 1.9 2001-08-02 06:38:17 richard Exp $
+#
+# Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
+# This module is free software, and you may redistribute it and/or modify
+# under the same terms as Python, so long as this copyright message and
+# disclaimer are retained in their original form.
+#
+# IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
+# DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
+# OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
+# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
+# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+#
+# $Id: dbinit.py,v 1.18 2002-01-02 02:31:38 richard Exp $
import os
import instance_config
from roundup import roundupdb
import select_db
+
from roundup.roundupdb import Class, FileClass
class Database(roundupdb.Database, select_db.Database):
class IssueClass(roundupdb.IssueClass):
''' issues need the email information
'''
+ INSTANCE_NAME = instance_config.INSTANCE_NAME
ISSUE_TRACKER_WEB = instance_config.ISSUE_TRACKER_WEB
ISSUE_TRACKER_EMAIL = instance_config.ISSUE_TRACKER_EMAIL
ADMIN_EMAIL = instance_config.ADMIN_EMAIL
MAILHOST = instance_config.MAILHOST
+ MESSAGES_TO_AUTHOR = instance_config.MESSAGES_TO_AUTHOR
+ EMAIL_SIGNATURE_POSITION = instance_config.EMAIL_SIGNATURE_POSITION
def open(name=None):
''' as from the roundupdb method openDB
'''
- from roundup.hyperdb import String, Date, Link, Multilink
+ from roundup.hyperdb import String, Password, Date, Link, Multilink
# open the database
db = Database(instance_config.DATABASE, name)
keywords = Class(db, "keyword",
name=String())
+ keywords.setkey("name")
user = Class(db, "user",
- username=String(), password=String(),
+ username=String(), password=Password(),
address=String(), realname=String(),
phone=String(), organisation=String())
user.setkey("username")
msg = FileClass(db, "msg",
author=Link("user"), recipients=Multilink("user"),
date=Date(), summary=String(),
- files=Multilink("file"))
+ files=Multilink("file"),
+ messageid=String(), inreplyto=String())
file = FileClass(db, "file",
name=String(), type=String())
assignedto=Link("user"), priority=Link("priority"),
status=Link("status"), product=Link("product"),
platform=Multilink("platform"), version=String(),
- supportcall=Multilink("support"))
+ targetversion=String(), supportcall=Multilink("support"))
import detectors
detectors.init(db)
user.create(username="admin", password=adminpw,
address=instance_config.ADMIN_EMAIL)
- db.close()
+ db.commit()
#
# $Log: not supported by cvs2svn $
+# Revision 1.17 2001/12/02 05:06:16 richard
+# . We now use weakrefs in the Classes to keep the database reference, so
+# the close() method on the database is no longer needed.
+# I bumped the minimum python requirement up to 2.1 accordingly.
+# . #487480 ] roundup-server
+# . #487476 ] INSTALL.txt
+#
+# I also cleaned up the change message / post-edit stuff in the cgi client.
+# There's now a clearly marked "TODO: append the change note" where I believe
+# the change note should be added there. The "changes" list will obviously
+# have to be modified to be a dict of the changes, or somesuch.
+#
+# More testing needed.
+#
+# Revision 1.16 2001/12/01 07:17:50 richard
+# . We now have basic transaction support! Information is only written to
+# the database when the commit() method is called. Only the anydbm
+# backend is modified in this way - neither of the bsddb backends have been.
+# The mail, admin and cgi interfaces all use commit (except the admin tool
+# doesn't have a commit command, so interactive users can't commit...)
+# . Fixed login/registration forwarding the user to the right page (or not,
+# on a failure)
+#
+# Revision 1.15 2001/11/26 22:55:56 richard
+# Feature:
+# . Added INSTANCE_NAME to configuration - used in web and email to identify
+# the instance.
+# . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup
+# signature info in e-mails.
+# . Some more flexibility in the mail gateway and more error handling.
+# . Login now takes you to the page you back to the were denied access to.
+#
+# Fixed:
+# . Lots of bugs, thanks Roché and others on the devel mailing list!
+#
+# Revision 1.14 2001/11/21 02:34:18 richard
+# Added a target version field to the extended issue schema
+#
+# Revision 1.13 2001/10/30 00:54:45 richard
+# Features:
+# . #467129 ] Lossage when username=e-mail-address
+# . #473123 ] Change message generation for author
+# . MailGW now moves 'resolved' to 'chatting' on receiving e-mail for an issue.
+#
+# Revision 1.12 2001/10/09 07:25:59 richard
+# Added the Password property type. See "pydoc roundup.password" for
+# implementation details. Have updated some of the documentation too.
+#
+# Revision 1.11 2001/08/07 00:24:43 richard
+# stupid typo
+#
+# Revision 1.10 2001/08/07 00:15:51 richard
+# Added the copyright/license notice to (nearly) all files at request of
+# Bizar Software.
+#
+# Revision 1.9 2001/08/02 06:38:17 richard
+# Roundupdb now appends "mailing list" information to its messages which
+# include the e-mail address and web interface address. Templates may
+# override this in their db classes to include specific information (support
+# instructions, etc).
+#
# Revision 1.8 2001/07/30 01:26:59 richard
# Big changes:
# . split off the support priority into its own class