Mercurial > p > roundup > code
annotate roundup/htmltemplate.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 | d92e06a3a56e |
| children | 250d0d517f64 |
| rev | line source |
|---|---|
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
1 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
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:
171
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:
171
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:
171
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:
171
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:
171
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:
171
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:
171
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
11 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
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:
171
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:
171
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:
171
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:
171
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:
171
diff
changeset
|
17 # |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
18 # $Id: htmltemplate.py,v 1.84.2.1 2002-04-19 19:54:42 rochecompaan Exp $ |
|
406
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
19 |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
20 __doc__ = """ |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
21 Template engine. |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
22 """ |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
24 import os, re, StringIO, urllib, cgi, errno, types |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
26 import hyperdb, date |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
27 from i18n import _ |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
29 # This imports the StructureText functionality for the do_stext function |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
30 # get it from http://dev.zope.org/Members/jim/StructuredTextWiki/NGReleases |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
31 try: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
32 from StructuredText.StructuredText import HTML as StructuredText |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
33 except ImportError: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
34 StructuredText = None |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
35 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
36 class MissingTemplateError(ValueError): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
37 '''Error raised when a template file is missing |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
38 ''' |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
39 pass |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
40 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
41 class TemplateFunctions: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
42 '''Defines the templating functions that are used in the HTML templates |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
43 of the roundup web interface. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
44 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
45 def __init__(self): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
46 self.form = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
47 self.nodeid = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
48 self.filterspec = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
49 self.globals = {} |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
50 for key in TemplateFunctions.__dict__.keys(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
51 if key[:3] == 'do_': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
52 self.globals[key[3:]] = getattr(self, key) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
54 # These are added by the subclass where appropriate |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
55 self.client = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
56 self.instance = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
57 self.templates = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
58 self.classname = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
59 self.db = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
60 self.cl = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
61 self.properties = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
62 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
63 def do_plain(self, property, escape=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
64 ''' display a String property directly; |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
66 display a Date property in a specified time zone with an option to |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
67 omit the time from the date stamp; |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
69 for a Link or Multilink property, display the key strings of the |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
70 linked nodes (or the ids if the linked class has no key property) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
71 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
73 return _('[Field: not called from item]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 propclass = self.properties[property] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 if self.nodeid: |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
76 # make sure the property is a valid one |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
77 # TODO: this tests, but we should handle the exception |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
78 dummy = self.cl.getprops()[property] |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
79 |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
80 # get the value for this property |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
81 try: |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
82 value = self.cl.get(self.nodeid, property) |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
83 except KeyError: |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
84 # a KeyError here means that the node doesn't have a value |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
85 # for the specified property |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
86 if isinstance(propclass, hyperdb.Multilink): value = [] |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
87 else: value = '' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 # TODO: pull the value from the form |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
90 if isinstance(propclass, hyperdb.Multilink): value = [] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 else: value = '' |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
92 if isinstance(propclass, hyperdb.String): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 if value is None: value = '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 else: value = str(value) |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
95 elif isinstance(propclass, hyperdb.Password): |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
96 if value is None: value = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
97 else: value = _('*encrypted*') |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
98 elif isinstance(propclass, hyperdb.Date): |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
99 # this gives "2002-01-17.06:54:39", maybe replace the "." by a " ". |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 value = str(value) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
101 elif isinstance(propclass, hyperdb.Interval): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 value = str(value) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
103 elif isinstance(propclass, hyperdb.Link): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 linkcl = self.db.classes[propclass.classname] |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
105 k = linkcl.labelprop() |
|
531
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
106 if value: |
|
535
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
107 value = linkcl.get(value, k) |
|
531
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
108 else: |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
109 value = _('[unselected]') |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
110 elif isinstance(propclass, hyperdb.Multilink): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 linkcl = self.db.classes[propclass.classname] |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
112 k = linkcl.labelprop() |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
113 labels = [] |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
114 for v in value: |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
115 labels.append(linkcl.get(v, k)) |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
116 value = ', '.join(labels) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
118 value = _('Plain: bad propclass "%(propclass)s"')%locals() |
|
250
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
119 if escape: |
|
342
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
120 value = cgi.escape(value) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
121 return value |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
122 |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
123 def do_stext(self, property, escape=0): |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
124 '''Render as structured text using the StructuredText module |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
125 (see above for details) |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
126 ''' |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
127 s = self.do_plain(property, escape=escape) |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
128 if not StructuredText: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
129 return s |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
130 return StructuredText(s,level=1,header=0) |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
131 |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
132 def determine_value(self, property): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
133 '''determine the value of a property using the node, form or |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
134 filterspec |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
135 ''' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
136 propclass = self.properties[property] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
137 if self.nodeid: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
138 value = self.cl.get(self.nodeid, property, None) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
139 if isinstance(propclass, hyperdb.Multilink) and value is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
140 return [] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
141 return value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
142 elif self.filterspec is not None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
143 if isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
144 return self.filterspec.get(property, []) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
145 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
146 return self.filterspec.get(property, '') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
147 # TODO: pull the value from the form |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
148 if isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
149 return [] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
150 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
151 return '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
152 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
153 def make_sort_function(self, classname): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
154 '''Make a sort function for a given class |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
155 ''' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
156 linkcl = self.db.classes[classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
157 if linkcl.getprops().has_key('order'): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
158 sort_on = 'order' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
159 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
160 sort_on = linkcl.labelprop() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
161 def sortfunc(a, b, linkcl=linkcl, sort_on=sort_on): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
162 return cmp(linkcl.get(a, sort_on), linkcl.get(b, sort_on)) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
163 return sortfunc |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
164 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
165 def do_field(self, property, size=None, showid=0): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
166 ''' display a property like the plain displayer, but in a text field |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
167 to be edited |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
168 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
169 Note: if you would prefer an option list style display for |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
170 link or multilink editing, use menu(). |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
171 ''' |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
172 if not self.nodeid and self.form is None and self.filterspec is None: |
|
401
a930feb07dc4
Added globbing for win32, and sample marking in a 2nd file to test it
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
398
diff
changeset
|
173 return _('[Field: not called from item]') |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
174 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
175 if size is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
176 size = 30 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
177 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
178 propclass = self.properties[property] |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
179 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
180 # get the value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
181 value = self.determine_value(property) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
182 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
183 # now display |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
184 if (isinstance(propclass, hyperdb.String) or |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
185 isinstance(propclass, hyperdb.Date) or |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
186 isinstance(propclass, hyperdb.Interval)): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
187 if value is None: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
188 value = '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
189 else: |
|
525
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
190 value = cgi.escape(str(value)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
191 value = '"'.join(value.split('"')) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
192 s = '<input name="%s" value="%s" size="%s">'%(property, value, size) |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
193 elif isinstance(propclass, hyperdb.Password): |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
194 s = '<input type="password" name="%s" size="%s">'%(property, size) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
195 elif isinstance(propclass, hyperdb.Link): |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
196 sortfunc = self.make_sort_function(propclass.classname) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
197 linkcl = self.db.classes[propclass.classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
198 options = linkcl.list() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
199 options.sort(sortfunc) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
200 # TODO: make this a field display, not a menu one! |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
201 l = ['<select name="%s">'%property] |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
202 k = linkcl.labelprop() |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
203 if value is None: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
204 s = 'selected ' |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
205 else: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
206 s = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
207 l.append(_('<option %svalue="-1">- no selection -</option>')%s) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
208 for optionid in options: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
209 option = linkcl.get(optionid, k) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
210 s = '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
211 if optionid == value: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
212 s = 'selected ' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
213 if showid: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
214 lab = '%s%s: %s'%(propclass.classname, optionid, option) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
215 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
216 lab = option |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
217 if size is not None and len(lab) > size: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
218 lab = lab[:size-3] + '...' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
219 lab = cgi.escape(lab) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
220 l.append('<option %svalue="%s">%s</option>'%(s, optionid, lab)) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
221 l.append('</select>') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
222 s = '\n'.join(l) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
223 elif isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
224 sortfunc = self.make_sort_function(propclass.classname) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
225 linkcl = self.db.classes[propclass.classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
226 list = linkcl.list() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
227 list.sort(sortfunc) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
228 l = [] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
229 # map the id to the label property |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
230 if not showid: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
231 k = linkcl.labelprop() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
232 value = [linkcl.get(v, k) for v in value] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
233 value = cgi.escape(','.join(value)) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
234 s = '<input name="%s" size="%s" value="%s">'%(property, size, value) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
235 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
236 s = _('Plain: bad propclass "%(propclass)s"')%locals() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
237 return s |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
238 |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
239 def do_multiline(self, property, rows=5, cols=40): |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
240 ''' display a string property in a multiline text edit field |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
241 ''' |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
242 if not self.nodeid and self.form is None and self.filterspec is None: |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
243 return _('[Multiline: not called from item]') |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
244 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
245 propclass = self.properties[property] |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
246 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
247 # make sure this is a link property |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
248 if not isinstance(propclass, hyperdb.String): |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
249 return _('[Multiline: not a string]') |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
250 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
251 # get the value |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
252 value = self.determine_value(property) |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
253 if value is None: |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
254 value = '' |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
255 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
256 # display |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
257 return '<textarea name="%s" rows="%s" cols="%s">%s</textarea>'%( |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
258 property, rows, cols, value) |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
259 |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
260 def do_menu(self, property, size=None, height=None, showid=0): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
261 ''' for a Link property, display a menu of the available choices |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
262 ''' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
263 if not self.nodeid and self.form is None and self.filterspec is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
264 return _('[Field: not called from item]') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
265 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
266 propclass = self.properties[property] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
267 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
268 # make sure this is a link property |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
269 if not (isinstance(propclass, hyperdb.Link) or |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
270 isinstance(propclass, hyperdb.Multilink)): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
271 return _('[Menu: not a link]') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
272 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
273 # sort function |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
274 sortfunc = self.make_sort_function(propclass.classname) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
275 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
276 # get the value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
277 value = self.determine_value(property) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
278 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
279 # display |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
280 if isinstance(propclass, hyperdb.Multilink): |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
281 linkcl = self.db.classes[propclass.classname] |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
282 options = linkcl.list() |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
283 options.sort(sortfunc) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
284 height = height or min(len(options), 7) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
285 l = ['<select multiple name="%s" size="%s">'%(property, height)] |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
286 k = linkcl.labelprop() |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
287 for optionid in options: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
288 option = linkcl.get(optionid, k) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
289 s = '' |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
290 if optionid in value or option in value: |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
291 s = 'selected ' |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
292 if showid: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
293 lab = '%s%s: %s'%(propclass.classname, optionid, option) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
294 else: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
295 lab = option |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
296 if size is not None and len(lab) > size: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
297 lab = lab[:size-3] + '...' |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
298 lab = cgi.escape(lab) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
299 l.append('<option %svalue="%s">%s</option>'%(s, optionid, |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
300 lab)) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
301 l.append('</select>') |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
302 return '\n'.join(l) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
303 if isinstance(propclass, hyperdb.Link): |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
304 # force the value to be a single choice |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
305 if type(value) is types.ListType: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
306 value = value[0] |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
307 linkcl = self.db.classes[propclass.classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
308 l = ['<select name="%s">'%property] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
309 k = linkcl.labelprop() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
310 s = '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
311 if value is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
312 s = 'selected ' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
313 l.append(_('<option %svalue="-1">- no selection -</option>')%s) |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
314 options = linkcl.list() |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
315 options.sort(sortfunc) |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
316 for optionid in options: |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
317 option = linkcl.get(optionid, k) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
318 s = '' |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
319 if value in [optionid, option]: |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
320 s = 'selected ' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
321 if showid: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
322 lab = '%s%s: %s'%(propclass.classname, optionid, option) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
323 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
324 lab = option |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
325 if size is not None and len(lab) > size: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
326 lab = lab[:size-3] + '...' |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
327 lab = cgi.escape(lab) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
328 l.append('<option %svalue="%s">%s</option>'%(s, optionid, lab)) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
329 l.append('</select>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
330 return '\n'.join(l) |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
331 return _('[Menu: not a link]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
332 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
333 #XXX deviates from spec |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
334 def do_link(self, property=None, is_download=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
335 '''For a Link or Multilink property, display the names of the linked |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
336 nodes, hyperlinked to the item views on those nodes. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
337 For other properties, link to this node with the property as the |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
338 text. |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
339 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
340 If is_download is true, append the property value to the generated |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
341 URL so that the link may be used as a download link and the |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
342 downloaded file name is correct. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
343 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
344 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
345 return _('[Link: not called from item]') |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
346 |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
347 # get the value |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
348 value = self.determine_value(property) |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
349 if not value: |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
350 return _('[no %(propname)s]')%{'propname':property.capitalize()} |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
351 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
352 propclass = self.properties[property] |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
353 if isinstance(propclass, hyperdb.Link): |
|
245
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
354 linkname = propclass.classname |
|
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
355 linkcl = self.db.classes[linkname] |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
356 k = linkcl.labelprop() |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
357 linkvalue = cgi.escape(linkcl.get(value, k)) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
358 if is_download: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
359 return '<a href="%s%s/%s">%s</a>'%(linkname, value, |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
360 linkvalue, linkvalue) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
361 else: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
362 return '<a href="%s%s">%s</a>'%(linkname, value, linkvalue) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
363 if isinstance(propclass, hyperdb.Multilink): |
|
245
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
364 linkname = propclass.classname |
|
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
365 linkcl = self.db.classes[linkname] |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
366 k = linkcl.labelprop() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
367 l = [] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
368 for value in value: |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
369 linkvalue = cgi.escape(linkcl.get(value, k)) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
370 if is_download: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
371 l.append('<a href="%s%s/%s">%s</a>'%(linkname, value, |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
372 linkvalue, linkvalue)) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
373 else: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
374 l.append('<a href="%s%s">%s</a>'%(linkname, value, |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
375 linkvalue)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
376 return ', '.join(l) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
377 if is_download: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
378 return '<a href="%s%s/%s">%s</a>'%(self.classname, self.nodeid, |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
379 value, value) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
380 else: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
381 return '<a href="%s%s">%s</a>'%(self.classname, self.nodeid, value) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
382 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
383 def do_count(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
384 ''' for a Multilink property, display a count of the number of links in |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
385 the list |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
386 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
387 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
388 return _('[Count: not called from item]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
389 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
390 propclass = self.properties[property] |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
391 if not isinstance(propclass, hyperdb.Multilink): |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
392 return _('[Count: not a Multilink]') |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
393 |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
394 # figure the length then... |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
395 value = self.cl.get(self.nodeid, property) |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
396 return str(len(value)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
397 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
398 # XXX pretty is definitely new ;) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
399 def do_reldate(self, property, pretty=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
400 ''' display a Date property in terms of an interval relative to the |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
401 current date (e.g. "+ 3w", "- 2d"). |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
402 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
403 with the 'pretty' flag, make it pretty |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
404 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
405 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
406 return _('[Reldate: not called from item]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
407 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
408 propclass = self.properties[property] |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
409 if not isinstance(propclass, hyperdb.Date): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
410 return _('[Reldate: not a Date]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
411 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
412 if self.nodeid: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
413 value = self.cl.get(self.nodeid, property) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
414 else: |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
415 return '' |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
416 if not value: |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
417 return '' |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
418 |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
419 # figure the interval |
|
640
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
420 interval = date.Date('.') - value |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
421 if pretty: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
422 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
423 return _('now') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
424 pretty = interval.pretty() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
425 if pretty is None: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
426 pretty = value.pretty() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
427 return pretty |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
428 return str(interval) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
429 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
430 def do_download(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
431 ''' show a Link("file") or Multilink("file") property using links that |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
432 allow you to download files |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
433 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
434 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
435 return _('[Download: not called from item]') |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
436 return self.do_link(property, is_download=1) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
437 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
438 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
439 def do_checklist(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
440 ''' for a Link or Multilink property, display checkboxes for the |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
441 available choices to permit filtering |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
442 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
443 propclass = self.properties[property] |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
444 if (not isinstance(propclass, hyperdb.Link) and not |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
445 isinstance(propclass, hyperdb.Multilink)): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
446 return _('[Checklist: not a link]') |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
447 |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
448 # get our current checkbox state |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
449 if self.nodeid: |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
450 # get the info from the node - make sure it's a list |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
451 if isinstance(propclass, hyperdb.Link): |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
452 value = [self.cl.get(self.nodeid, property)] |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
453 else: |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
454 value = self.cl.get(self.nodeid, property) |
|
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
|
455 elif self.filterspec is not None: |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
456 # get the state from the filter specification (always a list) |
|
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
|
457 value = self.filterspec.get(property, []) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
458 else: |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
459 # it's a new node, so there's no state |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
460 value = [] |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
461 |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
462 # so we can map to the linked node's "lable" property |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
463 linkcl = self.db.classes[propclass.classname] |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
464 l = [] |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
465 k = linkcl.labelprop() |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
466 for optionid in linkcl.list(): |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
467 option = cgi.escape(linkcl.get(optionid, k)) |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
468 if optionid in value or option in value: |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
469 checked = 'checked' |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
470 else: |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
471 checked = '' |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
472 l.append('%s:<input type="checkbox" %s name="%s" value="%s">'%( |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
473 option, checked, property, option)) |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
474 |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
475 # for Links, allow the "unselected" option too |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
476 if isinstance(propclass, hyperdb.Link): |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
477 if value is None or '-1' in value: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
478 checked = 'checked' |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
479 else: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
480 checked = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
481 l.append(_('[unselected]:<input type="checkbox" %s name="%s" ' |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
482 'value="-1">')%(checked, property)) |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
483 return '\n'.join(l) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
484 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
485 def do_note(self, rows=5, cols=80): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
486 ''' display a "note" field, which is a text area for entering a note to |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
487 go along with a change. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
488 ''' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
489 # TODO: pull the value from the form |
|
342
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
490 return '<textarea name="__note" wrap="hard" rows=%s cols=%s>'\ |
|
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
491 '</textarea>'%(rows, cols) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
492 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
493 # XXX new function |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
494 def do_list(self, property, reverse=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
495 ''' list the items specified by property using the standard index for |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
496 the class |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
497 ''' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
498 propcl = self.properties[property] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
499 if not isinstance(propcl, hyperdb.Multilink): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
500 return _('[List: not a Multilink]') |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
501 |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
502 value = self.determine_value(property) |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
503 if not value: |
|
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
504 return '' |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
505 |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
506 # sort, possibly revers and then re-stringify |
|
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
507 value = map(int, value) |
|
576
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
508 value.sort() |
|
244
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
509 if reverse: |
|
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
510 value.reverse() |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
511 value = map(str, value) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
512 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
513 # render the sub-index into a string |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
514 fp = StringIO.StringIO() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
515 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
516 write_save = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
517 self.client.write = fp.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
518 index = IndexTemplate(self.client, self.templates, propcl.classname) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
519 index.render(nodeids=value, show_display_form=0) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
520 finally: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
521 self.client.write = write_save |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
522 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
523 return fp.getvalue() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
524 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
525 # XXX new function |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
526 def do_history(self, direction='descending'): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
527 ''' list the history of the item |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
528 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
529 If "direction" is 'descending' then the most recent event will |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
530 be displayed first. If it is 'ascending' then the oldest event |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
531 will be displayed first. |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
532 ''' |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
533 if self.nodeid is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
534 return _("[History: node doesn't exist]") |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
535 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
536 l = ['<table width=100% border=0 cellspacing=0 cellpadding=2>', |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
537 '<tr class="list-header">', |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
538 _('<th align=left><span class="list-item">Date</span></th>'), |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
539 _('<th align=left><span class="list-item">User</span></th>'), |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
540 _('<th align=left><span class="list-item">Action</span></th>'), |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
541 _('<th align=left><span class="list-item">Args</span></th>'), |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
542 '</tr>'] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
543 |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
544 comments = {} |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
545 history = self.cl.history(self.nodeid) |
|
576
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
546 history.sort() |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
547 if direction == 'descending': |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
548 history.reverse() |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
549 for id, evt_date, user, action, args in history: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
550 date_s = str(evt_date).replace("."," ") |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
551 arg_s = '' |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
552 if action == 'link' and type(args) == type(()): |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
553 if len(args) == 3: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
554 linkcl, linkid, key = args |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
555 arg_s += '<a href="%s%s">%s%s %s</a>'%(linkcl, linkid, |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
556 linkcl, linkid, key) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
557 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
558 arg_s = str(args) |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
559 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
560 elif action == 'unlink' and type(args) == type(()): |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
561 if len(args) == 3: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
562 linkcl, linkid, key = args |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
563 arg_s += '<a href="%s%s">%s%s %s</a>'%(linkcl, linkid, |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
564 linkcl, linkid, key) |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
565 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
566 arg_s = str(args) |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
567 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
568 elif type(args) == type({}): |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
569 cell = [] |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
570 for k in args.keys(): |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
571 # try to get the relevant property and treat it |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
572 # specially |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
573 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
574 prop = self.properties[k] |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
575 except: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
576 prop = None |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
577 if prop is not None: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
578 if args[k] and (isinstance(prop, hyperdb.Multilink) or |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
579 isinstance(prop, hyperdb.Link)): |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
580 # figure what the link class is |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
581 classname = prop.classname |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
582 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
583 linkcl = self.db.classes[classname] |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
584 except KeyError: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
585 labelprop = None |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
586 comments[classname] = _('''The linked class |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
587 %(classname)s no longer exists''')%locals() |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
588 labelprop = linkcl.labelprop() |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
589 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
590 if isinstance(prop, hyperdb.Multilink) and \ |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
591 len(args[k]) > 0: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
592 ml = [] |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
593 for linkid in args[k]: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
594 label = classname + linkid |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
595 # if we have a label property, try to use it |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
596 # TODO: test for node existence even when |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
597 # there's no labelprop! |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
598 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
599 if labelprop is not None: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
600 label = linkcl.get(linkid, labelprop) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
601 except IndexError: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
602 comments['no_link'] = _('''<strike>The |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
603 linked node no longer |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
604 exists</strike>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
605 ml.append('<strike>%s</strike>'%label) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
606 else: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
607 ml.append('<a href="%s%s">%s</a>'%( |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
608 classname, linkid, label)) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
609 cell.append('%s:\n %s'%(k, ',\n '.join(ml))) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
610 elif isinstance(prop, hyperdb.Link) and args[k]: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
611 label = classname + args[k] |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
612 # if we have a label property, try to use it |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
613 # TODO: test for node existence even when |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
614 # there's no labelprop! |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
615 if labelprop is not None: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
616 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
617 label = linkcl.get(args[k], labelprop) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
618 except IndexError: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
619 comments['no_link'] = _('''<strike>The |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
620 linked node no longer |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
621 exists</strike>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
622 cell.append(' <strike>%s</strike>,\n'%label) |
|
556
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
623 # "flag" this is done .... euwww |
|
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
624 label = None |
|
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
625 if label is not None: |
| 558 | 626 cell.append('%s: <a href="%s%s">%s</a>\n'%(k, |
| 627 classname, args[k], label)) | |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
628 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
629 elif isinstance(prop, hyperdb.Date) and args[k]: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
630 d = date.Date(args[k]) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
631 cell.append('%s: %s'%(k, str(d))) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
632 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
633 elif isinstance(prop, hyperdb.Interval) and args[k]: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
634 d = date.Interval(args[k]) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
635 cell.append('%s: %s'%(k, str(d))) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
636 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
637 elif not args[k]: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
638 cell.append('%s: (no value)\n'%k) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
639 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
640 else: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
641 cell.append('%s: %s\n'%(k, str(args[k]))) |
|
548
3f25182ed425
display superseder as html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
547
diff
changeset
|
642 else: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
643 # property no longer exists |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
644 comments['no_exist'] = _('''<em>The indicated property |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
645 no longer exists</em>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
646 cell.append('<em>%s: %s</em>\n'%(k, str(args[k]))) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
647 arg_s = '<br />'.join(cell) |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
648 else: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
649 # unkown event!! |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
650 comments['unknown'] = _('''<strong><em>This event is not |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
651 handled by the history display!</em></strong>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
652 arg_s = '<strong><em>' + str(args) + '</em></strong>' |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
653 date_s = date_s.replace(' ', ' ') |
|
554
7e7b4183a8bd
add nowrap to history table date cell i.e. <td nowrap ...
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
552
diff
changeset
|
654 l.append('<tr><td nowrap valign=top>%s</td><td valign=top>%s</td>' |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
655 '<td valign=top>%s</td><td valign=top>%s</td></tr>'%(date_s, |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
656 user, action, arg_s)) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
657 if comments: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
658 l.append(_('<tr><td colspan=4><strong>Note:</strong></td></tr>')) |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
659 for entry in comments.values(): |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
660 l.append('<tr><td colspan=4>%s</td></tr>'%entry) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
661 l.append('</table>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
662 return '\n'.join(l) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
663 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
664 # XXX new function |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
665 def do_submit(self): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
666 ''' add a submit button for the item |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
667 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
668 if self.nodeid: |
|
526
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
669 return _('<input type="submit" name="submit" value="Submit Changes">') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
670 elif self.form is not None: |
|
526
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
671 return _('<input type="submit" name="submit" value="Submit New Entry">') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
672 else: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
673 return _('[Submit: not called from item]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
674 |
| 639 | 675 def do_classhelp(self, classname, properties, label='?', width='400', |
| 676 height='400'): | |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
677 '''pop up a javascript window with class help |
| 639 | 678 |
| 679 This generates a link to a popup window which displays the | |
| 680 properties indicated by "properties" of the class named by | |
| 681 "classname". The "properties" should be a comma-separated list | |
| 682 (eg. 'id,name,description'). | |
| 683 | |
| 684 You may optionally override the label displayed, the width and | |
| 685 height. The popup window will be resizable and scrollable. | |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
686 ''' |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
687 return '<a href="javascript:help_window(\'classhelp?classname=%s&' \ |
|
638
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
688 'properties=%s\', \'%s\', \'%s\')"><b>(%s)</b></a>'%(classname, |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
689 properties, width, height, label) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
690 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
691 # INDEX TEMPLATES |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
692 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
693 class IndexTemplateReplace: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
694 '''Regular-expression based parser that turns the template into HTML. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
695 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
696 def __init__(self, globals, locals, props): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
697 self.globals = globals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
698 self.locals = locals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
699 self.props = props |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
700 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
701 replace=re.compile( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
702 r'((<property\s+name="(?P<name>[^>]+)">(?P<text>.+?)</property>)|' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
703 r'(?P<display><display\s+call="(?P<command>[^"]+)">))', re.I|re.S) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
704 def go(self, text): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
705 return self.replace.sub(self, text) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
706 |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
707 def __call__(self, m, search_text=None, filter=None, columns=None, |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
708 sort=None, group=None): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
709 if m.group('name'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
710 if m.group('name') in self.props: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
711 text = m.group('text') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
712 replace = IndexTemplateReplace(self.globals, {}, self.props) |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
713 return replace.go(text) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
714 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
715 return '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
716 if m.group('display'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
717 command = m.group('command') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
718 return eval(command, self.globals, self.locals) |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
719 return '*** unhandled match: %s'%str(m.groupdict()) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
720 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
721 class IndexTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
722 '''Templating functionality specifically for index pages |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
723 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
724 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
725 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
726 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
727 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
728 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
729 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
730 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
731 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
732 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
733 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
734 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
735 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
736 col_re=re.compile(r'<property\s+name="([^>]+)">') |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
737 def render(self, filterspec={}, search_text='', filter=[], columns=[], |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
738 sort=[], group=[], show_display_form=1, nodeids=None, |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
739 show_customization=1): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
740 self.filterspec = filterspec |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
741 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
742 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
743 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
744 # get the filter template |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
745 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
746 filter_template = open(os.path.join(self.templates, |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
747 self.classname+'.filter')).read() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
748 all_filters = self.col_re.findall(filter_template) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
749 except IOError, error: |
|
332
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
750 if error.errno not in (errno.ENOENT, errno.ESRCH): raise |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
751 filter_template = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
752 all_filters = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
753 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
754 # XXX deviate from spec here ... |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
755 # load the index section template and figure the default columns from it |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
756 try: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
757 template = open(os.path.join(self.templates, |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
758 self.classname+'.index')).read() |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
759 except IOError, error: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
760 if error.errno not in (errno.ENOENT, errno.ESRCH): raise |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
761 raise MissingTemplateError, self.classname+'.index' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
762 all_columns = self.col_re.findall(template) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
763 if not columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
764 columns = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
765 for name in all_columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
766 columns.append(name) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
767 else: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
768 # re-sort columns to be the same order as all_columns |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
769 l = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
770 for name in all_columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
771 if name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
772 l.append(name) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
773 columns = l |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
774 |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
775 # display the filter section |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
776 if (show_display_form and |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
777 self.instance.FILTER_POSITION in ('top and bottom', 'top')): |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
778 w('<form onSubmit="return submit_once()" action="%s">\n'%self.classname) |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
779 self.filter_section(filter_template, filter, columns, group, |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
780 all_filters, all_columns, show_customization) |
|
350
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
781 # make sure that the sorting doesn't get lost either |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
782 if sort: |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
783 w('<input type="hidden" name=":sort" value="%s">'% |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
784 ','.join(sort)) |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
785 w('</form>\n') |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
786 |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
787 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
788 # now display the index section |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
789 w('<table width=100% border=0 cellspacing=0 cellpadding=2>\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
790 w('<tr class="list-header">\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
791 for name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
792 cname = name.capitalize() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
793 if show_display_form: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
794 sb = self.sortby(name, filterspec, columns, filter, group, sort) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
795 anchor = "%s?%s"%(self.classname, sb) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
796 w('<td><span class="list-header"><a href="%s">%s</a></span></td>\n'%( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
797 anchor, cname)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
798 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
799 w('<td><span class="list-header">%s</span></td>\n'%cname) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
800 w('</tr>\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
801 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
802 # this stuff is used for group headings - optimise the group names |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
803 old_group = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
804 group_names = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
805 if group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
806 for name in group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
807 if name[0] == '-': group_names.append(name[1:]) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
808 else: group_names.append(name) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
809 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
810 # now actually loop through all the nodes we get from the filter and |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
811 # apply the template |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
812 matches = None |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
813 if nodeids is None: |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
814 matches = self.client.indexer.search(search_text.split(' '), |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
815 self.cl) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
816 nodeids = self.cl.filter(matches, filterspec, sort, group) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
817 for nodeid in nodeids: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
818 # check for a group heading |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
819 if group_names: |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
820 this_group = [self.cl.get(nodeid, name, _('[no value]')) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
821 for name in group_names] |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
822 if this_group != old_group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
823 l = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
824 for name in group_names: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
825 prop = self.properties[name] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
826 if isinstance(prop, hyperdb.Link): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
827 group_cl = self.db.classes[prop.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
828 key = group_cl.getkey() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
829 value = self.cl.get(nodeid, name) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
830 if value is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
831 l.append(_('[unselected %(classname)s]')%{ |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
832 'classname': prop.classname}) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
833 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
834 l.append(group_cl.get(self.cl.get(nodeid, |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
835 name), key)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
836 elif isinstance(prop, hyperdb.Multilink): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
837 group_cl = self.db.classes[prop.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
838 key = group_cl.getkey() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
839 for value in self.cl.get(nodeid, name): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
840 l.append(group_cl.get(value, key)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
841 else: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
842 value = self.cl.get(nodeid, name, _('[no value]')) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
843 if value is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
844 value = _('[empty %(name)s]')%locals() |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
845 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
846 value = str(value) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
847 l.append(value) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
848 w('<tr class="section-bar">' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
849 '<td align=middle colspan=%s><strong>%s</strong></td></tr>'%( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
850 len(columns), ', '.join(l))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
851 old_group = this_group |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
852 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
853 # display this node's row |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
854 replace = IndexTemplateReplace(self.globals, locals(), columns) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
855 self.nodeid = nodeid |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
856 w(replace.go(template)) |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
857 if matches: |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
858 self.node_matches(matches[nodeid], len(columns)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
859 self.nodeid = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
860 |
|
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
|
861 w('</table>') |
|
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
|
862 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
863 # display the filter section |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
864 if (show_display_form and hasattr(self.instance, 'FILTER_POSITION') and |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
865 self.instance.FILTER_POSITION in ('top and bottom', 'bottom')): |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
866 w('<form onSubmit="return submit_once()" action="%s">\n'%self.classname) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
867 self.filter_section(filter_template, filter, columns, group, |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
868 all_filters, all_columns, show_customization) |
|
350
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
869 # make sure that the sorting doesn't get lost either |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
870 if sort: |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
871 w('<input type="hidden" name=":sort" value="%s">'% |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
872 ','.join(sort)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
873 w('</form>\n') |
|
316
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
874 |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
875 def node_matches(self, match, colspan): |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
876 ''' display the files and messages for a node that matched a |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
877 full text search |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
878 ''' |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
879 w = self.client.write |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
880 |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
881 message_links = [] |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
882 file_links = [] |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
883 if match.has_key('messages'): |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
884 for msgid in match['messages']: |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
885 k = self.db.msg.labelprop() |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
886 lab = self.db.msg.get(msgid, k) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
887 msgpath = 'msg%s'%msgid |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
888 message_links.append('<a href="%(msgpath)s">%(lab)s</a>' |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
889 %locals()) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
890 w(_('<tr class="row-hilite"><td colspan="%s">' |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
891 ' Matched messages: %s</td></tr>')%( |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
892 colspan, ', '.join(message_links))) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
893 |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
894 if match.has_key('files'): |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
895 for fileid in match['files']: |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
896 filename = self.db.file.get(fileid, 'name') |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
897 filepath = 'file%s/%s'%(fileid, filename) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
898 file_links.append('<a href="%(filepath)s">%(filename)s</a>' |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
899 %locals()) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
900 w(_('<tr class="row-hilite"><td colspan="%s">' |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
901 ' Matched files: %s</td></tr>')%( |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
902 colspan, ', '.join(file_links))) |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
903 |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
904 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
905 def filter_section(self, template, filter, columns, group, all_filters, |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
906 all_columns, show_customization): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
907 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
908 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
909 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
910 # wrap the template in a single table to ensure the whole widget |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
911 # is displayed at once |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
912 w('<table><tr><td>') |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
913 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
914 if template and filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
915 # display the filter section |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
916 w('<table width=100% border=0 cellspacing=0 cellpadding=2>') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
917 w('<tr class="location-bar">') |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
918 w(_(' <th align="left" colspan="2">Filter specification...</th>')) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
919 w('</tr>') |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
920 w('<tr>') |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
921 w('<th class="location-bar">Search terms</th>') |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
922 w('<td><input name="search_text" size="50"></td>') |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
923 w('</tr>') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
924 replace = IndexTemplateReplace(self.globals, locals(), filter) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
925 w(replace.go(template)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
926 w('<tr class="location-bar"><td width="1%%"> </td>') |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
927 w(_('<td><input type="submit" name="action" value="Redisplay"></td></tr>')) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
928 w('</table>') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
929 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
930 # now add in the filter/columns/group/etc config table form |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
931 w('<input type="hidden" name="show_customization" value="%s">' % |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
932 show_customization ) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
933 w('<table width=100% border=0 cellspacing=0 cellpadding=2>\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
934 names = [] |
| 623 | 935 seen = {} |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
936 for name in all_filters + all_columns: |
|
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
937 if self.properties.has_key(name) and not seen.has_key(name): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
938 names.append(name) |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
939 seen[name] = 1 |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
940 if show_customization: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
941 action = '-' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
942 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
943 action = '+' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
944 # hide the values for filters, columns and grouping in the form |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
945 # if the customization widget is not visible |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
946 for name in names: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
947 if all_filters and name in filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
948 w('<input type="hidden" name=":filter" value="%s">' % name) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
949 if all_columns and name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
950 w('<input type="hidden" name=":columns" value="%s">' % name) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
951 if all_columns and name in group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
952 w('<input type="hidden" name=":group" value="%s">' % name) |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
953 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
954 # TODO: The widget style can go into the stylesheet |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
955 w(_('<th align="left" colspan=%s>' |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
956 '<input style="height : 1em; width : 1em; font-size: 12pt" type="submit" name="action" value="%s"> View ' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
957 'customisation...</th></tr>\n')%(len(names)+1, action)) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
958 |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
959 if not show_customization: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
960 w('</table>\n') |
|
392
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
961 return |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
962 |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
963 w('<tr class="location-bar"><th> </th>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
964 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
965 w('<th>%s</th>'%name.capitalize()) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
966 w('</tr>\n') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
967 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
968 # Filter |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
969 if all_filters: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
970 w(_('<tr><th width="1%" align=right class="location-bar">Filters</th>\n')) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
971 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
972 if name not in all_filters: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
973 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
974 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
975 if name in filter: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
976 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
977 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
978 w(' <input type="checkbox" name=":filter" value="%s" ' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
979 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
980 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
981 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
982 # Columns |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
983 if all_columns: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
984 w(_('<tr><th width="1%" align=right class="location-bar">Columns</th>\n')) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
985 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
986 if name not in all_columns: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
987 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
988 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
989 if name in columns: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
990 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
991 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
992 w(' <input type="checkbox" name=":columns" value="%s"' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
993 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
994 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
995 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
996 # Grouping |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
997 w(_('<tr><th width="1%" align=right class="location-bar">Grouping</th>\n')) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
998 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
999 if name not in all_columns: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1000 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1001 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1002 if name in group: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1003 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1004 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1005 w(' <input type="checkbox" name=":group" value="%s"' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1006 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1007 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1008 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1009 w('<tr class="location-bar"><td width="1%"> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1010 w('<td colspan="%s">'%len(names)) |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1011 w(_('<input type="submit" name="action" value="Redisplay"></td>')) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1012 w('</tr>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1013 w('</table>\n') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1014 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1015 # and the outer table |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1016 w('</td></tr></table>') |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1017 |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1018 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1019 def sortby(self, sort_name, filterspec, columns, filter, group, sort): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1020 l = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1021 w = l.append |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1022 for k, v in filterspec.items(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1023 k = urllib.quote(k) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1024 if type(v) == type([]): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1025 w('%s=%s'%(k, ','.join(map(urllib.quote, v)))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1026 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1027 w('%s=%s'%(k, urllib.quote(v))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1028 if columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1029 w(':columns=%s'%','.join(map(urllib.quote, columns))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1030 if filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1031 w(':filter=%s'%','.join(map(urllib.quote, filter))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1032 if group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1033 w(':group=%s'%','.join(map(urllib.quote, group))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1034 m = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1035 s_dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1036 for name in sort: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1037 dir = name[0] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1038 if dir == '-': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1039 name = name[1:] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1040 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1041 dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1042 if sort_name == name: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1043 if dir == '-': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1044 s_dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1045 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1046 s_dir = '-' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1047 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1048 m.append(dir+urllib.quote(name)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1049 m.insert(0, s_dir+urllib.quote(sort_name)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1050 # so things don't get completely out of hand, limit the sort to |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1051 # two columns |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1052 w(':sort=%s'%','.join(m[:2])) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1053 return '&'.join(l) |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1054 |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
1055 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1056 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1057 # ITEM TEMPLATES |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1058 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1059 class ItemTemplateReplace: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1060 '''Regular-expression based parser that turns the template into HTML. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1061 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1062 def __init__(self, globals, locals, cl, nodeid): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1063 self.globals = globals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1064 self.locals = locals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1065 self.cl = cl |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1066 self.nodeid = nodeid |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1067 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1068 replace=re.compile( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1069 r'((<property\s+name="(?P<name>[^>]+)">(?P<text>.+?)</property>)|' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1070 r'(?P<display><display\s+call="(?P<command>[^"]+)">))', re.I|re.S) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1071 def go(self, text): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1072 return self.replace.sub(self, text) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1073 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1074 def __call__(self, m, filter=None, columns=None, sort=None, group=None): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1075 if m.group('name'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1076 if self.nodeid and self.cl.get(self.nodeid, m.group('name')): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1077 replace = ItemTemplateReplace(self.globals, {}, self.cl, |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1078 self.nodeid) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1079 return replace.go(m.group('text')) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1080 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1081 return '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1082 if m.group('display'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1083 command = m.group('command') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1084 return eval(command, self.globals, self.locals) |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1085 return '*** unhandled match: %s'%str(m.groupdict()) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1086 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1087 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1088 class ItemTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1089 '''Templating functionality specifically for item (node) display |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1090 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1091 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1092 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1093 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1094 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1095 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1096 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1097 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1098 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1099 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1100 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1101 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1102 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1103 def render(self, nodeid): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1104 self.nodeid = nodeid |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1105 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1106 if (self.properties.has_key('type') and |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1107 self.properties.has_key('content')): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1108 pass |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1109 # XXX we really want to return this as a downloadable... |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1110 # currently I handle this at a higher level by detecting 'file' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1111 # designators... |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1112 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1113 w = self.client.write |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1114 w('<form onSubmit="return submit_once()" action="%s%s" method="POST" enctype="multipart/form-data">'%( |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1115 self.classname, nodeid)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1116 s = open(os.path.join(self.templates, self.classname+'.item')).read() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1117 replace = ItemTemplateReplace(self.globals, locals(), self.cl, nodeid) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1118 w(replace.go(s)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1119 w('</form>') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1120 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1121 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1122 class NewItemTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1123 '''Templating functionality specifically for NEW item (node) display |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1124 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1125 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1126 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1127 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1128 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1129 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1130 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1131 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1132 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1133 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1134 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1135 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1136 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1137 def render(self, form): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1138 self.form = form |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1139 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1140 c = self.classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1141 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1142 s = open(os.path.join(self.templates, c+'.newitem')).read() |
|
408
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1143 except IOError: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1144 s = open(os.path.join(self.templates, c+'.item')).read() |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1145 w('<form onSubmit="return submit_once()" action="new%s" method="POST" enctype="multipart/form-data">'%c) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1146 for key in form.keys(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1147 if key[0] == ':': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1148 value = form[key].value |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1149 if type(value) != type([]): value = [value] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1150 for value in value: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1151 w('<input type="hidden" name="%s" value="%s">'%(key, value)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1152 replace = ItemTemplateReplace(self.globals, locals(), None, None) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1153 w(replace.go(s)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1154 w('</form>') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1155 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1156 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1157 # $Log: not supported by cvs2svn $ |
|
692
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
1158 # Revision 1.84 2002/03/29 19:41:48 rochecompaan |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
1159 # . Fixed display of mutlilink properties when using the template |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
1160 # functions, menu and plain. |
|
0521ddc7bb31
Miscellaneous changes.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
672
diff
changeset
|
1161 # |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
1162 # Revision 1.83 2002/02/27 04:14:31 richard |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
1163 # Ran it through pychecker, made fixes |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
1164 # |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1165 # Revision 1.82 2002/02/21 23:11:45 richard |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1166 # . fixed some problems in date calculations (calendar.py doesn't handle over- |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1167 # and under-flow). Also, hour/minute/second intervals may now be more than |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1168 # 99 each. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1169 # |
|
640
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
1170 # Revision 1.81 2002/02/21 07:21:38 richard |
|
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
1171 # docco |
|
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
1172 # |
| 639 | 1173 # Revision 1.80 2002/02/21 07:19:08 richard |
| 1174 # ... and label, width and height control for extra flavour! | |
| 1175 # | |
|
638
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1176 # Revision 1.79 2002/02/21 06:57:38 richard |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1177 # . Added popup help for classes using the classhelp html template function. |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1178 # - add <display call="classhelp('priority', 'id,name,description')"> |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1179 # to an item page, and it generates a link to a popup window which displays |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1180 # the id, name and description for the priority class. The description |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1181 # field won't exist in most installations, but it will be added to the |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1182 # default templates. |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1183 # |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1184 # Revision 1.78 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
|
1185 # *** 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
|
1186 # |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1187 # Revision 1.77 2002/02/20 05:05:29 richard |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1188 # . Added simple editing for classes that don't define a templated interface. |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1189 # - access using the admin "class list" interface |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1190 # - limited to admin-only |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1191 # - requires the csv module from object-craft (url given if it's missing) |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1192 # |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
1193 # Revision 1.76 2002/02/16 09:10:52 richard |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
1194 # oops |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
1195 # |
| 623 | 1196 # Revision 1.75 2002/02/16 08:43:23 richard |
| 1197 # . #517906 ] Attribute order in "View customisation" | |
| 1198 # | |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1199 # Revision 1.74 2002/02/16 08:39:42 richard |
|
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1200 # . #516854 ] "My Issues" and redisplay |
|
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1201 # |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1202 # Revision 1.73 2002/02/15 07:08:44 richard |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1203 # . Alternate email addresses are now available for users. See the MIGRATION |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1204 # file for info on how to activate the feature. |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1205 # |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1206 # Revision 1.72 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
|
1207 # . 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
|
1208 # on the client-side. |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1209 # |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1210 # Revision 1.71 2002/01/23 06:15:24 richard |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1211 # real (non-string, duh) sorting of lists by node id |
|
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1212 # |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
1213 # Revision 1.70 2002/01/23 05:47:57 richard |
|
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
1214 # more HTML template cleanup and unit tests |
|
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
1215 # |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1216 # Revision 1.69 2002/01/23 05:10:27 richard |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1217 # More HTML template cleanup and unit tests. |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1218 # - download() now implemented correctly, replacing link(is_download=1) [fixed in the |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1219 # templates, but link(is_download=1) will still work for existing templates] |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1220 # |
|
576
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
1221 # Revision 1.68 2002/01/22 22:55:28 richard |
|
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
1222 # . htmltemplate list() wasn't sorting... |
|
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
1223 # |
|
575
2df17627528d
htmltemplate list() wasn't sorting...
Richard Jones <richard@users.sourceforge.net>
parents:
574
diff
changeset
|
1224 # Revision 1.67 2002/01/22 22:46:22 richard |
|
2df17627528d
htmltemplate list() wasn't sorting...
Richard Jones <richard@users.sourceforge.net>
parents:
574
diff
changeset
|
1225 # more htmltemplate cleanups and unit tests |
|
2df17627528d
htmltemplate list() wasn't sorting...
Richard Jones <richard@users.sourceforge.net>
parents:
574
diff
changeset
|
1226 # |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
1227 # Revision 1.66 2002/01/22 06:35:40 richard |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
1228 # more htmltemplate tests and cleanup |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
1229 # |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
1230 # Revision 1.65 2002/01/22 00:12:06 richard |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
1231 # Wrote more unit tests for htmltemplate, and while I was at it, I polished |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
1232 # off the implementation of some of the functions so they behave sanely. |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
1233 # |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
1234 # Revision 1.64 2002/01/21 03:25:59 richard |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
1235 # oops |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
1236 # |
| 558 | 1237 # Revision 1.63 2002/01/21 02:59:10 richard |
| 1238 # Fixed up the HTML display of history so valid links are actually displayed. | |
| 1239 # Oh for some unit tests! :( | |
| 1240 # | |
|
556
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
1241 # Revision 1.62 2002/01/18 08:36:12 grubert |
|
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
1242 # . add nowrap to history table date cell i.e. <td nowrap ... |
|
50359de2800b
Fixed up the HTML display of history so valid links are actually displayed.
Richard Jones <richard@users.sourceforge.net>
parents:
554
diff
changeset
|
1243 # |
|
554
7e7b4183a8bd
add nowrap to history table date cell i.e. <td nowrap ...
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
552
diff
changeset
|
1244 # Revision 1.61 2002/01/17 23:04:53 richard |
|
7e7b4183a8bd
add nowrap to history table date cell i.e. <td nowrap ...
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
552
diff
changeset
|
1245 # . much nicer history display (actualy real handling of property types etc) |
|
7e7b4183a8bd
add nowrap to history table date cell i.e. <td nowrap ...
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
552
diff
changeset
|
1246 # |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
1247 # Revision 1.60 2002/01/17 08:48:19 grubert |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
1248 # . display superseder as html link in history. |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
1249 # |
|
548
3f25182ed425
display superseder as html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
547
diff
changeset
|
1250 # Revision 1.59 2002/01/17 07:58:24 grubert |
|
3f25182ed425
display superseder as html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
547
diff
changeset
|
1251 # . display links a html link in history. |
|
3f25182ed425
display superseder as html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
547
diff
changeset
|
1252 # |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
1253 # Revision 1.58 2002/01/15 00:50:03 richard |
|
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
1254 # #502949 ] index view for non-issues and redisplay |
|
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
1255 # |
|
538
67379bcc5da4
[SF#502949] index view for non-issues and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
535
diff
changeset
|
1256 # Revision 1.57 2002/01/14 23:31:21 richard |
|
67379bcc5da4
[SF#502949] index view for non-issues and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
535
diff
changeset
|
1257 # reverted the change that had plain() hyperlinking the link displays - |
|
67379bcc5da4
[SF#502949] index view for non-issues and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
535
diff
changeset
|
1258 # that's what link() is for! |
|
67379bcc5da4
[SF#502949] index view for non-issues and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
535
diff
changeset
|
1259 # |
|
535
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1260 # Revision 1.56 2002/01/14 07:04:36 richard |
|
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1261 # . plain rendering of links in the htmltemplate now generate a hyperlink to |
|
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1262 # the linked node's page. |
|
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1263 # ... this allows a display very similar to bugzilla's where you can actually |
|
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1264 # find out information about the linked node. |
|
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1265 # |
|
531
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1266 # Revision 1.55 2002/01/14 06:45:03 richard |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1267 # . #502953 ] nosy-like treatment of other multilinks |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1268 # ... had to revert most of the previous change to the multilink field |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1269 # display... not good. |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1270 # |
|
528
72fe808ff5b8
[SF#502953] nosy-like treatment of other multilinks
Richard Jones <richard@users.sourceforge.net>
parents:
526
diff
changeset
|
1271 # Revision 1.54 2002/01/14 05:16:51 richard |
|
72fe808ff5b8
[SF#502953] nosy-like treatment of other multilinks
Richard Jones <richard@users.sourceforge.net>
parents:
526
diff
changeset
|
1272 # The submit buttons need a name attribute or mozilla won't submit without a |
|
72fe808ff5b8
[SF#502953] nosy-like treatment of other multilinks
Richard Jones <richard@users.sourceforge.net>
parents:
526
diff
changeset
|
1273 # file upload. Yeah, that's bloody obscure. Grr. |
|
72fe808ff5b8
[SF#502953] nosy-like treatment of other multilinks
Richard Jones <richard@users.sourceforge.net>
parents:
526
diff
changeset
|
1274 # |
|
526
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
1275 # Revision 1.53 2002/01/14 04:03:32 richard |
|
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
1276 # How about that ... date fields have never worked ... |
|
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
1277 # |
|
525
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1278 # Revision 1.52 2002/01/14 02:20:14 richard |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1279 # . changed all config accesses so they access either the instance or the |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1280 # config attriubute on the db. This means that all config is obtained from |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1281 # instance_config instead of the mish-mash of classes. This will make |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1282 # switching to a ConfigParser setup easier too, I hope. |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1283 # |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1284 # At a minimum, this makes migration a _little_ easier (a lot easier in the |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1285 # 0.5.0 switch, I hope!) |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1286 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1287 # Revision 1.51 2002/01/10 10:02:15 grubert |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1288 # In do_history: replace "." in date by " " so html wraps more sensible. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1289 # Should this be done in date's string converter ? |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1290 # |
|
515
59e721a72a30
In do_history: replace "." in date by " " so html wraps more sensible.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
488
diff
changeset
|
1291 # Revision 1.50 2002/01/05 02:35:10 richard |
|
59e721a72a30
In do_history: replace "." in date by " " so html wraps more sensible.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
488
diff
changeset
|
1292 # I18N'ification |
|
59e721a72a30
In do_history: replace "." in date by " " so html wraps more sensible.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
488
diff
changeset
|
1293 # |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1294 # Revision 1.49 2001/12/20 15:43:01 rochecompaan |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1295 # Features added: |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1296 # . Multilink properties are now displayed as comma separated values in |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1297 # a textbox |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1298 # . The add user link is now only visible to the admin user |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1299 # . Modified the mail gateway to reject submissions from unknown |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1300 # addresses if ANONYMOUS_ACCESS is denied |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1301 # |
|
467
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1302 # Revision 1.48 2001/12/20 06:13:24 rochecompaan |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1303 # Bugs fixed: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1304 # . Exception handling in hyperdb for strings-that-look-like numbers got |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1305 # lost somewhere |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1306 # . Internet Explorer submits full path for filename - we now strip away |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1307 # the path |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1308 # Features added: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1309 # . Link and multilink properties are now displayed sorted in the cgi |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1310 # interface |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1311 # |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1312 # Revision 1.47 2001/11/26 22:55:56 richard |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1313 # Feature: |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1314 # . Added INSTANCE_NAME to configuration - used in web and email to identify |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1315 # the instance. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1316 # . Added EMAIL_SIGNATURE_POSITION to indicate where to place the roundup |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1317 # signature info in e-mails. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1318 # . Some more flexibility in the mail gateway and more error handling. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1319 # . Login now takes you to the page you back to the were denied access to. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1320 # |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1321 # Fixed: |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1322 # . Lots of bugs, thanks Roché and others on the devel mailing list! |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1323 # |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1324 # Revision 1.46 2001/11/24 00:53:12 jhermann |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1325 # "except:" is bad, bad , bad! |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1326 # |
|
408
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1327 # Revision 1.45 2001/11/22 15:46:42 jhermann |
|
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1328 # Added module docstrings to all modules. |
|
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1329 # |
|
406
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
1330 # Revision 1.44 2001/11/21 23:35:45 jhermann |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
1331 # Added globbing for win32, and sample marking in a 2nd file to test it |
|
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
1332 # |
|
401
a930feb07dc4
Added globbing for win32, and sample marking in a 2nd file to test it
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
398
diff
changeset
|
1333 # Revision 1.43 2001/11/21 04:04:43 richard |
|
a930feb07dc4
Added globbing for win32, and sample marking in a 2nd file to test it
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
398
diff
changeset
|
1334 # *sigh* more missing value handling |
|
a930feb07dc4
Added globbing for win32, and sample marking in a 2nd file to test it
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
398
diff
changeset
|
1335 # |
|
398
bbbcdee47762
*sigh* more missing value handling
Richard Jones <richard@users.sourceforge.net>
parents:
397
diff
changeset
|
1336 # Revision 1.42 2001/11/21 03:40:54 richard |
|
bbbcdee47762
*sigh* more missing value handling
Richard Jones <richard@users.sourceforge.net>
parents:
397
diff
changeset
|
1337 # more new property handling |
|
bbbcdee47762
*sigh* more missing value handling
Richard Jones <richard@users.sourceforge.net>
parents:
397
diff
changeset
|
1338 # |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
1339 # Revision 1.41 2001/11/15 10:26:01 richard |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
1340 # . missing "return" in filter_section (thanks Roch'e Compaan) |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
1341 # |
|
392
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1342 # Revision 1.40 2001/11/03 01:56:51 richard |
|
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1343 # More HTML compliance fixes. This will probably fix the Netscape problem |
|
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1344 # too. |
|
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1345 # |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1346 # Revision 1.39 2001/11/03 01:43:47 richard |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1347 # Ahah! Fixed the lynx problem - there was a hidden input field misplaced. |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1348 # |
|
350
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
1349 # Revision 1.38 2001/10/31 06:58:51 richard |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
1350 # Added the wrap="hard" attribute to the textarea of the note field so the |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
1351 # messages wrap sanely. |
|
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
1352 # |
|
342
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
1353 # Revision 1.37 2001/10/31 06:24:35 richard |
|
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
1354 # Added do_stext to htmltemplate, thanks Brad Clements. |
|
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
1355 # |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
1356 # Revision 1.36 2001/10/28 22:51:38 richard |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
1357 # Fixed ENOENT/WindowsError thing, thanks Juergen Hermann |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
1358 # |
|
332
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
1359 # Revision 1.35 2001/10/24 00:04:41 richard |
|
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
1360 # Removed the "infinite authentication loop", thanks Roch'e |
|
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
1361 # |
|
327
ee8882029150
Removed the "infinite authentication loop", thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
320
diff
changeset
|
1362 # Revision 1.34 2001/10/23 22:56:36 richard |
|
ee8882029150
Removed the "infinite authentication loop", thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
320
diff
changeset
|
1363 # Bugfix in filter "widget" placement, thanks Roch'e |
|
ee8882029150
Removed the "infinite authentication loop", thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
320
diff
changeset
|
1364 # |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1365 # Revision 1.33 2001/10/23 01:00:18 richard |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1366 # Re-enabled login and registration access after lopping them off via |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1367 # disabling access for anonymous users. |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1368 # Major re-org of the htmltemplate code, cleaning it up significantly. Fixed |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1369 # a couple of bugs while I was there. Probably introduced a couple, but |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1370 # things seem to work OK at the moment. |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1371 # |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1372 # Revision 1.32 2001/10/22 03:25:01 richard |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1373 # Added configuration for: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1374 # . anonymous user access and registration (deny/allow) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1375 # . 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
|
1376 # Updated some documentation. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1377 # |
|
316
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1378 # Revision 1.31 2001/10/21 07:26:35 richard |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1379 # feature #473127: Filenames. I modified the file.index and htmltemplate |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1380 # 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
|
1381 # information is displayed. |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1382 # |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1383 # Revision 1.30 2001/10/21 04:44:50 richard |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1384 # bug #473124: UI inconsistency with Link fields. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1385 # 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
|
1386 # that of being able to turn off certain filters. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1387 # |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1388 # Revision 1.29 2001/10/21 00:17:56 richard |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1389 # 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
|
1390 # Roch'e Compaan.) |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1391 # |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1392 # Revision 1.28 2001/10/21 00:00:16 richard |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1393 # Fixed Checklist function - wasn't always working on a list. |
|
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1394 # |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
1395 # Revision 1.27 2001/10/20 12:13:44 richard |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
1396 # Fixed grouping of non-str properties (thanks Roch'e Compaan) |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
1397 # |
|
303
3d5031f834f0
Fixed grouping of non-str properties (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1398 # Revision 1.26 2001/10/14 10:55:00 richard |
|
3d5031f834f0
Fixed grouping of non-str properties (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1399 # Handle empty strings in HTML template Link function |
|
3d5031f834f0
Fixed grouping of non-str properties (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1400 # |
|
292
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1401 # Revision 1.25 2001/10/09 07:25:59 richard |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1402 # Added the Password property type. See "pydoc roundup.password" for |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1403 # implementation details. Have updated some of the documentation too. |
|
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1404 # |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
1405 # Revision 1.24 2001/09/27 06:45:58 richard |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
1406 # *gak* ... xmp is Old Skool apparently. Am using pre again by have the option |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
1407 # on the plain() template function to escape the text for HTML. |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
1408 # |
|
250
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1409 # Revision 1.23 2001/09/10 09:47:18 richard |
|
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1410 # Fixed bug in the generation of links to Link/Multilink in indexes. |
|
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1411 # (thanks Hubert Hoegl) |
|
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1412 # Added AssignedTo to the "classic" schema's item page. |
|
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1413 # |
|
245
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
1414 # Revision 1.22 2001/08/30 06:01:17 richard |
|
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
1415 # Fixed missing import in mailgw :( |
|
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
1416 # |
|
244
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
1417 # Revision 1.21 2001/08/16 07:34:59 richard |
|
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
1418 # better CGI text searching - but hidden filter fields are disappearing... |
|
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
1419 # |
|
231
afd428ba6523
better CGI text searching - but hidden filter fields are disappearing...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1420 # Revision 1.20 2001/08/15 23:43:18 richard |
|
afd428ba6523
better CGI text searching - but hidden filter fields are disappearing...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1421 # Fixed some isFooTypes that I missed. |
|
afd428ba6523
better CGI text searching - but hidden filter fields are disappearing...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1422 # Refactored some code in the CGI code. |
|
afd428ba6523
better CGI text searching - but hidden filter fields are disappearing...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1423 # |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1424 # Revision 1.19 2001/08/12 06:32:36 richard |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1425 # 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
|
1426 # |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1427 # Revision 1.18 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
|
1428 # stupid typo |
|
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1429 # |
| 214 | 1430 # Revision 1.17 2001/08/07 00:15:51 richard |
| 1431 # Added the copyright/license notice to (nearly) all files at request of | |
| 1432 # Bizar Software. | |
| 1433 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
1434 # Revision 1.16 2001/08/01 03:52:23 richard |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
1435 # Checklist was using wrong name. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
1436 # |
|
171
3c19bc818711
Checklist was using wrong name.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1437 # Revision 1.15 2001/07/30 08:12:17 richard |
|
3c19bc818711
Checklist was using wrong name.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1438 # Added time logging and file uploading to the templates. |
|
3c19bc818711
Checklist was using wrong name.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1439 # |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1440 # Revision 1.14 2001/07/30 06:17:45 richard |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1441 # Features: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1442 # . Added ability for cgi newblah forms to indicate that the new node |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1443 # should be linked somewhere. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1444 # Fixed: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1445 # . Fixed the agument handling for the roundup-admin find command. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1446 # . Fixed handling of summary when no note supplied for newblah. Again. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1447 # . Fixed detection of no form in htmltemplate Field display. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1448 # |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1449 # Revision 1.13 2001/07/30 02:37:53 richard |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1450 # Temporary measure until we have decent schema migration. |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1451 # |
|
155
03bdef2d645b
Temporary measure until we have decent schema migration.
Richard Jones <richard@users.sourceforge.net>
parents:
141
diff
changeset
|
1452 # Revision 1.12 2001/07/30 01:24:33 richard |
|
03bdef2d645b
Temporary measure until we have decent schema migration.
Richard Jones <richard@users.sourceforge.net>
parents:
141
diff
changeset
|
1453 # Handles new node display now. |
|
03bdef2d645b
Temporary measure until we have decent schema migration.
Richard Jones <richard@users.sourceforge.net>
parents:
141
diff
changeset
|
1454 # |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
1455 # Revision 1.11 2001/07/29 09:31:35 richard |
|
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
1456 # oops |
|
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
1457 # |
| 131 | 1458 # Revision 1.10 2001/07/29 09:28:23 richard |
| 1459 # Fixed sorting by clicking on column headings. | |
| 1460 # | |
|
130
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1461 # Revision 1.9 2001/07/29 08:27:40 richard |
|
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1462 # Fixed handling of passed-in values in form elements (ie. during a |
|
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1463 # drill-down) |
|
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1464 # |
|
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
|
1465 # Revision 1.8 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
|
1466 # 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
|
1467 # |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
123
diff
changeset
|
1468 # Revision 1.7 2001/07/29 05:36:14 richard |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
123
diff
changeset
|
1469 # Cleanup of the link label generation. |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
123
diff
changeset
|
1470 # |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
1471 # Revision 1.6 2001/07/29 04:06:42 richard |
|
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
1472 # Fixed problem in link display when Link value is None. |
|
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
1473 # |
|
119
ad64dade1769
Fixed problem in link display when Link value is None.
Richard Jones <richard@users.sourceforge.net>
parents:
116
diff
changeset
|
1474 # Revision 1.5 2001/07/28 08:17:09 richard |
|
ad64dade1769
Fixed problem in link display when Link value is None.
Richard Jones <richard@users.sourceforge.net>
parents:
116
diff
changeset
|
1475 # fixed use of stylesheet |
|
ad64dade1769
Fixed problem in link display when Link value is None.
Richard Jones <richard@users.sourceforge.net>
parents:
116
diff
changeset
|
1476 # |
|
116
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1477 # Revision 1.4 2001/07/28 07:59:53 richard |
|
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1478 # Replaced errno integers with their module values. |
|
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1479 # De-tabbed templatebuilder.py |
|
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1480 # |
|
113
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1481 # Revision 1.3 2001/07/25 03:39:47 richard |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1482 # Hrm - displaying links to classes that don't specify a key property. I've |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1483 # got it defaulting to 'name', then 'title' and then a "random" property (first |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1484 # one returned by getprops().keys(). |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1485 # Needs to be moved onto the Class I think... |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1486 # |
|
72
c186b637fee0
Hrm - displaying links to classes that don't specify a key property.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1487 # Revision 1.2 2001/07/22 12:09:32 richard |
|
c186b637fee0
Hrm - displaying links to classes that don't specify a key property.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1488 # Final commit of Grande Splite |
|
c186b637fee0
Hrm - displaying links to classes that don't specify a key property.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1489 # |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
1490 # 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
|
1491 # More Grande Splite |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1492 # |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
123
diff
changeset
|
1493 # |
|
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
123
diff
changeset
|
1494 # vim: set filetype=python ts=4 sw=4 et si |
