annotate roundup/templates/classic/dbinit.py @ 188:1536be43d2fa

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).
author Richard Jones <richard@users.sourceforge.net>
date Thu, 02 Aug 2001 06:38:17 +0000
parents 0791d13baea7
children d45384bc6420
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
188
1536be43d2fa Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
1 # $Id: dbinit.py,v 1.5 2001-08-02 06:38:17 richard Exp $
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 import os
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 import instance_config
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 from roundup import roundupdb, cgi_client, mailgw
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 import select_db
68
5e71aaa87e5b Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents: 60
diff changeset
8
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 from roundup.roundupdb import Class, FileClass
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 class Database(roundupdb.Database, select_db.Database):
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 ''' Creates a hybrid database from:
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 . the selected database back-end from select_db
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 . the roundup extensions from roundupdb
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 '''
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 pass
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 class IssueClass(roundupdb.IssueClass):
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 ''' issues need the email information
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 '''
188
1536be43d2fa Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
21 ISSUE_TRACKER_WEB = instance_config.ISSUE_TRACKER_WEB
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 ISSUE_TRACKER_EMAIL = instance_config.ISSUE_TRACKER_EMAIL
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 ADMIN_EMAIL = instance_config.ADMIN_EMAIL
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 MAILHOST = instance_config.MAILHOST
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 def open(name=None):
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 ''' as from the roundupdb method openDB
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 '''
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 from roundup.hyperdb import String, Date, Link, Multilink
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 # open the database
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 db = Database(instance_config.DATABASE, name)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 # Now initialise the schema. Must do this each time.
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 pri = Class(db, "priority",
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38 name=String(), order=String())
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 pri.setkey("name")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 stat = Class(db, "status",
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 name=String(), order=String())
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 stat.setkey("name")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44
60
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
45 keyword = Class(db, "keyword",
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 name=String())
60
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
47 keyword.setkey("name")
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 user = Class(db, "user",
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 username=String(), password=String(),
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 address=String(), realname=String(),
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 phone=String(), organisation=String())
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 user.setkey("username")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 msg = FileClass(db, "msg",
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 author=Link("user"), recipients=Multilink("user"),
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 date=Date(), summary=String(),
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 files=Multilink("file"))
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 file = FileClass(db, "file",
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 name=String(), type=String())
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 issue = IssueClass(db, "issue",
60
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
64 assignedto=Link("user"), topic=Multilink("keyword"),
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 priority=Link("priority"), status=Link("status"))
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 issue.setkey('title')
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 import detectors
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 detectors.init(db)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 return db
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 def init(adminpw):
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 ''' as from the roundupdb method initDB
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 Open the new database, and set up a bunch of attributes.
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 '''
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 dbdir = os.path.join(instance_config.DATABASE, 'files')
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 if not os.path.isdir(dbdir):
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 os.makedirs(dbdir)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 db = open("admin")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 db.clear()
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 pri = db.getclass('priority')
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 pri.create(name="critical", order="1")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 pri.create(name="urgent", order="2")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89 pri.create(name="bug", order="3")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90 pri.create(name="feature", order="4")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 pri.create(name="wish", order="5")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 stat = db.getclass('status')
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 stat.create(name="unread", order="1")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 stat.create(name="deferred", order="2")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 stat.create(name="chatting", order="3")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 stat.create(name="need-eg", order="4")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 stat.create(name="in-progress", order="5")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 stat.create(name="testing", order="6")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
100 stat.create(name="done-cbb", order="7")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 stat.create(name="resolved", order="8")
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 user = db.getclass('user')
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 user.create(username="admin", password=adminpw,
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 address=instance_config.ADMIN_EMAIL)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107 db.close()
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
110 # $Log: not supported by cvs2svn $
188
1536be43d2fa Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
111 # Revision 1.4 2001/07/29 07:01:39 richard
1536be43d2fa Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
112 # Added vim command to all source so that we don't get no steenkin' tabs :)
1536be43d2fa Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
113 #
127
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
114 # Revision 1.3 2001/07/24 10:46:22 anthonybaxter
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
115 # Added templatebuilder module. two functions - one to pack up the html base,
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
116 # one to unpack it. Packed up the two standard templates into htmlbases.
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
117 # Modified __init__ to install them.
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
118 #
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
119 # __init__.py magic was needed for the rather high levels of wierd import magic.
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
120 # Reducing level of import magic == (good, future)
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
121 #
68
5e71aaa87e5b Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents: 60
diff changeset
122 # Revision 1.2 2001/07/24 01:06:43 richard
5e71aaa87e5b Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents: 60
diff changeset
123 # Oops - accidentally duped the keywords class
5e71aaa87e5b Added templatebuilder module.
Anthony Baxter <anthonybaxter@users.sourceforge.net>
parents: 60
diff changeset
124 #
60
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
125 # Revision 1.1 2001/07/23 23:28:43 richard
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
126 # Adding the classic template
e9735680d5b3 Oops - accidentally duped the keywords class
Richard Jones <richard@users.sourceforge.net>
parents: 57
diff changeset
127 #
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
128 # Revision 1.4 2001/07/23 08:45:28 richard
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 # ok, so now "./roundup-admin init" will ask questions in an attempt to get a
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 # workable instance_home set up :)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 # _and_ anydbm has had its first test :)
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 # Revision 1.3 2001/07/23 07:14:41 richard
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134 # Moved the database backends off into backends.
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 # Revision 1.2 2001/07/23 06:25:50 richard
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137 # relfected the move to roundup/backends
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139 # Revision 1.1 2001/07/23 04:33:21 anthonybaxter
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
140 # split __init__.py into 2. dbinit and instance_config.
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
141 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
142 # Revision 1.1 2001/07/23 03:50:46 anthonybaxter
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
143 # moved templates to proper location
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
145 # Revision 1.2 2001/07/22 12:09:32 richard
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 # Final commit of Grande Splite
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 #
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 #
127
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 68
diff changeset
149 # vim: set filetype=python ts=4 sw=4 et si
57
6ff85bc2dd56 Adding the classic template
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150

Roundup Issue Tracker: http://roundup-tracker.org/