Mercurial > p > roundup > code
annotate roundup/templates/extended/interfaces.py @ 264:a671e5917b33
Many features and fixes.
. roundup-admin create now prompts for property info if none is supplied
on the command-line.
. hyperdb Class getprops() method may now return only the mutable
properties.
. Login now uses cookies, which makes it a whole lot more flexible. We can
now support anonymous user access (read-only, unless there's an
"anonymous" user, in which case write access is permitted). Login
handling has been moved into cgi_client.Client.main()
. The "extended" schema is now the default in roundup init.
. The schemas have had their page headings modified to cope with the new
login handling. Existing installations should copy the interfaces.py
file from the roundup lib directory to their instance home.
. Incorrectly had a Bizar Software copyright on the cgitb.py module from
Ping - has been removed.
. Fixed a whole bunch of places in the CGI interface where we should have
been returning Not Found instead of throwing an exception.
. Fixed a deviation from the spec: trying to modify the 'id' property of
an item now throws an exception.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Fri, 05 Oct 2001 02:23:24 +0000 |
| parents | 18134bffab37 |
| children | 45e32247aa33 |
| rev | line source |
|---|---|
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
1 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
3 # This module is free software, and you may redistribute it and/or modify |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
4 # under the same terms as Python, so long as this copyright message and |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
5 # disclaimer are retained in their original form. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
6 # |
| 214 | 7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
11 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
17 # |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
18 # $Id: interfaces.py,v 1.10 2001-10-05 02:23:24 richard Exp $ |
|
55
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 |
| 144 | 20 import instance_config, urlparse, os |
|
55
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 from roundup import cgi_client, mailgw |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 class Client(cgi_client.Client): |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 ''' derives basic mail gateway implementation from the standard module, |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 with any specific extensions |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 ''' |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 TEMPLATES = instance_config.TEMPLATES |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
28 showsupport = cgi_client.Client.shownode |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
29 showtimelog = cgi_client.Client.shownode |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
30 newsupport = cgi_client.Client.newnode |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
31 newtimelog = cgi_client.Client.newnode |
| 144 | 32 |
| 33 default_index_sort = ['-activity'] | |
| 34 default_index_group = ['priority'] | |
| 35 default_index_filter = [] | |
| 36 default_index_columns = ['activity','status','title','assignedto'] | |
| 37 default_index_filterspec = {'status': ['1', '2', '3', '4', '5', '6', '7']} | |
| 38 | |
| 39 def pagehead(self, title, message=None): | |
| 40 url = self.env['SCRIPT_NAME'] + '/' #self.env.get('PATH_INFO', '/') | |
| 41 machine = self.env['SERVER_NAME'] | |
| 42 port = self.env['SERVER_PORT'] | |
| 43 if port != '80': machine = machine + ':' + port | |
| 44 base = urlparse.urlunparse(('http', machine, url, None, None, None)) | |
| 45 if message is not None: | |
| 46 message = '<div class="system-msg">%s</div>'%message | |
| 47 else: | |
| 48 message = '' | |
| 49 style = open(os.path.join(self.TEMPLATES, 'style.css')).read() | |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
50 user_name = self.user or '' |
| 144 | 51 if self.user == 'admin': |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
52 admin_links = ' | <a href="list_classes">Class List</a>' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
53 else: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
54 admin_links = '' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
55 if self.user not in (None, 'anonymous'): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
56 userid = self.db.user.lookup(self.user) |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
57 user_info = ''' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
58 <a href="issue?assignedto=%s&status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=priority">My Issues</a> | |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
59 <a href="support?assignedto=%s&status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=customername">My Support</a> | |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
60 <a href="user%s">My Details</a> | <a href="logout">Logout</a> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
61 '''%(userid, userid, userid) |
| 144 | 62 else: |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
63 user_info = '<a href="login">Login</a>' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
64 if self.user is not None: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
65 add_links = ''' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
66 | Add |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
67 <a href="newissue">Issue</a>, |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
68 <a href="newsupport">Support</a>, |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
69 <a href="newuser">User</a> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
70 ''' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
71 else: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
72 add_links = '' |
| 144 | 73 self.write('''<html><head> |
| 74 <title>%s</title> | |
| 75 <style type="text/css">%s</style> | |
| 76 </head> | |
| 77 <body bgcolor=#ffffff> | |
| 78 %s | |
| 79 <table width=100%% border=0 cellspacing=0 cellpadding=2> | |
| 80 <tr class="location-bar"><td><big><strong>%s</strong></big></td> | |
| 81 <td align=right valign=bottom>%s</td></tr> | |
| 82 <tr class="location-bar"> | |
|
183
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
83 <td align=left>All |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
84 <a href="issue?status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=priority">Issues</a>, |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
85 <a href="support?status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=customername">Support</a> |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
86 | Unassigned |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
87 <a href="issue?assignedto=admin&status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=priority">Issues</a>, |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
88 <a href="support?assignedto=admin&status=unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=activity&:columns=id,activity,status,title,assignedto&:group=customername">Support</a> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
89 %s |
| 144 | 90 %s</td> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
91 <td align=right>%s</td> |
| 144 | 92 </table> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
93 '''%(title, style, message, title, user_name, add_links, admin_links, |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
94 user_info)) |
|
55
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 class MailGW(mailgw.MailGW): |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 ''' derives basic mail gateway implementation from the standard module, |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 with any specific extensions |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 ''' |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 ISSUE_TRACKER_EMAIL = instance_config.ISSUE_TRACKER_EMAIL |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 ADMIN_EMAIL = instance_config.ADMIN_EMAIL |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 MAILHOST = instance_config.MAILHOST |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 # |
|
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 # $Log: not supported by cvs2svn $ |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
106 # Revision 1.9 2001/08/07 00:24:43 richard |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
107 # stupid typo |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
108 # |
| 214 | 109 # Revision 1.8 2001/08/07 00:15:51 richard |
| 110 # Added the copyright/license notice to (nearly) all files at request of | |
| 111 # Bizar Software. | |
| 112 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
113 # Revision 1.7 2001/08/02 00:43:06 richard |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
114 # Even better (more useful) headings |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
183
diff
changeset
|
115 # |
|
183
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
116 # Revision 1.6 2001/08/02 00:36:42 richard |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
117 # Made all the user-specific link names the same (My Foo) |
|
2c5135c902ff
Even better (more useful) headings
Richard Jones <richard@users.sourceforge.net>
parents:
182
diff
changeset
|
118 # |
|
182
b6b79523be74
Made all the user-specific link names the same (My Foo)
Richard Jones <richard@users.sourceforge.net>
parents:
176
diff
changeset
|
119 # Revision 1.5 2001/08/01 05:15:09 richard |
|
b6b79523be74
Made all the user-specific link names the same (My Foo)
Richard Jones <richard@users.sourceforge.net>
parents:
176
diff
changeset
|
120 # Added "My Issues" and "My Support" to extended template. |
|
b6b79523be74
Made all the user-specific link names the same (My Foo)
Richard Jones <richard@users.sourceforge.net>
parents:
176
diff
changeset
|
121 # |
|
176
9cfab7f55df0
Added "My Issues" and "My Support" to extended template.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
122 # Revision 1.4 2001/07/30 08:12:17 richard |
|
9cfab7f55df0
Added "My Issues" and "My Support" to extended template.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
123 # Added time logging and file uploading to the templates. |
|
9cfab7f55df0
Added "My Issues" and "My Support" to extended template.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
124 # |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
125 # Revision 1.3 2001/07/30 01:26:59 richard |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
126 # Big changes: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
127 # . split off the support priority into its own class |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
128 # . added "new support, new user" to the page head |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
129 # . fixed the display options for the heading links |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
144
diff
changeset
|
130 # |
| 144 | 131 # Revision 1.2 2001/07/29 07:01:39 richard |
| 132 # Added vim command to all source so that we don't get no steenkin' tabs :) | |
| 133 # | |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
55
diff
changeset
|
134 # Revision 1.1 2001/07/23 23:16:01 richard |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
55
diff
changeset
|
135 # Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff. |
|
55
bd7be96eb56d
Split off the interfaces (CGI, mailgw) into a separate file from the DB stuff.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
136 # |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
55
diff
changeset
|
137 # |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
55
diff
changeset
|
138 # vim: set filetype=python ts=4 sw=4 et si |
