Mercurial > p > roundup > code
annotate roundup/cgi_client.py @ 692:0521ddc7bb31 search_indexing-0-4-2-branch
Miscellaneous changes.
cgi_client.py
removed search link for the time being
moved rendering of matches to htmltemplate
hyperdb.py
filtering of nodes on full text search incorporated in filter method
roundupdb.py
added paramater to call of filter method
roundup_indexer.py
added search method to RoundupIndexer class
| author | Roche Compaan <rochecompaan@users.sourceforge.net> |
|---|---|
| date | Fri, 19 Apr 2002 19:54:42 +0000 |
| parents | 1b2d0e702ca8 |
| children | 250d0d517f64 |
| rev | line source |
|---|---|
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
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:
188
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:
188
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:
188
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:
188
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:
188
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:
188
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:
188
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
11 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
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:
188
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:
188
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:
188
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:
188
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:
188
diff
changeset
|
17 # |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
18 # $Id: cgi_client.py,v 1.114.2.2 2002-04-19 19:54:42 rochecompaan Exp $ |
|
406
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
19 |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
20 __doc__ = """ |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
21 WWW request handler (also used in the stand-alone server). |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
22 """ |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
24 import os, cgi, StringIO, urlparse, re, traceback, mimetypes, urllib |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
25 import binascii, Cookie, time, random |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
27 import roundupdb, htmltemplate, date, hyperdb, password |
|
399
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
28 from roundup.i18n import _ |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
29 from roundup_indexer import RoundupIndexer |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 class Unauthorised(ValueError): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 pass |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
34 class NotFound(ValueError): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
35 pass |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
36 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 class Client: |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
38 ''' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
39 A note about login |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
40 ------------------ |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
41 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
42 If the user has no login cookie, then they are anonymous. There |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
43 are two levels of anonymous use. If there is no 'anonymous' user, there |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
44 is no login at all and the database is opened in read-only mode. If the |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
45 'anonymous' user exists, the user is logged in using that user (though |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
46 there is no cookie). This allows them to modify the database, and all |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
47 modifications are attributed to the 'anonymous' user. |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
48 ''' |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
49 classes_to_search = ['issue'] |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
50 |
|
446
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
51 def __init__(self, instance, request, env, form=None): |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
52 self.instance = instance |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
53 self.request = request |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 self.env = env |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 self.path = env['PATH_INFO'] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 self.split_path = self.path.split('/') |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
57 self.instance_path_name = env['INSTANCE_NAME'] |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
58 url = self.env['SCRIPT_NAME'] + '/' |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
59 machine = self.env['SERVER_NAME'] |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
60 port = self.env['SERVER_PORT'] |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
61 if port != '80': machine = machine + ':' + port |
|
636
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
62 self.base = urlparse.urlunparse(('http', env['HTTP_HOST'], url, |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
63 None, None, None)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
446
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
65 if form is None: |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
66 self.form = cgi.FieldStorage(environ=env) |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
67 else: |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
68 self.form = form |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 self.headers_done = 0 |
|
357
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
70 try: |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
71 self.debug = int(env.get("ROUNDUP_DEBUG", 0)) |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
72 except ValueError: |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
73 # someone gave us a non-int debug level, turn it off |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
74 self.debug = 0 |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
75 self.indexer = RoundupIndexer('%s/db'%instance.INSTANCE_HOME) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 |
|
186
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
77 def getuid(self): |
|
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
78 return self.db.user.lookup(self.user) |
|
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
79 |
|
657
e0a1cc7538e9
more pychecker warnings removed
Richard Jones <richard@users.sourceforge.net>
parents:
643
diff
changeset
|
80 def header(self, headers=None): |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
81 '''Put up the appropriate header. |
|
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
82 ''' |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
83 if headers is None: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
84 headers = {'Content-Type':'text/html'} |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 if not headers.has_key('Content-Type'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 headers['Content-Type'] = 'text/html' |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
87 self.request.send_response(200) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 for entry in headers.items(): |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
89 self.request.send_header(*entry) |
|
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
90 self.request.end_headers() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 self.headers_done = 1 |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
92 if self.debug: |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
93 self.headers_sent = headers |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
95 global_javascript = ''' |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
96 <script language="javascript"> |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
97 submitted = false; |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
98 function submit_once() { |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
99 if (submitted) { |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
100 alert("Your request is being processed.\\nPlease be patient."); |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
101 return 0; |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
102 } |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
103 submitted = true; |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
104 return 1; |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
105 } |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
106 |
| 643 | 107 function help_window(helpurl, width, height) { |
|
638
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
637
diff
changeset
|
108 HelpWin = window.open('%(base)s%(instance_path_name)s/' + helpurl, 'HelpWindow', 'scrollbars=yes,resizable=yes,toolbar=no,height='+height+',width='+width); |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
109 } |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
110 |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
111 </script> |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
112 ''' |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
113 def make_index_link(self, name): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
114 '''Turn a configuration entry into a hyperlink... |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
115 ''' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
116 # get the link label and spec |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
117 spec = getattr(self.instance, name+'_INDEX') |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
118 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
119 d = {} |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
120 d[':sort'] = ','.join(map(urllib.quote, spec['SORT'])) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
121 d[':group'] = ','.join(map(urllib.quote, spec['GROUP'])) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
122 d[':filter'] = ','.join(map(urllib.quote, spec['FILTER'])) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
123 d[':columns'] = ','.join(map(urllib.quote, spec['COLUMNS'])) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
124 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
125 # snarf the filterspec |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
126 filterspec = spec['FILTERSPEC'].copy() |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
127 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
128 # now format the filterspec |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
129 for k, l in filterspec.items(): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
130 # fix up the assignedto if needed |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
131 if k == 'assignedto' and l is None: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
132 l = [self.db.user.lookup(self.user)] |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
133 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
134 # add |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
135 d[urllib.quote(k)] = ','.join(map(urllib.quote, l)) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
136 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
137 # finally, format the URL |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
138 return '<a href="%s?%s">%s</a>'%(spec['CLASS'], |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
139 '&'.join([k+'='+v for k,v in d.items()]), spec['LABEL']) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
140 |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
141 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
142 def pagehead(self, title, message=None): |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
143 '''Display the page heading, with information about the tracker and |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
144 links to more information |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
145 ''' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
146 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
147 # include any important message |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
148 if message is not None: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
149 message = _('<div class="system-msg">%(message)s</div>')%locals() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
150 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
151 message = '' |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
152 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
153 # style sheet (CSS) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
154 style = open(os.path.join(self.instance.TEMPLATES, 'style.css')).read() |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
155 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
156 # figure who the user is |
|
333
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
157 user_name = self.user or '' |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
158 if user_name not in ('', 'anonymous'): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
159 userid = self.db.user.lookup(self.user) |
|
333
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
160 else: |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
161 userid = None |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
162 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
163 # figure all the header links |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
164 if hasattr(self.instance, 'HEADER_INDEX_LINKS'): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
165 links = [] |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
166 for name in self.instance.HEADER_INDEX_LINKS: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
167 spec = getattr(self.instance, name + '_INDEX') |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
168 # skip if we need to fill in the logged-in user id there's |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
169 # no user logged in |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
170 if (spec['FILTERSPEC'].has_key('assignedto') and |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
171 spec['FILTERSPEC']['assignedto'] is None and |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
172 userid is None): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
173 continue |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
174 links.append(self.make_index_link(name)) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
175 else: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
176 # no config spec - hard-code |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
177 links = [ |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
178 _('All <a href="issue?status=-1,unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=-activity&:filter=status&:columns=id,activity,status,title,assignedto&:group=priority&show_customization=1">Issues</a>'), |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
179 _('Unassigned <a href="issue?assignedto=-1&status=-1,unread,deferred,chatting,need-eg,in-progress,testing,done-cbb&:sort=-activity&:filter=status,assignedto&:columns=id,activity,status,title,assignedto&:group=priority&show_customization=1">Issues</a>') |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
180 ] |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
181 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
182 # if they're logged in, include links to their information, and the |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
183 # ability to add an issue |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
184 if user_name not in ('', 'anonymous'): |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
185 user_info = _(''' |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
186 <a href="user%(userid)s">My Details</a> | <a href="logout">Logout</a> |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
187 ''')%locals() |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
188 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
189 # figure the "add class" links |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
190 if hasattr(self.instance, 'HEADER_ADD_LINKS'): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
191 classes = self.instance.HEADER_ADD_LINKS |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
192 else: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
193 classes = ['issue'] |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
194 l = [] |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
195 for class_name in classes: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
196 cap_class = class_name.capitalize() |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
197 links.append(_('Add <a href="new%(class_name)s">' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
198 '%(cap_class)s</a>')%locals()) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
199 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
200 # if there's no config header link spec, force a user link here |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
201 if not hasattr(self.instance, 'HEADER_INDEX_LINKS'): |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
202 links.append(_('<a href="issue?assignedto=%(userid)s&status=-1,unread,chatting,open,pending&:filter=status,resolution,assignedto&:sort=-activity&:columns=id,activity,status,resolution,title,creator&:group=type&show_customization=1">My Issues</a>')%locals()) |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
203 else: |
|
399
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
204 user_info = _('<a href="login">Login</a>') |
|
333
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
205 add_links = '' |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
206 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
207 # if the user is admin, include admin links |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
208 admin_links = '' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
209 if user_name == 'admin': |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
210 links.append(_('<a href="list_classes">Class List</a>')) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
211 links.append(_('<a href="user">User List</a>')) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
212 links.append(_('<a href="newuser">Add User</a>')) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
213 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
214 # now we have all the links, join 'em |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
215 links = '\n | '.join(links) |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
216 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
217 # include the javascript bit |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
218 global_javascript = self.global_javascript%self.__dict__ |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
219 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
220 # finally, format the header |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
221 self.write(_('''<html><head> |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
222 <title>%(title)s</title> |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
223 <style type="text/css">%(style)s</style> |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
224 </head> |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
225 %(global_javascript)s |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
226 <body bgcolor=#ffffff> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
227 %(message)s |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
228 <table width=100%% border=0 cellspacing=0 cellpadding=2> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
229 <tr class="location-bar"><td><big><strong>%(title)s</strong></big></td> |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
230 <td align=right valign=bottom>%(user_name)s</td></tr> |
|
333
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
231 <tr class="location-bar"> |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
232 <td align=left>%(links)s</td> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
233 <td align=right>%(user_info)s</td> |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
234 </table> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
235 ''')%locals()) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
236 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
237 def pagefoot(self): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
238 if self.debug: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
239 self.write(_('<hr><small><dl><dt><b>Path</b></dt>')) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
240 self.write('<dd>%s</dd>'%(', '.join(map(repr, self.split_path)))) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
241 keys = self.form.keys() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
242 keys.sort() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
243 if keys: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
244 self.write(_('<dt><b>Form entries</b></dt>')) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
245 for k in self.form.keys(): |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
246 v = self.form.getvalue(k, "<empty>") |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
247 if type(v) is type([]): |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
248 # Multiple username fields specified |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
249 v = "|".join(v) |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
250 self.write('<dd><em>%s</em>=%s</dd>'%(k, cgi.escape(v))) |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
251 keys = self.headers_sent.keys() |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
252 keys.sort() |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
253 self.write(_('<dt><b>Sent these HTTP headers</b></dt>')) |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
254 for k in keys: |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
255 v = self.headers_sent[k] |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
256 self.write('<dd><em>%s</em>=%s</dd>'%(k, cgi.escape(v))) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
257 keys = self.env.keys() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
258 keys.sort() |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
259 self.write(_('<dt><b>CGI environment</b></dt>')) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
260 for k in keys: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
261 v = self.env[k] |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
262 self.write('<dd><em>%s</em>=%s</dd>'%(k, cgi.escape(v))) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
263 self.write('</dl></small>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
264 self.write('</body></html>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
265 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
266 def write(self, content): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
267 if not self.headers_done: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
268 self.header() |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
269 self.request.wfile.write(content) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
270 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
271 def index_arg(self, arg): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
272 ''' handle the args to index - they might be a list from the form |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
273 (ie. submitted from a form) or they might be a command-separated |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
274 single string (ie. manually constructed GET args) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
275 ''' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
276 if self.form.has_key(arg): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
277 arg = self.form[arg] |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
278 if type(arg) == type([]): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
279 return [arg.value for arg in arg] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
280 return arg.value.split(',') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
281 return [] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
282 |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
283 def index_filterspec(self, filter): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
284 ''' pull the index filter spec from the form |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
285 |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
286 Links and multilinks want to be lists - the rest are straight |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
287 strings. |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
288 ''' |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
289 props = self.db.classes[self.classname].getprops() |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
290 # all the form args not starting with ':' are filters |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
291 filterspec = {} |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
292 for key in self.form.keys(): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
293 if key[0] == ':': continue |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
294 if not props.has_key(key): continue |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
295 if key not in filter: continue |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
296 prop = props[key] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
297 value = self.form[key] |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
298 if (isinstance(prop, hyperdb.Link) or |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
299 isinstance(prop, hyperdb.Multilink)): |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
300 if type(value) == type([]): |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
301 value = [arg.value for arg in value] |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
302 else: |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
303 value = value.value.split(',') |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
304 l = filterspec.get(key, []) |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
305 l = l + value |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
306 filterspec[key] = l |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
307 else: |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
308 filterspec[key] = value.value |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
309 return filterspec |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
310 |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
311 def customization_widget(self): |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
312 ''' The customization widget is visible by default. The widget |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
313 visibility is remembered by show_customization. Visibility |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
314 is not toggled if the action value is "Redisplay" |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
315 ''' |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
316 if not self.form.has_key('show_customization'): |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
317 visible = 1 |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
318 else: |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
319 visible = int(self.form['show_customization'].value) |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
320 if self.form.has_key('action'): |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
321 if self.form['action'].value != 'Redisplay': |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
322 visible = self.form['action'].value == '+' |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
323 |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
324 return visible |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
325 |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
326 # TODO: make this go away some day... |
|
117
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
327 default_index_sort = ['-activity'] |
|
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
328 default_index_group = ['priority'] |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
329 default_index_filter = ['status'] |
|
142
664faa54d672
Default implementation is now "classic"...
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
330 default_index_columns = ['id','activity','title','status','assignedto'] |
|
117
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
331 default_index_filterspec = {'status': ['1', '2', '3', '4', '5', '6', '7']} |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
332 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
333 def index(self): |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
334 ''' put up an index - no class specified |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
335 ''' |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
336 # see if the web has supplied us with any customisation info |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
337 defaults = 1 |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
338 for key in ':sort', ':group', ':filter', ':columns': |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
339 if self.form.has_key(key): |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
340 defaults = 0 |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
341 break |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
342 if defaults: |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
343 # try the instance config first |
| 664 | 344 if hasattr(self.instance, 'DEFAULT_INDEX'): |
| 345 d = self.instance.DEFAULT_INDEX | |
| 346 self.classname = d['CLASS'] | |
| 347 sort = d['SORT'] | |
| 348 group = d['GROUP'] | |
| 349 filter = d['FILTER'] | |
| 350 columns = d['COLUMNS'] | |
| 351 filterspec = d['FILTERSPEC'] | |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
352 |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
353 else: |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
354 # nope - fall back on the old way of doing it |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
355 self.classname = 'issue' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
356 sort = self.default_index_sort |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
357 group = self.default_index_group |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
358 filter = self.default_index_filter |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
359 columns = self.default_index_columns |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
360 filterspec = self.default_index_filterspec |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
361 else: |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
362 # make list() extract the info from the CGI environ |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
363 self.classname = 'issue' |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
364 sort = group = filter = columns = filterspec = None |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
365 return self.list(columns=columns, filter=filter, group=group, |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
366 sort=sort, filterspec=filterspec) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
367 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
368 # XXX deviates from spec - loses the '+' (that's a reserved character |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
369 # in URLS |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
370 def list(self, sort=None, group=None, filter=None, columns=None, |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
371 filterspec=None, show_customization=None): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
372 ''' call the template index with the args |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
373 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
374 :sort - sort by prop name, optionally preceeded with '-' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
375 to give descending or nothing for ascending sorting. |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
376 :group - group by prop name, optionally preceeded with '-' or |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
377 to sort in descending or nothing for ascending order. |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
378 :filter - selects which props should be displayed in the filter |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
379 section. Default is all. |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
380 :columns - selects the columns that should be displayed. |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
381 Default is all. |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
382 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
383 ''' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
384 cn = self.classname |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
385 cl = self.db.classes[cn] |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
386 self.pagehead(_('%(instancename)s: Index of %(classname)s')%{ |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
387 'classname': cn, 'instancename': self.instance.INSTANCE_NAME}) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
388 if sort is None: sort = self.index_arg(':sort') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
389 if group is None: group = self.index_arg(':group') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
390 if filter is None: filter = self.index_arg(':filter') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
391 if columns is None: columns = self.index_arg(':columns') |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
392 if filterspec is None: filterspec = self.index_filterspec(filter) |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
393 if show_customization is None: |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
394 show_customization = self.customization_widget() |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
395 if self.form.has_key('search_text'): |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
396 search_text = self.form['search_text'].value |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
397 else: |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
398 search_text = '' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
399 |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
400 index = htmltemplate.IndexTemplate(self, self.instance.TEMPLATES, cn) |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
401 try: |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
402 index.render(filterspec, search_text, filter, columns, sort, |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
403 group, show_customization=show_customization) |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
404 except htmltemplate.MissingTemplateError: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
405 self.basicClassEditPage() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
406 self.pagefoot() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
407 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
408 def basicClassEditPage(self): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
409 '''Display a basic edit page that allows simple editing of the |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
410 nodes of the current class |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
411 ''' |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
412 if self.user != 'admin': |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
413 raise Unauthorised |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
414 w = self.write |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
415 cn = self.classname |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
416 cl = self.db.classes[cn] |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
417 idlessprops = cl.getprops(protected=0).keys() |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
418 props = ['id'] + idlessprops |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
419 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
420 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
421 # get the CSV module |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
422 try: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
423 import csv |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
424 except ImportError: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
425 w(_('Sorry, you need the csv module to use this function.<br>\n' |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
426 'Get it from: <a href="http://www.object-craft.com.au/projects/csv/">http://www.object-craft.com.au/projects/csv/')) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
427 return |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
428 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
429 # do the edit |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
430 if self.form.has_key('rows'): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
431 rows = self.form['rows'].value.splitlines() |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
432 p = csv.parser() |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
433 found = {} |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
434 line = 0 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
435 for row in rows: |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
436 line += 1 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
437 values = p.parse(row) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
438 # not a complete row, keep going |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
439 if not values: continue |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
440 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
441 # extract the nodeid |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
442 nodeid, values = values[0], values[1:] |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
443 found[nodeid] = 1 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
444 |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
445 # confirm correct weight |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
446 if len(idlessprops) != len(values): |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
447 w(_('Not enough values on line %(line)s'%{'line':line})) |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
448 return |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
449 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
450 # extract the new values |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
451 d = {} |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
452 for name, value in zip(idlessprops, values): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
453 d[name] = value.strip() |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
454 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
455 # perform the edit |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
456 if cl.hasnode(nodeid): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
457 # edit existing |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
458 cl.set(nodeid, **d) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
459 else: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
460 # new node |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
461 found[cl.create(**d)] = 1 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
462 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
463 # retire the removed entries |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
464 for nodeid in cl.list(): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
465 if not found.has_key(nodeid): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
466 cl.retire(nodeid) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
467 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
468 w(_('''<p class="form-help">You may edit the contents of the |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
469 "%(classname)s" class using this form. The lines are full-featured |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
470 Comma-Separated-Value lines, so you may include commas and even |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
471 newlines by enclosing the values in double-quotes ("). Double |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
472 quotes themselves must be quoted by doubling ("").</p> |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
473 <p class="form-help">Remove entries by deleting their line. Add |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
474 new entries by appending |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
475 them to the table - put an X in the id column.</p>''')%{'classname':cn}) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
476 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
477 l = [] |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
478 for name in props: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
479 l.append(name) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
480 w('<tt>') |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
481 w(', '.join(l) + '\n') |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
482 w('</tt>') |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
483 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
484 w('<form onSubmit="return submit_once()" method="POST">') |
|
629
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
485 w('<textarea name="rows" cols=80 rows=15>') |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
486 p = csv.parser() |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
487 for nodeid in cl.list(): |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
488 l = [] |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
489 for name in props: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
490 l.append(cgi.escape(str(cl.get(nodeid, name)))) |
|
629
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
491 w(p.join(l) + '\n') |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
492 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
493 w(_('</textarea><br><input type="submit" value="Save Changes"></form>')) |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
494 |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
495 def classhelp(self): |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
496 '''Display a table of class info |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
497 ''' |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
498 w = self.write |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
499 cn = self.form['classname'].value |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
500 cl = self.db.classes[cn] |
| 637 | 501 props = self.form['properties'].value.split(',') |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
502 |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
503 w('<table border=1 cellspacing=0 cellpaddin=2>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
504 w('<tr>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
505 for name in props: |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
506 w('<th align=left>%s</th>'%name) |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
507 w('</tr>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
508 for nodeid in cl.list(): |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
509 w('<tr>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
510 for name in props: |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
511 value = cgi.escape(str(cl.get(nodeid, name))) |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
512 w('<td align="left" valign="top">%s</td>'%value) |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
513 w('</tr>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
514 w('</table>') |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
515 |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
516 def shownode(self, message=None): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
517 ''' display an item |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
518 ''' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
519 cn = self.classname |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
520 cl = self.db.classes[cn] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
521 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
522 # possibly perform an edit |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
523 keys = self.form.keys() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
524 num_re = re.compile('^\d+$') |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
525 # don't try to set properties if the user has just logged in |
| 412 | 526 if keys and not self.form.has_key('__login_name'): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
527 try: |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
528 props = parsePropsFromForm(self.db, cl, self.form, self.nodeid) |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
529 # make changes to the node |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
530 self._changenode(props) |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
531 # handle linked nodes |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
532 self._post_editnode(self.nodeid) |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
533 # and some nice feedback for the user |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
534 if props: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
535 message = _('%(changes)s edited ok')%{'changes': |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
536 ', '.join(props.keys())} |
|
440
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
537 elif self.form.has_key('__note') and self.form['__note'].value: |
|
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
538 message = _('note added') |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
539 elif (self.form.has_key('__file') and |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
540 self.form['__file'].filename): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
541 message = _('file added') |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
542 else: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
543 message = _('nothing changed') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
544 except: |
|
433
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
545 self.db.rollback() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
546 s = StringIO.StringIO() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
547 traceback.print_exc(None, s) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
548 message = '<pre>%s</pre>'%cgi.escape(s.getvalue()) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
549 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
550 # now the display |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
551 id = self.nodeid |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
552 if cl.getkey(): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
553 id = cl.get(id, cl.getkey()) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
554 self.pagehead('%s: %s'%(self.classname.capitalize(), id), message) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
555 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
556 nodeid = self.nodeid |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
557 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
558 # use the template to display the item |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
559 item = htmltemplate.ItemTemplate(self, self.instance.TEMPLATES, |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
560 self.classname) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
561 item.render(nodeid) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
562 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
563 self.pagefoot() |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
564 showissue = shownode |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
565 showmsg = shownode |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
566 |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
567 def _add_assignedto_to_nosy(self, props): |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
568 ''' add the assignedto value from the props to the nosy list |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
569 ''' |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
570 if not props.has_key('assignedto'): |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
571 return |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
572 assignedto_id = props['assignedto'] |
|
505
34e05cd968b3
_add_assignedto_to_nosy did set nosy to assignedto only, no adding.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
502
diff
changeset
|
573 if not props.has_key('nosy'): |
|
539
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
574 # load current nosy |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
575 if self.nodeid: |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
576 cl = self.db.classes[self.classname] |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
577 l = cl.get(self.nodeid, 'nosy') |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
578 if assignedto_id in l: |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
579 return |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
580 props['nosy'] = l |
|
539
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
581 else: |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
582 props['nosy'] = [] |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
583 if assignedto_id not in props['nosy']: |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
584 props['nosy'].append(assignedto_id) |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
585 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
586 def _changenode(self, props): |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
587 ''' change the node based on the contents of the form |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
588 ''' |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
589 cl = self.db.classes[self.classname] |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
590 # set status to chatting if 'unread' or 'resolved' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
591 try: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
592 # determine the id of 'unread','resolved' and 'chatting' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
593 unread_id = self.db.status.lookup('unread') |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
594 resolved_id = self.db.status.lookup('resolved') |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
595 chatting_id = self.db.status.lookup('chatting') |
|
464
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
596 current_status = cl.get(self.nodeid, 'status') |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
597 if props.has_key('status'): |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
598 new_status = props['status'] |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
599 else: |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
600 # apparently there's a chance that some browsers don't |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
601 # send status... |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
602 new_status = current_status |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
603 except KeyError: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
604 pass |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
605 else: |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
606 if new_status == unread_id or (new_status == resolved_id |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
607 and current_status == resolved_id): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
608 props['status'] = chatting_id |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
609 |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
610 self._add_assignedto_to_nosy(props) |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
611 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
612 # create the message |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
613 message, files = self._handle_message() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
614 if message: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
615 props['messages'] = cl.get(self.nodeid, 'messages') + [message] |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
616 if files: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
617 props['files'] = cl.get(self.nodeid, 'files') + files |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
618 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
619 # make the changes |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
620 cl.set(self.nodeid, **props) |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
621 |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
622 def _createnode(self): |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
623 ''' create a node based on the contents of the form |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
624 ''' |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
625 cl = self.db.classes[self.classname] |
|
508
161d32dddd8a
missed a parsePropsFromForm in last update
Richard Jones <richard@users.sourceforge.net>
parents:
507
diff
changeset
|
626 props = parsePropsFromForm(self.db, cl, self.form) |
|
434
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
627 |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
628 # set status to 'unread' if not specified - a status of '- no |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
629 # selection -' doesn't make sense |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
630 if not props.has_key('status') and cl.getprops().has_key('status'): |
|
434
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
631 try: |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
632 unread_id = self.db.status.lookup('unread') |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
633 except KeyError: |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
634 pass |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
635 else: |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
636 props['status'] = unread_id |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
637 |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
638 self._add_assignedto_to_nosy(props) |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
639 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
640 # check for messages and files |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
641 message, files = self._handle_message() |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
642 if message: |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
643 props['messages'] = [message] |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
644 if files: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
645 props['files'] = files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
646 # create the node and return it's id |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
647 return cl.create(**props) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
648 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
649 def _handle_message(self): |
|
522
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
508
diff
changeset
|
650 ''' generate an edit message |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
651 ''' |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
652 # handle file attachments |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
653 files = [] |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
654 if self.form.has_key('__file'): |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
655 file = self.form['__file'] |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
656 if file.filename: |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
657 filename = file.filename.split('\\')[-1] |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
658 mime_type = mimetypes.guess_type(filename)[0] |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
659 if not mime_type: |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
660 mime_type = "application/octet-stream" |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
661 # create the new file entry |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
662 files.append(self.db.file.create(type=mime_type, |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
663 name=filename, content=file.file.read())) |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
664 |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
665 # we don't want to do a message if none of the following is true... |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
666 cn = self.classname |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
667 cl = self.db.classes[self.classname] |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
668 props = cl.getprops() |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
669 note = None |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
670 # in a nutshell, don't do anything if there's no note or there's no |
|
492
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
671 # NOSY |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
672 if self.form.has_key('__note'): |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
673 note = self.form['__note'].value |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
674 if not props.has_key('messages'): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
675 return None, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
676 if not isinstance(props['messages'], hyperdb.Multilink): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
677 return None, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
678 if not props['messages'].classname == 'msg': |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
679 return None, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
680 if not (self.form.has_key('nosy') or note): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
681 return None, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
682 |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
683 # handle the note |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
684 if note: |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
685 if '\n' in note: |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
686 summary = re.split(r'\n\r?', note)[0] |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
687 else: |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
688 summary = note |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
689 m = ['%s\n'%note] |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
690 elif not files: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
691 # don't generate a useless message |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
692 return None, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
693 |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
694 # handle the messageid |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
695 # TODO: handle inreplyto |
|
499
9ad589d0a60f
Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822
Richard Jones <richard@users.sourceforge.net>
parents:
498
diff
changeset
|
696 messageid = "<%s.%s.%s@%s>"%(time.time(), random.random(), |
|
502
531f4e46a818
crying out for real configuration handling... :(
Richard Jones <richard@users.sourceforge.net>
parents:
499
diff
changeset
|
697 self.classname, self.instance.MAIL_DOMAIN) |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
698 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
699 # now create the message, attaching the files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
700 content = '\n'.join(m) |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
701 message_id = self.db.msg.create(author=self.getuid(), |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
702 recipients=[], date=date.Date('.'), summary=summary, |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
703 content=content, files=files, messageid=messageid) |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
704 |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
705 # update the messages property |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
706 return message_id, files |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
707 |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
708 def _post_editnode(self, nid): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
709 '''Do the linking part of the node creation. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
710 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
711 If a form element has :link or :multilink appended to it, its |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
712 value specifies a node designator and the property on that node |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
713 to add _this_ node to as a link or multilink. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
714 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
715 This is typically used on, eg. the file upload page to indicated |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
716 which issue to link the file to. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
717 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
718 TODO: I suspect that this and newfile will go away now that |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
719 there's the ability to upload a file using the issue __file form |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
720 element! |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
721 ''' |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
722 cn = self.classname |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
723 cl = self.db.classes[cn] |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
724 # link if necessary |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
725 keys = self.form.keys() |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
726 for key in keys: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
727 if key == ':multilink': |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
728 value = self.form[key].value |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
729 if type(value) != type([]): value = [value] |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
730 for value in value: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
731 designator, property = value.split(':') |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
732 link, nodeid = roundupdb.splitDesignator(designator) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
733 link = self.db.classes[link] |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
734 value = link.get(nodeid, property) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
735 value.append(nid) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
736 link.set(nodeid, **{property: value}) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
737 elif key == ':link': |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
738 value = self.form[key].value |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
739 if type(value) != type([]): value = [value] |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
740 for value in value: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
741 designator, property = value.split(':') |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
742 link, nodeid = roundupdb.splitDesignator(designator) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
743 link = self.db.classes[link] |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
744 link.set(nodeid, **{property: nid}) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
745 |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
746 def newnode(self, message=None): |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
747 ''' Add a new node to the database. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
748 |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
749 The form works in two modes: blank form and submission (that is, |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
750 the submission goes to the same URL). **Eventually this means that |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
751 the form will have previously entered information in it if |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
752 submission fails. |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
753 |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
754 The new node will be created with the properties specified in the |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
755 form submission. For multilinks, multiple form entries are handled, |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
756 as are prop=value,value,value. You can't mix them though. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
757 |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
758 If the new node is to be referenced from somewhere else immediately |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
759 (ie. the new node is a file that is to be attached to a support |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
760 issue) then supply one of these arguments in addition to the usual |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
761 form entries: |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
762 :link=designator:property |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
763 :multilink=designator:property |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
764 ... which means that once the new node is created, the "property" |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
765 on the node given by "designator" should now reference the new |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
766 node's id. The node id will be appended to the multilink. |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
767 ''' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
768 cn = self.classname |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
769 cl = self.db.classes[cn] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
770 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
771 # possibly perform a create |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
772 keys = self.form.keys() |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
154
diff
changeset
|
773 if [i for i in keys if i[0] != ':']: |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
774 props = {} |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
775 try: |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
776 nid = self._createnode() |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
777 # handle linked nodes |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
778 self._post_editnode(nid) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
779 # and some nice feedback for the user |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
780 message = _('%(classname)s created ok')%{'classname': cn} |
|
464
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
781 |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
782 # render the newly created issue |
|
464
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
783 self.db.commit() |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
784 self.nodeid = nid |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
785 self.pagehead('%s: %s'%(self.classname.capitalize(), nid), |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
786 message) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
787 item = htmltemplate.ItemTemplate(self, self.instance.TEMPLATES, |
|
464
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
788 self.classname) |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
789 item.render(nid) |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
790 self.pagefoot() |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
791 return |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
792 except: |
|
433
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
793 self.db.rollback() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
794 s = StringIO.StringIO() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
795 traceback.print_exc(None, s) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
796 message = '<pre>%s</pre>'%cgi.escape(s.getvalue()) |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
797 self.pagehead(_('New %(classname)s')%{'classname': |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
798 self.classname.capitalize()}, message) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
799 |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
800 # call the template |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
801 newitem = htmltemplate.NewItemTemplate(self, self.instance.TEMPLATES, |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
802 self.classname) |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
803 newitem.render(self.form) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
804 |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
805 self.pagefoot() |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
806 newissue = newnode |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
807 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
808 def newuser(self, message=None): |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
809 ''' Add a new user to the database. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
810 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
811 Don't do any of the message or file handling, just create the node. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
812 ''' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
813 cn = self.classname |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
814 cl = self.db.classes[cn] |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
815 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
816 # possibly perform a create |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
817 keys = self.form.keys() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
818 if [i for i in keys if i[0] != ':']: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
819 try: |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
820 props = parsePropsFromForm(self.db, cl, self.form) |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
821 nid = cl.create(**props) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
822 # handle linked nodes |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
823 self._post_editnode(nid) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
824 # and some nice feedback for the user |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
825 message = _('%(classname)s created ok')%{'classname': cn} |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
826 except: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
827 self.db.rollback() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
828 s = StringIO.StringIO() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
829 traceback.print_exc(None, s) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
830 message = '<pre>%s</pre>'%cgi.escape(s.getvalue()) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
831 self.pagehead(_('New %(classname)s')%{'classname': |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
832 self.classname.capitalize()}, message) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
833 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
834 # call the template |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
835 newitem = htmltemplate.NewItemTemplate(self, self.instance.TEMPLATES, |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
836 self.classname) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
837 newitem.render(self.form) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
838 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
839 self.pagefoot() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
840 |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
841 def newfile(self, message=None): |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
842 ''' Add a new file to the database. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
843 |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
844 This form works very much the same way as newnode - it just has a |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
845 file upload. |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
846 ''' |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
847 cn = self.classname |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
848 cl = self.db.classes[cn] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
849 |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
850 # possibly perform a create |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
851 keys = self.form.keys() |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
852 if [i for i in keys if i[0] != ':']: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
853 try: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
854 file = self.form['content'] |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
855 mime_type = mimetypes.guess_type(file.filename)[0] |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
856 if not mime_type: |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
857 mime_type = "application/octet-stream" |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
858 # save the file |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
859 nid = cl.create(content=file.file.read(), type=mime_type, |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
860 name=file.filename) |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
861 # handle linked nodes |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
862 self._post_editnode(nid) |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
863 # and some nice feedback for the user |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
864 message = _('%(classname)s created ok')%{'classname': cn} |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
865 except: |
|
440
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
866 self.db.rollback() |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
867 s = StringIO.StringIO() |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
868 traceback.print_exc(None, s) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
869 message = '<pre>%s</pre>'%cgi.escape(s.getvalue()) |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
870 |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
871 self.pagehead(_('New %(classname)s')%{'classname': |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
872 self.classname.capitalize()}, message) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
873 newitem = htmltemplate.NewItemTemplate(self, self.instance.TEMPLATES, |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
874 self.classname) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
875 newitem.render(self.form) |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
876 self.pagefoot() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
877 |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
878 def showuser(self, message=None): |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
879 '''Display a user page for editing. Make sure the user is allowed |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
880 to edit this node, and also check for password changes. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
881 ''' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
882 if self.user == 'anonymous': |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
883 raise Unauthorised |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
884 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
885 user = self.db.user |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
886 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
887 # get the username of the node being edited |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
888 node_user = user.get(self.nodeid, 'username') |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
889 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
890 if self.user not in ('admin', node_user): |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
891 raise Unauthorised |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
892 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
893 # |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
894 # perform any editing |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
895 # |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
896 keys = self.form.keys() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
897 num_re = re.compile('^\d+$') |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
898 if keys: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
899 try: |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
900 props = parsePropsFromForm(self.db, user, self.form, |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
901 self.nodeid) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
902 set_cookie = 0 |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
903 if props.has_key('password'): |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
904 password = self.form['password'].value.strip() |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
905 if not password: |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
906 # no password was supplied - don't change it |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
907 del props['password'] |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
908 elif self.nodeid == self.getuid(): |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
909 # this is the logged-in user's password |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
910 set_cookie = password |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
911 user.set(self.nodeid, **props) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
912 # and some feedback for the user |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
913 message = _('%(changes)s edited ok')%{'changes': |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
914 ', '.join(props.keys())} |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
915 except: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
916 self.db.rollback() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
917 s = StringIO.StringIO() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
918 traceback.print_exc(None, s) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
919 message = '<pre>%s</pre>'%cgi.escape(s.getvalue()) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
920 else: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
921 set_cookie = 0 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
922 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
923 # fix the cookie if the password has changed |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
924 if set_cookie: |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
925 self.set_cookie(self.user, set_cookie) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
926 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
927 # |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
928 # now the display |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
929 # |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
930 self.pagehead(_('User: %(user)s')%{'user': node_user}, message) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
931 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
932 # use the template to display the item |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
933 item = htmltemplate.ItemTemplate(self, self.instance.TEMPLATES, 'user') |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
934 item.render(self.nodeid) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
935 self.pagefoot() |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
936 |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
937 def showfile(self): |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
938 ''' display a file |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
939 ''' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
940 nodeid = self.nodeid |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
941 cl = self.db.file |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
942 mime_type = cl.get(nodeid, 'type') |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
943 if mime_type == 'message/rfc822': |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
944 mime_type = 'text/plain' |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
945 self.header(headers={'Content-Type': mime_type}) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
946 self.write(cl.get(nodeid, 'content')) |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
947 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
948 def classes(self, message=None): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
949 ''' display a list of all the classes in the database |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
950 ''' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
951 if self.user == 'admin': |
|
399
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
952 self.pagehead(_('Table of classes'), message) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
953 classnames = self.db.classes.keys() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
954 classnames.sort() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
955 self.write('<table border=0 cellspacing=0 cellpadding=2>\n') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
956 for cn in classnames: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
957 cl = self.db.getclass(cn) |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
958 self.write('<tr class="list-header"><th colspan=2 align=left>' |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
959 '<a href="%s">%s</a></th></tr>'%(cn, cn.capitalize())) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
960 for key, value in cl.properties.items(): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
961 if value is None: value = '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
962 else: value = str(value) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
963 self.write('<tr><th align=left>%s</th><td>%s</td></tr>'%( |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
964 key, cgi.escape(value))) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
965 self.write('</table>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
966 self.pagefoot() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
967 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
968 raise Unauthorised |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
969 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
970 def login(self, message=None, newuser_form=None, action='index'): |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
971 '''Display a login page. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
972 ''' |
|
399
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
973 self.pagehead(_('Login to roundup'), message) |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
974 self.write(_(''' |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
975 <table> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
976 <tr><td colspan=2 class="strong-header">Existing User Login</td></tr> |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
977 <form onSubmit="return submit_once()" action="login_action" method=POST> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
978 <input type="hidden" name="__destination_url" value="%(action)s"> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
979 <tr><td align=right>Login name: </td> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
980 <td><input name="__login_name"></td></tr> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
981 <tr><td align=right>Password: </td> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
982 <td><input type="password" name="__login_password"></td></tr> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
983 <tr><td></td> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
984 <td><input type="submit" value="Log In"></td></tr> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
985 </form> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
986 ''')%locals()) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
987 if self.user is None and self.instance.ANONYMOUS_REGISTER == 'deny': |
|
349
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
988 self.write('</table>') |
|
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
989 self.pagefoot() |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
990 return |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
991 values = {'realname': '', 'organisation': '', 'address': '', |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
992 'phone': '', 'username': '', 'password': '', 'confirm': '', |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
993 'action': action, 'alternate_addresses': ''} |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
994 if newuser_form is not None: |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
995 for key in newuser_form.keys(): |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
996 values[key] = newuser_form[key].value |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
997 self.write(_(''' |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
998 <p> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
999 <tr><td colspan=2 class="strong-header">New User Registration</td></tr> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1000 <tr><td colspan=2><em>marked items</em> are optional...</td></tr> |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
1001 <form onSubmit="return submit_once()" action="newuser_action" method=POST> |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1002 <input type="hidden" name="__destination_url" value="%(action)s"> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1003 <tr><td align=right><em>Name: </em></td> |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1004 <td><input name="realname" value="%(realname)s" size=40></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1005 <tr><td align=right><em>Organisation: </em></td> |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1006 <td><input name="organisation" value="%(organisation)s" size=40></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1007 <tr><td align=right>E-Mail Address: </td> |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1008 <td><input name="address" value="%(address)s" size=40></td></tr> |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1009 <tr><td align=right><em>Alternate E-mail Addresses: </em></td> |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1010 <td><textarea name="alternate_addresses" rows=5 cols=40>%(alternate_addresses)s</textarea></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1011 <tr><td align=right><em>Phone: </em></td> |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1012 <td><input name="phone" value="%(phone)s"></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1013 <tr><td align=right>Preferred Login name: </td> |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1014 <td><input name="username" value="%(username)s"></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1015 <tr><td align=right>Password: </td> |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1016 <td><input type="password" name="password" value="%(password)s"></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1017 <tr><td align=right>Password Again: </td> |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1018 <td><input type="password" name="confirm" value="%(confirm)s"></td></tr> |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1019 <tr><td></td> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1020 <td><input type="submit" value="Register"></td></tr> |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1021 </form> |
|
349
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
1022 </table> |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1023 ''')%values) |
|
349
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
1024 self.pagefoot() |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1025 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1026 def login_action(self, message=None): |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1027 '''Attempt to log a user in and set the cookie |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1028 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1029 returns 0 if a page is generated as a result of this call, and |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1030 1 if not (ie. the login is successful |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1031 ''' |
|
302
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1032 if not self.form.has_key('__login_name'): |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1033 self.login(message=_('Username required')) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1034 return 0 |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1035 self.user = self.form['__login_name'].value |
|
302
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1036 if self.form.has_key('__login_password'): |
|
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1037 password = self.form['__login_password'].value |
|
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1038 else: |
|
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1039 password = '' |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1040 # make sure the user exists |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1041 try: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1042 uid = self.db.user.lookup(self.user) |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1043 except KeyError: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1044 name = self.user |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1045 self.make_user_anonymous() |
|
429
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1046 action = self.form['__destination_url'].value |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1047 self.login(message=_('No such user "%(name)s"')%locals(), |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1048 action=action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1049 return 0 |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1050 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1051 # and that the password is correct |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1052 pw = self.db.user.get(uid, 'password') |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1053 if password != pw: |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1054 self.make_user_anonymous() |
|
429
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1055 action = self.form['__destination_url'].value |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1056 self.login(message=_('Incorrect password'), action=action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1057 return 0 |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1058 |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1059 self.set_cookie(self.user, password) |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1060 return 1 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1061 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1062 def newuser_action(self, message=None): |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1063 '''Attempt to create a new user based on the contents of the form |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1064 and then set the cookie. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1065 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1066 return 1 on successful login |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1067 ''' |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1068 # re-open the database as "admin" |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1069 self.db = self.instance.open('admin') |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1070 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1071 # TODO: pre-check the required fields and username key property |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1072 cl = self.db.user |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1073 try: |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1074 props = parsePropsFromForm(self.db, cl, self.form) |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1075 uid = cl.create(**props) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1076 except ValueError, message: |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1077 action = self.form['__destination_url'].value |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1078 self.login(message, action=action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1079 return 0 |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1080 self.user = cl.get(uid, 'username') |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1081 password = cl.get(uid, 'password') |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1082 self.set_cookie(self.user, self.form['password'].value) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1083 return 1 |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1084 |
|
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1085 def set_cookie(self, user, password): |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1086 # construct the cookie |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1087 user = binascii.b2a_base64('%s:%s'%(user, password)).strip() |
|
364
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1088 if user[-1] == '=': |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1089 if user[-2] == '=': |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1090 user = user[:-2] |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1091 else: |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1092 user = user[:-1] |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
1093 expire = Cookie._getdate(86400*365) |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1094 path = '/'.join((self.env['SCRIPT_NAME'], self.env['INSTANCE_NAME'])) |
|
363
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1095 self.header({'Set-Cookie': 'roundup_user=%s; expires=%s; Path=%s;' % ( |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
1096 user, expire, path)}) |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1097 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1098 def make_user_anonymous(self): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1099 # make us anonymous if we can |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1100 try: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1101 self.db.user.lookup('anonymous') |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1102 self.user = 'anonymous' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1103 except KeyError: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1104 self.user = None |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1105 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1106 def logout(self, message=None): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1107 self.make_user_anonymous() |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1108 # construct the logout cookie |
|
295
0eb026a5257d
Manually constructing cookie headers now.
Richard Jones <richard@users.sourceforge.net>
parents:
293
diff
changeset
|
1109 now = Cookie._getdate() |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1110 path = '/'.join((self.env['SCRIPT_NAME'], self.env['INSTANCE_NAME'])) |
|
295
0eb026a5257d
Manually constructing cookie headers now.
Richard Jones <richard@users.sourceforge.net>
parents:
293
diff
changeset
|
1111 self.header({'Set-Cookie': |
|
363
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1112 'roundup_user=deleted; Max-Age=0; expires=%s; Path=%s;'%(now, |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1113 path)}) |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1114 self.login() |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1115 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1116 def main(self): |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1117 '''Wrap the database accesses so we can close the database cleanly |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1118 ''' |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1119 # determine the uid to use |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1120 self.db = self.instance.open('admin') |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1121 cookie = Cookie.Cookie(self.env.get('HTTP_COOKIE', '')) |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1122 user = 'anonymous' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1123 if (cookie.has_key('roundup_user') and |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1124 cookie['roundup_user'].value != 'deleted'): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1125 cookie = cookie['roundup_user'].value |
|
364
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1126 if len(cookie)%4: |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1127 cookie = cookie + '='*(4-len(cookie)%4) |
|
365
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1128 try: |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1129 user, password = binascii.a2b_base64(cookie).split(':') |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1130 except (TypeError, binascii.Error, binascii.Incomplete): |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1131 # damaged cookie! |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1132 user, password = 'anonymous', '' |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1133 |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1134 # make sure the user exists |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1135 try: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1136 uid = self.db.user.lookup(user) |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1137 # now validate the password |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1138 if password != self.db.user.get(uid, 'password'): |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1139 user = 'anonymous' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1140 except KeyError: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1141 user = 'anonymous' |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1142 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1143 # make sure the anonymous user is valid if we're using it |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1144 if user == 'anonymous': |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1145 self.make_user_anonymous() |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1146 else: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1147 self.user = user |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1148 |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1149 # re-open the database for real, using the user |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1150 self.db = self.instance.open(self.user) |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1151 |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1152 # now figure which function to call |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1153 path = self.split_path |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1154 |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1155 # default action to index if the path has no information in it |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1156 if not path or path[0] in ('', 'index'): |
|
323
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1157 action = 'index' |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1158 else: |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1159 action = path[0] |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1160 |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1161 # Everthing ignores path[1:] |
|
323
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1162 # - The file download link generator actually relies on this - it |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1163 # appends the name of the file to the URL so the download file name |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1164 # is correct, but doesn't actually use it. |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1165 |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1166 # everyone is allowed to try to log in |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1167 if action == 'login_action': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1168 # try to login |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1169 if not self.login_action(): |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1170 return |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1171 # figure the resulting page |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1172 action = self.form['__destination_url'].value |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1173 if not action: |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1174 action = 'index' |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1175 self.do_action(action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1176 return |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1177 |
|
323
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1178 # allow anonymous people to register |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1179 if action == 'newuser_action': |
|
326
36e812156746
More fixes to lockout logic.
Richard Jones <richard@users.sourceforge.net>
parents:
325
diff
changeset
|
1180 # if we don't have a login and anonymous people aren't allowed to |
|
36e812156746
More fixes to lockout logic.
Richard Jones <richard@users.sourceforge.net>
parents:
325
diff
changeset
|
1181 # register, then spit up the login form |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1182 if self.instance.ANONYMOUS_REGISTER == 'deny' and self.user is None: |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1183 if action == 'login': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1184 self.login() # go to the index after login |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1185 else: |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1186 self.login(action=action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1187 return |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1188 # try to add the user |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1189 if not self.newuser_action(): |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1190 return |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1191 # figure the resulting page |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1192 action = self.form['__destination_url'].value |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1193 if not action: |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1194 action = 'index' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1195 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1196 # no login or registration, make sure totally anonymous access is OK |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1197 elif self.instance.ANONYMOUS_ACCESS == 'deny' and self.user is None: |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1198 if action == 'login': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1199 self.login() # go to the index after login |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1200 else: |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1201 self.login(action=action) |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1202 return |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1203 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1204 # just a regular action |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1205 self.do_action(action) |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1206 |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1207 # commit all changes to the database |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1208 self.db.commit() |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1209 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1210 def do_action(self, action, dre=re.compile(r'([^\d]+)(\d+)'), |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1211 nre=re.compile(r'new(\w+)')): |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1212 '''Figure the user's action and do it. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1213 ''' |
|
323
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1214 # here be the "normal" functionality |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1215 if action == 'index': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1216 self.index() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1217 return |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1218 if action == 'list_classes': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1219 self.classes() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1220 return |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1221 if action == 'classhelp': |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1222 self.classhelp() |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1223 return |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1224 if action == 'login': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1225 self.login() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1226 return |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1227 if action == 'logout': |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1228 self.logout() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1229 return |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1230 if action == 'search': |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1231 self.search() |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1232 return |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1233 if action == 'searchresults': |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1234 self.searchresults() |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1235 return |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1236 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1237 # see if we're to display an existing node |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1238 m = dre.match(action) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1239 if m: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1240 self.classname = m.group(1) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1241 self.nodeid = m.group(2) |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1242 try: |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1243 cl = self.db.classes[self.classname] |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1244 except KeyError: |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1245 raise NotFound |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1246 try: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1247 cl.get(self.nodeid, 'id') |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1248 except IndexError: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1249 raise NotFound |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1250 try: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1251 func = getattr(self, 'show%s'%self.classname) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1252 except AttributeError: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1253 raise NotFound |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1254 func() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1255 return |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1256 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1257 # see if we're to put up the new node page |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1258 m = nre.match(action) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1259 if m: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1260 self.classname = m.group(1) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1261 try: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1262 func = getattr(self, 'new%s'%self.classname) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1263 except AttributeError: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1264 raise NotFound |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1265 func() |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1266 return |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1267 |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1268 # otherwise, display the named class |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1269 self.classname = action |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1270 try: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1271 self.db.getclass(self.classname) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1272 except KeyError: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1273 raise NotFound |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1274 self.list() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1275 |
|
273
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1276 |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1277 class ExtendedClient(Client): |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1278 '''Includes pages and page heading information that relate to the |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1279 extended schema. |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1280 ''' |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1281 showsupport = Client.shownode |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1282 showtimelog = Client.shownode |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1283 newsupport = Client.newnode |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1284 newtimelog = Client.newnode |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1285 classes_to_search = ['issue', 'support'] |
|
273
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1286 |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1287 default_index_sort = ['-activity'] |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1288 default_index_group = ['priority'] |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1289 default_index_filter = ['status'] |
|
273
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1290 default_index_columns = ['activity','status','title','assignedto'] |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1291 default_index_filterspec = {'status': ['1', '2', '3', '4', '5', '6', '7']} |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1292 |
|
293
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1293 def parsePropsFromForm(db, cl, form, nodeid=0): |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1294 '''Pull properties for the given class out of the form. |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1295 ''' |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1296 props = {} |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1297 keys = form.keys() |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1298 num_re = re.compile('^\d+$') |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1299 for key in keys: |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1300 if not cl.properties.has_key(key): |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1301 continue |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1302 proptype = cl.properties[key] |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1303 if isinstance(proptype, hyperdb.String): |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1304 value = form[key].value.strip() |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1305 elif isinstance(proptype, hyperdb.Password): |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1306 value = password.Password(form[key].value.strip()) |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1307 elif isinstance(proptype, hyperdb.Date): |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1308 value = form[key].value.strip() |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1309 if value: |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1310 value = date.Date(form[key].value.strip()) |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1311 else: |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1312 value = None |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1313 elif isinstance(proptype, hyperdb.Interval): |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1314 value = form[key].value.strip() |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1315 if value: |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1316 value = date.Interval(form[key].value.strip()) |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1317 else: |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1318 value = None |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1319 elif isinstance(proptype, hyperdb.Link): |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1320 value = form[key].value.strip() |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1321 # see if it's the "no selection" choice |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1322 if value == '-1': |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1323 # don't set this property |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1324 continue |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1325 else: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1326 # handle key values |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1327 link = cl.properties[key].classname |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1328 if not num_re.match(value): |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1329 try: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1330 value = db.classes[link].lookup(value) |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1331 except KeyError: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1332 raise ValueError, _('property "%(propname)s": ' |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1333 '%(value)s not a %(classname)s')%{'propname':key, |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1334 'value': value, 'classname': link} |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1335 elif isinstance(proptype, hyperdb.Multilink): |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1336 value = form[key] |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1337 if type(value) != type([]): |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1338 value = [i.strip() for i in value.value.split(',')] |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1339 else: |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1340 value = [i.value.strip() for i in value] |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1341 link = cl.properties[key].classname |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1342 l = [] |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1343 for entry in map(str, value): |
|
434
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
1344 if entry == '': continue |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1345 if not num_re.match(entry): |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1346 try: |
|
293
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1347 entry = db.classes[link].lookup(entry) |
|
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1348 except KeyError: |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1349 raise ValueError, _('property "%(propname)s": ' |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1350 '"%(value)s" not an entry of %(classname)s')%{ |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1351 'propname':key, 'value': entry, 'classname': link} |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1352 l.append(entry) |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1353 l.sort() |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1354 value = l |
|
395
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1355 |
|
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1356 # get the old value |
| 396 | 1357 if nodeid: |
| 1358 try: | |
| 1359 existing = cl.get(nodeid, key) | |
| 1360 except KeyError: | |
| 1361 # this might be a new property for which there is no existing | |
| 1362 # value | |
| 1363 if not cl.properties.has_key(key): raise | |
|
395
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1364 |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1365 # if changed, set it |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1366 if value != existing: |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1367 props[key] = value |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1368 else: |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1369 props[key] = value |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1370 return props |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1371 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1372 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1373 # $Log: not supported by cvs2svn $ |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
1374 # Revision 1.114.2.1 2002/04/03 11:55:57 rochecompaan |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
1375 # . Added feature #526730 - search for messages capability |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
681
diff
changeset
|
1376 # |
|
681
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1377 # Revision 1.114 2002/03/17 23:06:05 richard |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1378 # oops |
|
1b2d0e702ca8
Added feature [SF#526730] - search for messages capability
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
664
diff
changeset
|
1379 # |
| 664 | 1380 # Revision 1.113 2002/03/14 23:59:24 richard |
| 1381 # . #517734 ] web header customisation is obscure | |
| 1382 # | |
|
661
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
1383 # Revision 1.112 2002/03/12 22:52:26 richard |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
1384 # more pychecker warnings removed |
|
cdcee6721841
. [SF#517734] web header customisation is obscure
Richard Jones <richard@users.sourceforge.net>
parents:
657
diff
changeset
|
1385 # |
|
657
e0a1cc7538e9
more pychecker warnings removed
Richard Jones <richard@users.sourceforge.net>
parents:
643
diff
changeset
|
1386 # Revision 1.111 2002/02/25 04:32:21 richard |
|
e0a1cc7538e9
more pychecker warnings removed
Richard Jones <richard@users.sourceforge.net>
parents:
643
diff
changeset
|
1387 # ahem |
|
e0a1cc7538e9
more pychecker warnings removed
Richard Jones <richard@users.sourceforge.net>
parents:
643
diff
changeset
|
1388 # |
| 643 | 1389 # Revision 1.110 2002/02/21 07:19:08 richard |
| 1390 # ... and label, width and height control for extra flavour! | |
| 1391 # | |
|
638
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
637
diff
changeset
|
1392 # Revision 1.109 2002/02/21 07:08:19 richard |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
637
diff
changeset
|
1393 # oops |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
637
diff
changeset
|
1394 # |
| 637 | 1395 # Revision 1.108 2002/02/21 07:02:54 richard |
| 1396 # The correct var is "HTTP_HOST" | |
| 1397 # | |
|
636
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1398 # Revision 1.107 2002/02/21 06:57:38 richard |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1399 # . Added popup help for classes using the classhelp html template function. |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1400 # - add <display call="classhelp('priority', 'id,name,description')"> |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1401 # to an item page, and it generates a link to a popup window which displays |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1402 # the id, name and description for the priority class. The description |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1403 # field won't exist in most installations, but it will be added to the |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1404 # default templates. |
|
3569dfce4bc5
The correct var is "HTTP_HOST"
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1405 # |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1406 # Revision 1.106 2002/02/21 06:23:00 richard |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1407 # *** empty log message *** |
|
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1408 # |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
1409 # Revision 1.105 2002/02/20 05:52:10 richard |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
1410 # better error handling |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
630
diff
changeset
|
1411 # |
|
630
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
1412 # Revision 1.104 2002/02/20 05:45:17 richard |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
1413 # Use the csv module for generating the form entry so it's correct. |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
1414 # [also noted the sf.net feature request id in the change log] |
|
b3407b616935
better error handling
Richard Jones <richard@users.sourceforge.net>
parents:
629
diff
changeset
|
1415 # |
|
629
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1416 # Revision 1.103 2002/02/20 05:05:28 richard |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1417 # . Added simple editing for classes that don't define a templated interface. |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1418 # - access using the admin "class list" interface |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1419 # - limited to admin-only |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1420 # - requires the csv module from object-craft (url given if it's missing) |
|
d43a21e6a823
Use the csv module for generating the form entry so it's correct.
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1421 # |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1422 # Revision 1.102 2002/02/15 07:08:44 richard |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1423 # . Alternate email addresses are now available for users. See the MIGRATION |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1424 # file for info on how to activate the feature. |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1425 # |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1426 # Revision 1.101 2002/02/14 23:39:18 richard |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1427 # . All forms now have "double-submit" protection when Javascript is enabled |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1428 # on the client-side. |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1429 # |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
1430 # Revision 1.100 2002/01/16 07:02:57 richard |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
1431 # . lots of date/interval related changes: |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
1432 # - more relaxed date format for input |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
543
diff
changeset
|
1433 # |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1434 # Revision 1.99 2002/01/16 03:02:42 richard |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1435 # #503793 ] changing assignedto resets nosy list |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
539
diff
changeset
|
1436 # |
|
539
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1437 # Revision 1.98 2002/01/14 02:20:14 richard |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1438 # . changed all config accesses so they access either the instance or the |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1439 # config attriubute on the db. This means that all config is obtained from |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1440 # instance_config instead of the mish-mash of classes. This will make |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1441 # switching to a ConfigParser setup easier too, I hope. |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1442 # |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1443 # At a minimum, this makes migration a _little_ easier (a lot easier in the |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1444 # 0.5.0 switch, I hope!) |
|
3bd18a0890b6
[SF#503793] changing assignedto resets nosy list
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1445 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1446 # Revision 1.97 2002/01/11 23:22:29 richard |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1447 # . #502437 ] rogue reactor and unittest |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1448 # in short, the nosy reactor was modifying the nosy list. That code had |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1449 # been there for a long time, and I suspsect it was there because we |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1450 # weren't generating the nosy list correctly in other places of the code. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1451 # We're now doing that, so the nosy-modifying code can go away from the |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1452 # nosy reactor. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
1453 # |
|
522
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
508
diff
changeset
|
1454 # Revision 1.96 2002/01/10 05:26:10 richard |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
508
diff
changeset
|
1455 # missed a parsePropsFromForm in last update |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
508
diff
changeset
|
1456 # |
|
508
161d32dddd8a
missed a parsePropsFromForm in last update
Richard Jones <richard@users.sourceforge.net>
parents:
507
diff
changeset
|
1457 # Revision 1.95 2002/01/10 03:39:45 richard |
|
161d32dddd8a
missed a parsePropsFromForm in last update
Richard Jones <richard@users.sourceforge.net>
parents:
507
diff
changeset
|
1458 # . fixed some problems with web editing and change detection |
|
161d32dddd8a
missed a parsePropsFromForm in last update
Richard Jones <richard@users.sourceforge.net>
parents:
507
diff
changeset
|
1459 # |
|
507
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1460 # Revision 1.94 2002/01/09 13:54:21 grubert |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1461 # _add_assignedto_to_nosy did set nosy to assignedto only, no adding. |
|
883025274646
fixed some problems with web editing and change detection
Richard Jones <richard@users.sourceforge.net>
parents:
505
diff
changeset
|
1462 # |
|
505
34e05cd968b3
_add_assignedto_to_nosy did set nosy to assignedto only, no adding.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
502
diff
changeset
|
1463 # Revision 1.93 2002/01/08 11:57:12 richard |
|
34e05cd968b3
_add_assignedto_to_nosy did set nosy to assignedto only, no adding.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
502
diff
changeset
|
1464 # crying out for real configuration handling... :( |
|
34e05cd968b3
_add_assignedto_to_nosy did set nosy to assignedto only, no adding.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
502
diff
changeset
|
1465 # |
|
502
531f4e46a818
crying out for real configuration handling... :(
Richard Jones <richard@users.sourceforge.net>
parents:
499
diff
changeset
|
1466 # Revision 1.92 2002/01/08 04:12:05 richard |
|
531f4e46a818
crying out for real configuration handling... :(
Richard Jones <richard@users.sourceforge.net>
parents:
499
diff
changeset
|
1467 # Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822 |
|
531f4e46a818
crying out for real configuration handling... :(
Richard Jones <richard@users.sourceforge.net>
parents:
499
diff
changeset
|
1468 # |
|
499
9ad589d0a60f
Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822
Richard Jones <richard@users.sourceforge.net>
parents:
498
diff
changeset
|
1469 # Revision 1.91 2002/01/08 04:03:47 richard |
|
9ad589d0a60f
Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822
Richard Jones <richard@users.sourceforge.net>
parents:
498
diff
changeset
|
1470 # I mucked the intent of the code up. |
|
9ad589d0a60f
Changed message-id format to "<%s.%s.%s%s@%s>" so it complies with RFC822
Richard Jones <richard@users.sourceforge.net>
parents:
498
diff
changeset
|
1471 # |
|
498
2d9af3d5e0dd
I mucked the intent of the code up.
Richard Jones <richard@users.sourceforge.net>
parents:
496
diff
changeset
|
1472 # Revision 1.90 2002/01/08 03:56:55 richard |
|
2d9af3d5e0dd
I mucked the intent of the code up.
Richard Jones <richard@users.sourceforge.net>
parents:
496
diff
changeset
|
1473 # Oops, missed this before the beta: |
|
2d9af3d5e0dd
I mucked the intent of the code up.
Richard Jones <richard@users.sourceforge.net>
parents:
496
diff
changeset
|
1474 # . #495392 ] empty nosy -patch |
|
2d9af3d5e0dd
I mucked the intent of the code up.
Richard Jones <richard@users.sourceforge.net>
parents:
496
diff
changeset
|
1475 # |
|
496
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
1476 # Revision 1.89 2002/01/07 20:24:45 richard |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
1477 # *mutter* stupid cutnpaste |
|
86943fdcca18
Oops, missed this before the beta: [SF#495392] empty nosy -patch
Richard Jones <richard@users.sourceforge.net>
parents:
492
diff
changeset
|
1478 # |
|
492
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1479 # Revision 1.88 2002/01/02 02:31:38 richard |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1480 # Sorry for the huge checkin message - I was only intending to implement #496356 |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1481 # but I found a number of places where things had been broken by transactions: |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1482 # . modified ROUNDUPDBSENDMAILDEBUG to be SENDMAILDEBUG and hold a filename |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1483 # for _all_ roundup-generated smtp messages to be sent to. |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1484 # . the transaction cache had broken the roundupdb.Class set() reactors |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1485 # . newly-created author users in the mailgw weren't being committed to the db |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1486 # |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1487 # Stuff that made it into CHANGES.txt (ie. the stuff I was actually working |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1488 # on when I found that stuff :): |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1489 # . #496356 ] Use threading in messages |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1490 # . detectors were being registered multiple times |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1491 # . added tests for mailgw |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1492 # . much better attaching of erroneous messages in the mail gateway |
|
a8fa8439afa7
*mutter* stupid cutnpaste
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
1493 # |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
1494 # Revision 1.87 2001/12/23 23:18:49 richard |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
1495 # We already had an admin-specific section of the web heading, no need to add |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
1496 # another one :) |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
468
diff
changeset
|
1497 # |
|
468
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1498 # Revision 1.86 2001/12/20 15:43:01 rochecompaan |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1499 # Features added: |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1500 # . Multilink properties are now displayed as comma separated values in |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1501 # a textbox |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1502 # . The add user link is now only visible to the admin user |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1503 # . Modified the mail gateway to reject submissions from unknown |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1504 # addresses if ANONYMOUS_ACCESS is denied |
|
fc44c590d4a1
We already had an admin-specific section of the web heading...
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1505 # |
|
467
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1506 # Revision 1.85 2001/12/20 06:13:24 rochecompaan |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1507 # Bugs fixed: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1508 # . Exception handling in hyperdb for strings-that-look-like numbers got |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1509 # lost somewhere |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1510 # . Internet Explorer submits full path for filename - we now strip away |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1511 # the path |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1512 # Features added: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1513 # . Link and multilink properties are now displayed sorted in the cgi |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1514 # interface |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1515 # |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1516 # Revision 1.84 2001/12/18 15:30:30 rochecompaan |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1517 # Fixed bugs: |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1518 # . Fixed file creation and retrieval in same transaction in anydbm |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1519 # backend |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1520 # . Cgi interface now renders new issue after issue creation |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1521 # . Could not set issue status to resolved through cgi interface |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1522 # . Mail gateway was changing status back to 'chatting' if status was |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1523 # omitted as an argument |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
464
diff
changeset
|
1524 # |
|
464
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1525 # Revision 1.83 2001/12/15 23:51:01 richard |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1526 # Tested the changes and fixed a few problems: |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1527 # . files are now attached to the issue as well as the message |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1528 # . newuser is a real method now since we don't want to do the message/file |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1529 # stuff for it |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1530 # . added some documentation |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1531 # The really big changes in the diff are a result of me moving some code |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1532 # around to keep like methods together a bit better. |
|
29f5ac8a0d2b
Fixed bugs:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
459
diff
changeset
|
1533 # |
|
459
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1534 # Revision 1.82 2001/12/15 19:24:39 rochecompaan |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1535 # . Modified cgi interface to change properties only once all changes are |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1536 # collected, files created and messages generated. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1537 # . Moved generation of change note to nosyreactors. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1538 # . We now check for changes to "assignedto" to ensure it's added to the |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1539 # nosy list. |
|
65a8f4fd5485
Tested the changes and fixed a few problems:
Richard Jones <richard@users.sourceforge.net>
parents:
453
diff
changeset
|
1540 # |
|
453
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
1541 # Revision 1.81 2001/12/12 23:55:00 richard |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
1542 # Fixed some problems with user editing |
|
5b422e3bd05d
Performance tuning.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
448
diff
changeset
|
1543 # |
|
448
6e3911304700
Fixed some problems with user editing
Richard Jones <richard@users.sourceforge.net>
parents:
446
diff
changeset
|
1544 # Revision 1.80 2001/12/12 23:27:14 richard |
|
6e3911304700
Fixed some problems with user editing
Richard Jones <richard@users.sourceforge.net>
parents:
446
diff
changeset
|
1545 # Added a Zope frontend for roundup. |
|
6e3911304700
Fixed some problems with user editing
Richard Jones <richard@users.sourceforge.net>
parents:
446
diff
changeset
|
1546 # |
|
446
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1547 # Revision 1.79 2001/12/10 22:20:01 richard |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1548 # Enabled transaction support in the bsddb backend. It uses the anydbm code |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1549 # where possible, only replacing methods where the db is opened (it uses the |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1550 # btree opener specifically.) |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1551 # Also cleaned up some change note generation. |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1552 # Made the backends package work with pydoc too. |
|
ea9a4ca3fb84
Added a Zope frontend for roundup.
Richard Jones <richard@users.sourceforge.net>
parents:
440
diff
changeset
|
1553 # |
|
440
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
1554 # Revision 1.78 2001/12/07 05:59:27 rochecompaan |
|
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
1555 # Fixed small bug that prevented adding issues through the web. |
|
de5bf4191f11
Enabled transaction support in the bsddb backend.
Richard Jones <richard@users.sourceforge.net>
parents:
436
diff
changeset
|
1556 # |
|
436
9be5fdc121ca
Fixed small bug that prevented adding issues through the web.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
435
diff
changeset
|
1557 # Revision 1.77 2001/12/06 22:48:29 richard |
|
9be5fdc121ca
Fixed small bug that prevented adding issues through the web.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
435
diff
changeset
|
1558 # files multilink was being nuked in post_edit_node |
|
9be5fdc121ca
Fixed small bug that prevented adding issues through the web.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
435
diff
changeset
|
1559 # |
|
435
088b9aa21f82
files multilink was being nuked in post_edit_node
Richard Jones <richard@users.sourceforge.net>
parents:
434
diff
changeset
|
1560 # Revision 1.76 2001/12/05 14:26:44 rochecompaan |
|
088b9aa21f82
files multilink was being nuked in post_edit_node
Richard Jones <richard@users.sourceforge.net>
parents:
434
diff
changeset
|
1561 # Removed generation of change note from "sendmessage" in roundupdb.py. |
|
088b9aa21f82
files multilink was being nuked in post_edit_node
Richard Jones <richard@users.sourceforge.net>
parents:
434
diff
changeset
|
1562 # The change note is now generated when the message is created. |
|
088b9aa21f82
files multilink was being nuked in post_edit_node
Richard Jones <richard@users.sourceforge.net>
parents:
434
diff
changeset
|
1563 # |
|
434
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
1564 # Revision 1.75 2001/12/04 01:25:08 richard |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
1565 # Added some rollbacks where we were catching exceptions that would otherwise |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
1566 # have stopped committing. |
|
2441743e335b
Removed generation of change note from "sendmessage" in roundupdb.py.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
433
diff
changeset
|
1567 # |
|
433
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1568 # Revision 1.74 2001/12/02 05:06:16 richard |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1569 # . We now use weakrefs in the Classes to keep the database reference, so |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1570 # the close() method on the database is no longer needed. |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1571 # I bumped the minimum python requirement up to 2.1 accordingly. |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1572 # . #487480 ] roundup-server |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1573 # . #487476 ] INSTALL.txt |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1574 # |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1575 # I also cleaned up the change message / post-edit stuff in the cgi client. |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1576 # There's now a clearly marked "TODO: append the change note" where I believe |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1577 # the change note should be added there. The "changes" list will obviously |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1578 # have to be modified to be a dict of the changes, or somesuch. |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1579 # |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1580 # More testing needed. |
|
b1922e046bc1
Added some rollbacks...
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
1581 # |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1582 # Revision 1.73 2001/12/01 07:17:50 richard |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1583 # . We now have basic transaction support! Information is only written to |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1584 # the database when the commit() method is called. Only the anydbm |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1585 # backend is modified in this way - neither of the bsddb backends have been. |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1586 # The mail, admin and cgi interfaces all use commit (except the admin tool |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1587 # doesn't have a commit command, so interactive users can't commit...) |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1588 # . Fixed login/registration forwarding the user to the right page (or not, |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1589 # on a failure) |
|
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
430
diff
changeset
|
1590 # |
|
430
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1591 # Revision 1.72 2001/11/30 20:47:58 rochecompaan |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1592 # Links in page header are now consistent with default sort order. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1593 # |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1594 # Fixed bugs: |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1595 # - When login failed the list of issues were still rendered. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1596 # - User was redirected to index page and not to his destination url |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1597 # if his first login attempt failed. |
|
350685601f37
Database transactions.
Richard Jones <richard@users.sourceforge.net>
parents:
429
diff
changeset
|
1598 # |
|
429
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1599 # Revision 1.71 2001/11/30 20:28:10 rochecompaan |
|
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1600 # Property changes are now completely traceable, whether changes are |
|
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1601 # made through the web or by email |
|
fbfca7448422
Links in page header are now consistent with default sort order.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
428
diff
changeset
|
1602 # |
|
428
7956563d49ae
Property changes are now completely traceable, whether changes are
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
422
diff
changeset
|
1603 # Revision 1.70 2001/11/30 00:06:29 richard |
|
7956563d49ae
Property changes are now completely traceable, whether changes are
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
422
diff
changeset
|
1604 # Converted roundup/cgi_client.py to use _() |
|
7956563d49ae
Property changes are now completely traceable, whether changes are
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
422
diff
changeset
|
1605 # Added the status file, I18N_PROGRESS.txt |
|
7956563d49ae
Property changes are now completely traceable, whether changes are
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
422
diff
changeset
|
1606 # |
|
422
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1607 # Revision 1.69 2001/11/29 23:19:51 richard |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1608 # Removed the "This issue has been edited through the web" when a valid |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1609 # change note is supplied. |
|
0f9a59c90e53
Converted roundup/cgi_client.py to use _()
Richard Jones <richard@users.sourceforge.net>
parents:
421
diff
changeset
|
1610 # |
|
421
6bd365c63528
Removed the "This issue has been edited through the web"...
Richard Jones <richard@users.sourceforge.net>
parents:
420
diff
changeset
|
1611 # Revision 1.68 2001/11/29 04:57:23 richard |
|
6bd365c63528
Removed the "This issue has been edited through the web"...
Richard Jones <richard@users.sourceforge.net>
parents:
420
diff
changeset
|
1612 # a little comment |
|
6bd365c63528
Removed the "This issue has been edited through the web"...
Richard Jones <richard@users.sourceforge.net>
parents:
420
diff
changeset
|
1613 # |
|
420
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1614 # Revision 1.67 2001/11/28 21:55:35 richard |
|
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1615 # . login_action and newuser_action return values were being ignored |
|
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1616 # . Woohoo! Found that bloody re-login bug that was killing the mail |
|
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1617 # gateway. |
|
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1618 # (also a minor cleanup in hyperdb) |
|
d1e8a2e7236a
a little comment
Richard Jones <richard@users.sourceforge.net>
parents:
419
diff
changeset
|
1619 # |
|
419
831e91e23963
login_action and newuser_action return values were being ignored
Richard Jones <richard@users.sourceforge.net>
parents:
414
diff
changeset
|
1620 # Revision 1.66 2001/11/27 03:00:50 richard |
|
831e91e23963
login_action and newuser_action return values were being ignored
Richard Jones <richard@users.sourceforge.net>
parents:
414
diff
changeset
|
1621 # couple of bugfixes from latest patch integration |
|
831e91e23963
login_action and newuser_action return values were being ignored
Richard Jones <richard@users.sourceforge.net>
parents:
414
diff
changeset
|
1622 # |
|
414
fc6d03e9dbc1
couple of bugfixes from latest patch integration
Richard Jones <richard@users.sourceforge.net>
parents:
413
diff
changeset
|
1623 # Revision 1.65 2001/11/26 23:00:53 richard |
|
fc6d03e9dbc1
couple of bugfixes from latest patch integration
Richard Jones <richard@users.sourceforge.net>
parents:
413
diff
changeset
|
1624 # This config stuff is getting to be a real mess... |
|
fc6d03e9dbc1
couple of bugfixes from latest patch integration
Richard Jones <richard@users.sourceforge.net>
parents:
413
diff
changeset
|
1625 # |
|
413
aafe6980123d
This config stuff is getting to be a real mess...
Richard Jones <richard@users.sourceforge.net>
parents:
412
diff
changeset
|
1626 # Revision 1.64 2001/11/26 22:56:35 richard |
|
aafe6980123d
This config stuff is getting to be a real mess...
Richard Jones <richard@users.sourceforge.net>
parents:
412
diff
changeset
|
1627 # typo |
|
aafe6980123d
This config stuff is getting to be a real mess...
Richard Jones <richard@users.sourceforge.net>
parents:
412
diff
changeset
|
1628 # |
| 412 | 1629 # Revision 1.63 2001/11/26 22:55:56 richard |
| 1630 # Feature: | |
| 1631 # . Added INSTANCE_NAME to configuration - used in web and email to identify | |
| 1632 # the instance. | |
| 1633 # . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup | |
| 1634 # signature info in e-mails. | |
| 1635 # . Some more flexibility in the mail gateway and more error handling. | |
| 1636 # . Login now takes you to the page you back to the were denied access to. | |
| 1637 # | |
| 1638 # Fixed: | |
| 1639 # . Lots of bugs, thanks Roché and others on the devel mailing list! | |
| 1640 # | |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1641 # Revision 1.62 2001/11/24 00:45:42 jhermann |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1642 # typeof() instead of type(): avoid clash with database field(?) "type" |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1643 # |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1644 # Fixes this traceback: |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1645 # |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1646 # Traceback (most recent call last): |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1647 # File "roundup\cgi_client.py", line 535, in newnode |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1648 # self._post_editnode(nid) |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1649 # File "roundup\cgi_client.py", line 415, in _post_editnode |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1650 # if type(value) != type([]): value = [value] |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1651 # UnboundLocalError: local variable 'type' referenced before assignment |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
407
diff
changeset
|
1652 # |
|
407
a28c5c683151
typeof() instead of type(): avoid clash with database field(?) "type"
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1653 # Revision 1.61 2001/11/22 15:46:42 jhermann |
|
a28c5c683151
typeof() instead of type(): avoid clash with database field(?) "type"
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1654 # Added module docstrings to all modules. |
|
a28c5c683151
typeof() instead of type(): avoid clash with database field(?) "type"
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1655 # |
|
406
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
1656 # Revision 1.60 2001/11/21 22:57:28 jhermann |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
1657 # Added dummy hooks for I18N and some preliminary (test) markup of |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
1658 # translatable messages |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
399
diff
changeset
|
1659 # |
|
399
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
1660 # Revision 1.59 2001/11/21 03:21:13 richard |
|
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
1661 # oops |
|
96b0db9ad389
Added dummy hooks for I18N...
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
396
diff
changeset
|
1662 # |
| 396 | 1663 # Revision 1.58 2001/11/21 03:11:28 richard |
| 1664 # Better handling of new properties. | |
| 1665 # | |
|
395
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1666 # Revision 1.57 2001/11/15 10:24:27 richard |
|
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1667 # handle the case where there is no file attached |
|
d4b19c2ee740
Better handling of new properties.
Richard Jones <richard@users.sourceforge.net>
parents:
391
diff
changeset
|
1668 # |
|
391
399340646765
handle the case where there is no file attached
Richard Jones <richard@users.sourceforge.net>
parents:
390
diff
changeset
|
1669 # Revision 1.56 2001/11/14 21:35:21 richard |
|
399340646765
handle the case where there is no file attached
Richard Jones <richard@users.sourceforge.net>
parents:
390
diff
changeset
|
1670 # . users may attach files to issues (and support in ext) through the web now |
|
399340646765
handle the case where there is no file attached
Richard Jones <richard@users.sourceforge.net>
parents:
390
diff
changeset
|
1671 # |
|
390
a74ea8489896
users may attach files to issues (and support in ext) through the web now
Richard Jones <richard@users.sourceforge.net>
parents:
365
diff
changeset
|
1672 # Revision 1.55 2001/11/07 02:34:06 jhermann |
|
a74ea8489896
users may attach files to issues (and support in ext) through the web now
Richard Jones <richard@users.sourceforge.net>
parents:
365
diff
changeset
|
1673 # Handling of damaged login cookies |
|
a74ea8489896
users may attach files to issues (and support in ext) through the web now
Richard Jones <richard@users.sourceforge.net>
parents:
365
diff
changeset
|
1674 # |
|
365
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1675 # Revision 1.54 2001/11/07 01:16:12 richard |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1676 # Remove the '=' padding from cookie value so quoting isn't an issue. |
|
5088ff58d6e6
Handling of damaged login cookies
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
364
diff
changeset
|
1677 # |
|
364
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1678 # Revision 1.53 2001/11/06 23:22:05 jhermann |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1679 # More IE fixes: it does not like quotes around cookie values; in the |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1680 # hope this does not break anything for other browser; if it does, we |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1681 # need to check HTTP_USER_AGENT |
|
fb6c61537761
Remove the '=' padding from cookie value so quoting isn't an issue.
Richard Jones <richard@users.sourceforge.net>
parents:
363
diff
changeset
|
1682 # |
|
363
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1683 # Revision 1.52 2001/11/06 23:11:22 jhermann |
|
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1684 # Fixed debug output in page footer; added expiry date to the login cookie |
|
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1685 # (expires 1 year in the future) to prevent probs with certain versions |
|
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1686 # of IE |
|
2ad760f77a72
More IE fixes: it does not like quotes around cookie values.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
362
diff
changeset
|
1687 # |
|
362
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
1688 # Revision 1.51 2001/11/06 22:00:34 jhermann |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
1689 # Get debug level from ROUNDUP_DEBUG env var |
|
ccb394667145
Fixed debug output in page footer; added expiry date to the login cookie
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
357
diff
changeset
|
1690 # |
|
357
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
1691 # Revision 1.50 2001/11/05 23:45:40 richard |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
1692 # Fixed newuser_action so it sets the cookie with the unencrypted password. |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
1693 # Also made it present nicer error messages (not tracebacks). |
|
48ceb1667983
Get debug level from ROUNDUP_DEBUG env var
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
354
diff
changeset
|
1694 # |
|
354
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1695 # Revision 1.49 2001/11/04 03:07:12 richard |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1696 # Fixed various cookie-related bugs: |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1697 # . bug #477685 ] base64.decodestring breaks |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1698 # . bug #477837 ] lynx does not like the cookie |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1699 # . bug #477892 ] Password edit doesn't fix login cookie |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1700 # Also closed a security hole - a logged-in user could edit another user's |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1701 # details. |
|
f90abe9e811d
Fixed newuser_action so it sets the cookie with the unencrypted password.
Richard Jones <richard@users.sourceforge.net>
parents:
353
diff
changeset
|
1702 # |
|
353
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1703 # Revision 1.48 2001/11/03 01:30:18 richard |
|
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1704 # Oops. uses pagefoot now. |
|
6713716d8ae9
Fixed various cookie-related bugs:
Richard Jones <richard@users.sourceforge.net>
parents:
349
diff
changeset
|
1705 # |
|
349
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
1706 # Revision 1.47 2001/11/03 01:29:28 richard |
|
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
1707 # Login page didn't have all close tags. |
|
688dd65c0e75
Oops. uses pagefoot now.
Richard Jones <richard@users.sourceforge.net>
parents:
348
diff
changeset
|
1708 # |
|
348
870b24383309
Login page didn't have all close tags.
Richard Jones <richard@users.sourceforge.net>
parents:
347
diff
changeset
|
1709 # Revision 1.46 2001/11/03 01:26:55 richard |
|
870b24383309
Login page didn't have all close tags.
Richard Jones <richard@users.sourceforge.net>
parents:
347
diff
changeset
|
1710 # possibly fix truncated base64'ed user:pass |
|
870b24383309
Login page didn't have all close tags.
Richard Jones <richard@users.sourceforge.net>
parents:
347
diff
changeset
|
1711 # |
|
347
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1712 # Revision 1.45 2001/11/01 22:04:37 richard |
|
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1713 # Started work on supporting a pop3-fetching server |
|
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1714 # Fixed bugs: |
|
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1715 # . bug #477104 ] HTML tag error in roundup-server |
|
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1716 # . bug #477107 ] HTTP header problem |
|
db8514399149
possibly fix truncated base64'ed user:pass
Richard Jones <richard@users.sourceforge.net>
parents:
343
diff
changeset
|
1717 # |
|
343
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
1718 # Revision 1.44 2001/10/28 23:03:08 richard |
|
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
1719 # Added more useful header to the classic schema. |
|
ab16997d9cda
Started work on supporting a pop3-fetching server
Richard Jones <richard@users.sourceforge.net>
parents:
333
diff
changeset
|
1720 # |
|
333
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
1721 # Revision 1.43 2001/10/24 00:01:42 richard |
|
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
1722 # More fixes to lockout logic. |
|
4609a1ea94ff
Added more useful header to the classic schema.
Richard Jones <richard@users.sourceforge.net>
parents:
326
diff
changeset
|
1723 # |
|
326
36e812156746
More fixes to lockout logic.
Richard Jones <richard@users.sourceforge.net>
parents:
325
diff
changeset
|
1724 # Revision 1.42 2001/10/23 23:56:03 richard |
|
36e812156746
More fixes to lockout logic.
Richard Jones <richard@users.sourceforge.net>
parents:
325
diff
changeset
|
1725 # HTML typo |
|
36e812156746
More fixes to lockout logic.
Richard Jones <richard@users.sourceforge.net>
parents:
325
diff
changeset
|
1726 # |
| 325 | 1727 # Revision 1.41 2001/10/23 23:52:35 richard |
| 1728 # Fixed lock-out logic, thanks Roch'e for pointing out the problems. | |
| 1729 # | |
|
323
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1730 # Revision 1.40 2001/10/23 23:06:39 richard |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1731 # Some cleanup. |
|
c4a5922ffb74
Fixed lock-out logic, thanks Roch'e for pointing out the problems.
Richard Jones <richard@users.sourceforge.net>
parents:
322
diff
changeset
|
1732 # |
|
322
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1733 # Revision 1.39 2001/10/23 01:00:18 richard |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1734 # Re-enabled login and registration access after lopping them off via |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1735 # disabling access for anonymous users. |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1736 # Major re-org of the htmltemplate code, cleaning it up significantly. Fixed |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1737 # a couple of bugs while I was there. Probably introduced a couple, but |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1738 # things seem to work OK at the moment. |
|
62f5f2c404ec
Some cleanup.
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1739 # |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1740 # Revision 1.38 2001/10/22 03:25:01 richard |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1741 # Added configuration for: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1742 # . anonymous user access and registration (deny/allow) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1743 # . filter "widget" location on index page (top, bottom, both) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1744 # Updated some documentation. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1745 # |
|
316
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1746 # Revision 1.37 2001/10/21 07:26:35 richard |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1747 # feature #473127: Filenames. I modified the file.index and htmltemplate |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1748 # source so that the filename is used in the link and the creation |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1749 # information is displayed. |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1750 # |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1751 # Revision 1.36 2001/10/21 04:44:50 richard |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1752 # bug #473124: UI inconsistency with Link fields. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1753 # This also prompted me to fix a fairly long-standing usability issue - |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1754 # that of being able to turn off certain filters. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1755 # |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1756 # Revision 1.35 2001/10/21 00:17:54 richard |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1757 # CGI interface view customisation section may now be hidden (patch from |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1758 # Roch'e Compaan.) |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1759 # |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
1760 # Revision 1.34 2001/10/20 11:58:48 richard |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
1761 # Catch errors in login - no username or password supplied. |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
1762 # Fixed editing of password (Password property type) thanks Roch'e Compaan. |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
302
diff
changeset
|
1763 # |
|
302
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1764 # Revision 1.33 2001/10/17 00:18:41 richard |
|
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1765 # Manually constructing cookie headers now. |
|
d1fb3fcdb11b
Catch errors in login - no username or password supplied.
Richard Jones <richard@users.sourceforge.net>
parents:
295
diff
changeset
|
1766 # |
|
295
0eb026a5257d
Manually constructing cookie headers now.
Richard Jones <richard@users.sourceforge.net>
parents:
293
diff
changeset
|
1767 # Revision 1.32 2001/10/16 03:36:21 richard |
|
0eb026a5257d
Manually constructing cookie headers now.
Richard Jones <richard@users.sourceforge.net>
parents:
293
diff
changeset
|
1768 # CGI interface wasn't handling checkboxes at all. |
|
0eb026a5257d
Manually constructing cookie headers now.
Richard Jones <richard@users.sourceforge.net>
parents:
293
diff
changeset
|
1769 # |
|
293
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1770 # Revision 1.31 2001/10/14 10:55:00 richard |
|
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1771 # Handle empty strings in HTML template Link function |
|
956a9a86217b
CGI interface wasn't handling checkboxes at all.
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1772 # |
|
292
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
273
diff
changeset
|
1773 # Revision 1.30 2001/10/09 07:38:58 richard |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
273
diff
changeset
|
1774 # Pushed the base code for the extended schema CGI interface back into the |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
273
diff
changeset
|
1775 # code cgi_client module so that future updates will be less painful. |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
273
diff
changeset
|
1776 # Also removed a debugging print statement from cgi_client. |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
273
diff
changeset
|
1777 # |
|
273
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1778 # Revision 1.29 2001/10/09 07:25:59 richard |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1779 # Added the Password property type. See "pydoc roundup.password" for |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1780 # implementation details. Have updated some of the documentation too. |
|
45e32247aa33
Pushed the base code for the extended schema CGI interface back...
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1781 # |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1782 # Revision 1.28 2001/10/08 00:34:31 richard |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1783 # Change message was stuffing up for multilinks with no key property. |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
267
diff
changeset
|
1784 # |
|
267
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1785 # Revision 1.27 2001/10/05 02:23:24 richard |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1786 # . roundup-admin create now prompts for property info if none is supplied |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1787 # on the command-line. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1788 # . hyperdb Class getprops() method may now return only the mutable |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1789 # properties. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1790 # . Login now uses cookies, which makes it a whole lot more flexible. We can |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1791 # now support anonymous user access (read-only, unless there's an |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1792 # "anonymous" user, in which case write access is permitted). Login |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1793 # handling has been moved into cgi_client.Client.main() |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1794 # . The "extended" schema is now the default in roundup init. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1795 # . The schemas have had their page headings modified to cope with the new |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1796 # login handling. Existing installations should copy the interfaces.py |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1797 # file from the roundup lib directory to their instance home. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1798 # . Incorrectly had a Bizar Software copyright on the cgitb.py module from |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1799 # Ping - has been removed. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1800 # . Fixed a whole bunch of places in the CGI interface where we should have |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1801 # been returning Not Found instead of throwing an exception. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1802 # . Fixed a deviation from the spec: trying to modify the 'id' property of |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1803 # an item now throws an exception. |
|
ee5e1436ac91
Change message was stuffing up for multilinks with no key property.
Richard Jones <richard@users.sourceforge.net>
parents:
264
diff
changeset
|
1804 # |
|
264
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1805 # Revision 1.26 2001/09/12 08:31:42 richard |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1806 # handle cases where mime type is not guessable |
|
a671e5917b33
Many features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
247
diff
changeset
|
1807 # |
|
247
6aae5aaeab27
handle cases where mime type is not guessable
Richard Jones <richard@users.sourceforge.net>
parents:
238
diff
changeset
|
1808 # Revision 1.25 2001/08/29 05:30:49 richard |
|
6aae5aaeab27
handle cases where mime type is not guessable
Richard Jones <richard@users.sourceforge.net>
parents:
238
diff
changeset
|
1809 # change messages weren't being saved when there was no-one on the nosy list. |
|
6aae5aaeab27
handle cases where mime type is not guessable
Richard Jones <richard@users.sourceforge.net>
parents:
238
diff
changeset
|
1810 # |
|
238
b8cca914bb53
change messages weren't being saved when there was no-one on the nosy list.
Richard Jones <richard@users.sourceforge.net>
parents:
237
diff
changeset
|
1811 # Revision 1.24 2001/08/29 04:49:39 richard |
|
b8cca914bb53
change messages weren't being saved when there was no-one on the nosy list.
Richard Jones <richard@users.sourceforge.net>
parents:
237
diff
changeset
|
1812 # didn't clean up fully after debugging :( |
|
b8cca914bb53
change messages weren't being saved when there was no-one on the nosy list.
Richard Jones <richard@users.sourceforge.net>
parents:
237
diff
changeset
|
1813 # |
|
237
9ccdd87dc4d3
didn't clean up fully after debugging :(
Richard Jones <richard@users.sourceforge.net>
parents:
236
diff
changeset
|
1814 # Revision 1.23 2001/08/29 04:47:18 richard |
|
9ccdd87dc4d3
didn't clean up fully after debugging :(
Richard Jones <richard@users.sourceforge.net>
parents:
236
diff
changeset
|
1815 # Fixed CGI client change messages so they actually include the properties |
|
9ccdd87dc4d3
didn't clean up fully after debugging :(
Richard Jones <richard@users.sourceforge.net>
parents:
236
diff
changeset
|
1816 # changed (again). |
|
9ccdd87dc4d3
didn't clean up fully after debugging :(
Richard Jones <richard@users.sourceforge.net>
parents:
236
diff
changeset
|
1817 # |
|
236
8827f5931ea8
Fixed CGI client change messages...
Richard Jones <richard@users.sourceforge.net>
parents:
232
diff
changeset
|
1818 # Revision 1.22 2001/08/17 00:08:10 richard |
|
8827f5931ea8
Fixed CGI client change messages...
Richard Jones <richard@users.sourceforge.net>
parents:
232
diff
changeset
|
1819 # reverted back to sending messages always regardless of who is doing the web |
|
8827f5931ea8
Fixed CGI client change messages...
Richard Jones <richard@users.sourceforge.net>
parents:
232
diff
changeset
|
1820 # edit. change notes weren't being saved. bleah. hackish. |
|
8827f5931ea8
Fixed CGI client change messages...
Richard Jones <richard@users.sourceforge.net>
parents:
232
diff
changeset
|
1821 # |
|
232
d3edb94047a5
reverted back to sending messages always...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1822 # Revision 1.21 2001/08/15 23:43:18 richard |
|
d3edb94047a5
reverted back to sending messages always...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1823 # Fixed some isFooTypes that I missed. |
|
d3edb94047a5
reverted back to sending messages always...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1824 # Refactored some code in the CGI code. |
|
d3edb94047a5
reverted back to sending messages always...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1825 # |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1826 # Revision 1.20 2001/08/12 06:32:36 richard |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1827 # using isinstance(blah, Foo) now instead of isFooType |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1828 # |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1829 # Revision 1.19 2001/08/07 00:24:42 richard |
|
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1830 # stupid typo |
|
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1831 # |
| 214 | 1832 # Revision 1.18 2001/08/07 00:15:51 richard |
| 1833 # Added the copyright/license notice to (nearly) all files at request of | |
| 1834 # Bizar Software. | |
| 1835 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1836 # Revision 1.17 2001/08/02 06:38:17 richard |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1837 # Roundupdb now appends "mailing list" information to its messages which |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1838 # include the e-mail address and web interface address. Templates may |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1839 # override this in their db classes to include specific information (support |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1840 # instructions, etc). |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
188
diff
changeset
|
1841 # |
|
188
1536be43d2fa
Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents:
186
diff
changeset
|
1842 # Revision 1.16 2001/08/02 05:55:25 richard |
|
1536be43d2fa
Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents:
186
diff
changeset
|
1843 # Web edit messages aren't sent to the person who did the edit any more. No |
|
1536be43d2fa
Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents:
186
diff
changeset
|
1844 # message is generated if they are the only person on the nosy list. |
|
1536be43d2fa
Roundupdb now appends "mailing list" information to its messages...
Richard Jones <richard@users.sourceforge.net>
parents:
186
diff
changeset
|
1845 # |
|
186
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
1846 # Revision 1.15 2001/08/02 00:34:10 richard |
|
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
1847 # bleah syntax error |
|
61355a9483f4
Web edit messages aren't sent to the person who did the edit any more.
Richard Jones <richard@users.sourceforge.net>
parents:
181
diff
changeset
|
1848 # |
|
181
817750ead8d5
bleah syntax error
Richard Jones <richard@users.sourceforge.net>
parents:
178
diff
changeset
|
1849 # Revision 1.14 2001/08/02 00:26:16 richard |
|
817750ead8d5
bleah syntax error
Richard Jones <richard@users.sourceforge.net>
parents:
178
diff
changeset
|
1850 # Changed the order of the information in the message generated by web edits. |
|
817750ead8d5
bleah syntax error
Richard Jones <richard@users.sourceforge.net>
parents:
178
diff
changeset
|
1851 # |
|
178
1573a02b3254
Changed the order of the information in the message generated by web edits.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1852 # Revision 1.13 2001/07/30 08:12:17 richard |
|
1573a02b3254
Changed the order of the information in the message generated by web edits.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1853 # Added time logging and file uploading to the templates. |
|
1573a02b3254
Changed the order of the information in the message generated by web edits.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1854 # |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
1855 # Revision 1.12 2001/07/30 06:26:31 richard |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
1856 # Added some documentation on how the newblah works. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
163
diff
changeset
|
1857 # |
|
163
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1858 # Revision 1.11 2001/07/30 06:17:45 richard |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1859 # Features: |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1860 # . Added ability for cgi newblah forms to indicate that the new node |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1861 # should be linked somewhere. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1862 # Fixed: |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1863 # . Fixed the agument handling for the roundup-admin find command. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1864 # . Fixed handling of summary when no note supplied for newblah. Again. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1865 # . Fixed detection of no form in htmltemplate Field display. |
|
8f9a65510139
Added some documentation on how the newblah works.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1866 # |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
154
diff
changeset
|
1867 # Revision 1.10 2001/07/30 02:37:34 richard |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
154
diff
changeset
|
1868 # Temporary measure until we have decent schema migration... |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
154
diff
changeset
|
1869 # |
|
154
4fb5f59d8627
Temporary measure until we have decent schema migration...
Richard Jones <richard@users.sourceforge.net>
parents:
142
diff
changeset
|
1870 # Revision 1.9 2001/07/30 01:25:07 richard |
|
4fb5f59d8627
Temporary measure until we have decent schema migration...
Richard Jones <richard@users.sourceforge.net>
parents:
142
diff
changeset
|
1871 # Default implementation is now "classic" rather than "extended" as one would |
|
4fb5f59d8627
Temporary measure until we have decent schema migration...
Richard Jones <richard@users.sourceforge.net>
parents:
142
diff
changeset
|
1872 # expect. |
|
4fb5f59d8627
Temporary measure until we have decent schema migration...
Richard Jones <richard@users.sourceforge.net>
parents:
142
diff
changeset
|
1873 # |
|
142
664faa54d672
Default implementation is now "classic"...
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1874 # Revision 1.8 2001/07/29 08:27:40 richard |
|
664faa54d672
Default implementation is now "classic"...
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1875 # Fixed handling of passed-in values in form elements (ie. during a |
|
664faa54d672
Default implementation is now "classic"...
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1876 # drill-down) |
|
664faa54d672
Default implementation is now "classic"...
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1877 # |
|
128
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
1878 # Revision 1.7 2001/07/29 07:01:39 richard |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
1879 # Added vim command to all source so that we don't get no steenkin' tabs :) |
|
ce36f2962b94
Fixed handling of passed-in values in form elements (ie. during a drill-down)
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
1880 # |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
117
diff
changeset
|
1881 # Revision 1.6 2001/07/29 04:04:00 richard |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
117
diff
changeset
|
1882 # Moved some code around allowing for subclassing to change behaviour. |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
117
diff
changeset
|
1883 # |
|
117
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
1884 # Revision 1.5 2001/07/28 08:16:52 richard |
|
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
1885 # New issue form handles lack of note better now. |
|
63de7e04c74d
Moved some code around allowing for subclassing to change behaviour.
Richard Jones <richard@users.sourceforge.net>
parents:
115
diff
changeset
|
1886 # |
|
115
8775d545f41e
New issue form handles lack of note better now.
Richard Jones <richard@users.sourceforge.net>
parents:
103
diff
changeset
|
1887 # Revision 1.4 2001/07/28 00:34:34 richard |
|
8775d545f41e
New issue form handles lack of note better now.
Richard Jones <richard@users.sourceforge.net>
parents:
103
diff
changeset
|
1888 # Fixed some non-string node ids. |
|
8775d545f41e
New issue form handles lack of note better now.
Richard Jones <richard@users.sourceforge.net>
parents:
103
diff
changeset
|
1889 # |
|
103
381016730332
Fixed some non-string node ids.
Richard Jones <richard@users.sourceforge.net>
parents:
31
diff
changeset
|
1890 # Revision 1.3 2001/07/23 03:56:30 richard |
|
381016730332
Fixed some non-string node ids.
Richard Jones <richard@users.sourceforge.net>
parents:
31
diff
changeset
|
1891 # oops, missed a config removal |
|
381016730332
Fixed some non-string node ids.
Richard Jones <richard@users.sourceforge.net>
parents:
31
diff
changeset
|
1892 # |
|
31
6eebdf2bf262
oops, missed a config removal
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1893 # Revision 1.2 2001/07/22 12:09:32 richard |
|
6eebdf2bf262
oops, missed a config removal
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1894 # Final commit of Grande Splite |
|
6eebdf2bf262
oops, missed a config removal
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1895 # |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
1896 # Revision 1.1 2001/07/22 11:58:35 richard |
|
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
1897 # More Grande Splite |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1898 # |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
117
diff
changeset
|
1899 # |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
117
diff
changeset
|
1900 # vim: set filetype=python ts=4 sw=4 et si |
