Mercurial > p > roundup > code
annotate roundup/htmltemplate.py @ 806:83becf3faa2f
Fix the cycles (a clear method, called after render...
...that removes the bound methods from the globals dict).
Use cl.filter instead of cl.list followed by sortfunc. For some
backends (Metakit), filter can sort at C speeds, cutting >10 secs
off of filling in the <select...> box for assigned_to when you
have 600+ users.
| author | Gordon B. McMillan <gmcm@users.sourceforge.net> |
|---|---|
| date | Thu, 27 Jun 2002 15:38:53 +0000 |
| parents | af4826d8773d |
| children | fda182844206 |
| 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 # |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
18 # $Id: htmltemplate.py,v 1.94 2002-06-27 15:38:53 gmcm 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 |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
24 import os, re, StringIO, urllib, cgi, errno, types, urllib |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
25 import hyperdb, date |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
26 from i18n import _ |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
28 # 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
|
29 # 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
|
30 try: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
31 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
|
32 except ImportError: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
33 StructuredText = None |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
34 |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
35 class MissingTemplateError(ValueError): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
36 '''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
|
37 ''' |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
38 pass |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
39 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
40 class TemplateFunctions: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
41 '''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
|
42 of the roundup web interface. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
43 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
44 def __init__(self): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
45 self.form = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
46 self.nodeid = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
47 self.filterspec = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
48 self.globals = {} |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
49 for key in TemplateFunctions.__dict__.keys(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
50 if key[:3] == 'do_': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
51 self.globals[key[3:]] = getattr(self, key) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
53 # 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
|
54 self.client = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
55 self.instance = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
56 self.templates = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
57 self.classname = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
58 self.db = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
59 self.cl = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
60 self.properties = None |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
61 |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
62 def clear(self): |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
63 for key in TemplateFunctions.__dict__.keys(): |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
64 if key[:3] == 'do_': |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
65 del self.globals[key[3:]] |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
66 |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
67 def do_plain(self, property, escape=0, lookup=1): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
68 ''' display a String property directly; |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
70 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
|
71 omit the time from the date stamp; |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
73 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
|
74 linked nodes (or the ids if the linked class has no key property) |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
75 when the lookup argument is true, otherwise just return the |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
76 linked ids |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
77 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
79 return _('[Field: not called from item]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 propclass = self.properties[property] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 if self.nodeid: |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
82 # make sure the property is a valid one |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
83 # 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
|
84 dummy = self.cl.getprops()[property] |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
85 |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
86 # get the value for this property |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
87 try: |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
88 value = self.cl.get(self.nodeid, property) |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
89 except KeyError: |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
90 # 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
|
91 # for the specified property |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
92 if isinstance(propclass, hyperdb.Multilink): value = [] |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
93 else: value = '' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 # 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
|
96 if isinstance(propclass, hyperdb.Multilink): value = [] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 else: value = '' |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
98 if isinstance(propclass, hyperdb.String): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 if value is None: value = '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 else: value = str(value) |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
101 elif isinstance(propclass, hyperdb.Password): |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
102 if value is None: value = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
103 else: value = _('*encrypted*') |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
104 elif isinstance(propclass, hyperdb.Date): |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
105 # 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
|
106 value = str(value) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
107 elif isinstance(propclass, hyperdb.Interval): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 value = str(value) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
109 elif isinstance(propclass, hyperdb.Link): |
|
531
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
110 if value: |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
111 if lookup: |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
112 linkcl = self.db.classes[propclass.classname] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
113 k = linkcl.labelprop(1) |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
114 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
|
115 else: |
|
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
116 value = _('[unselected]') |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
117 elif isinstance(propclass, hyperdb.Multilink): |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
118 if lookup: |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
119 linkcl = self.db.classes[propclass.classname] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
120 k = linkcl.labelprop(1) |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
121 labels = [] |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
122 for v in value: |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
123 labels.append(linkcl.get(v, k)) |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
124 value = ', '.join(labels) |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
125 else: |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
126 value = ', '.join(value) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
127 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
128 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
|
129 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
|
130 value = cgi.escape(value) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 return value |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
132 |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
133 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
|
134 '''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
|
135 (see above for details) |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
136 ''' |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
137 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
|
138 if not StructuredText: |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
139 return s |
|
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
140 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
|
141 |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
142 def determine_value(self, property): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
143 '''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
|
144 filterspec |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
145 ''' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
146 propclass = self.properties[property] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
147 if self.nodeid: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
148 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
|
149 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
|
150 return [] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
151 return value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
152 elif self.filterspec is not None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
153 if isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
154 return self.filterspec.get(property, []) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
155 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
156 return self.filterspec.get(property, '') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
157 # TODO: pull the value from the form |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
158 if isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
159 return [] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
160 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
161 return '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
162 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
163 def make_sort_function(self, classname): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
164 '''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
|
165 ''' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
166 linkcl = self.db.classes[classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
167 if linkcl.getprops().has_key('order'): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
168 sort_on = 'order' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
169 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
170 sort_on = linkcl.labelprop() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
171 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
|
172 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
|
173 return sortfunc |
|
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 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
|
176 ''' 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
|
177 to be edited |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
178 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
179 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
|
180 link or multilink editing, use menu(). |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
181 ''' |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
182 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
|
183 return _('[Field: not called from item]') |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
184 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
185 if size is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
186 size = 30 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
187 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
188 propclass = self.properties[property] |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
189 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
190 # get the value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
191 value = self.determine_value(property) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
192 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
193 # now display |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
194 if (isinstance(propclass, hyperdb.String) or |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
195 isinstance(propclass, hyperdb.Date) or |
|
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
196 isinstance(propclass, hyperdb.Interval)): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
197 if value is None: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
198 value = '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
199 else: |
|
525
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
200 value = cgi.escape(str(value)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
201 value = '"'.join(value.split('"')) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
202 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
|
203 elif isinstance(propclass, hyperdb.Password): |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
204 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
|
205 elif isinstance(propclass, hyperdb.Link): |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
206 linkcl = self.db.classes[propclass.classname] |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
207 if linkcl.getprops().has_key('order'): |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
208 sort_on = 'order' |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
209 else: |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
210 sort_on = linkcl.labelprop() |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
211 options = linkcl.filter(None, {}, [sort_on], []) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
212 # TODO: make this a field display, not a menu one! |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
213 l = ['<select name="%s">'%property] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
214 k = linkcl.labelprop(1) |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
215 if value is None: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
216 s = 'selected ' |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
217 else: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
218 s = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
219 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
|
220 for optionid in options: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
221 option = linkcl.get(optionid, k) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
222 s = '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
223 if optionid == value: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
224 s = 'selected ' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
225 if showid: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
226 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
|
227 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
228 lab = option |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
229 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
|
230 lab = lab[:size-3] + '...' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
231 lab = cgi.escape(lab) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
232 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
|
233 l.append('</select>') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
234 s = '\n'.join(l) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
235 elif isinstance(propclass, hyperdb.Multilink): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
236 sortfunc = self.make_sort_function(propclass.classname) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
237 linkcl = self.db.classes[propclass.classname] |
|
696
709f8f1d5661
Sorting was applied to all nodes of the MultiLink class...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
678
diff
changeset
|
238 if value: |
|
709f8f1d5661
Sorting was applied to all nodes of the MultiLink class...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
678
diff
changeset
|
239 value.sort(sortfunc) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
240 # map the id to the label property |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
241 if not showid: |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
242 k = linkcl.labelprop(1) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
243 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
|
244 value = cgi.escape(','.join(value)) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
245 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
|
246 else: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
247 s = _('Plain: bad propclass "%(propclass)s"')%locals() |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
248 return s |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
249 |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
250 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
|
251 ''' 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
|
252 ''' |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
253 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
|
254 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
|
255 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
256 propclass = self.properties[property] |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
257 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
258 # 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
|
259 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
|
260 return _('[Multiline: not a string]') |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
261 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
262 # get the value |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
263 value = self.determine_value(property) |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
264 if value is None: |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
265 value = '' |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
266 |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
267 # display |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
268 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
|
269 property, rows, cols, value) |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
270 |
|
757
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
271 def do_menu(self, property, size=None, height=None, showid=0, |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
272 additional=[]): |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
273 ''' For a Link/Multilink property, display a menu of the available |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
274 choices |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
275 |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
276 If the additional properties are specified, they will be |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
277 included in the text of each option in (brackets, with, commas). |
|
563
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 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
|
280 return _('[Field: not called from item]') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
281 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
282 propclass = self.properties[property] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
283 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
284 # make sure this is a link property |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
285 if not (isinstance(propclass, hyperdb.Link) or |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
286 isinstance(propclass, hyperdb.Multilink)): |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
287 return _('[Menu: not a link]') |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
288 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
289 # sort function |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
290 sortfunc = self.make_sort_function(propclass.classname) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
291 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
292 # get the value |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
293 value = self.determine_value(property) |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
294 |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
295 # display |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
296 if isinstance(propclass, hyperdb.Multilink): |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
297 linkcl = self.db.classes[propclass.classname] |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
298 if linkcl.getprops().has_key('order'): |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
299 sort_on = 'order' |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
300 else: |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
301 sort_on = linkcl.labelprop() |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
302 options = linkcl.filter(None, {}, [sort_on], []) |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
303 height = height or min(len(options), 7) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
304 l = ['<select multiple name="%s" size="%s">'%(property, height)] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
305 k = linkcl.labelprop(1) |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
306 for optionid in options: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
307 option = linkcl.get(optionid, k) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
308 s = '' |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
309 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
|
310 s = 'selected ' |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
311 if showid: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
312 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
|
313 else: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
314 lab = option |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
315 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
|
316 lab = lab[:size-3] + '...' |
|
757
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
317 if additional: |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
318 m = [] |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
319 for propname in additional: |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
320 m.append(linkcl.get(optionid, propname)) |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
321 lab = lab + ' (%s)'%', '.join(m) |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
322 lab = cgi.escape(lab) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
323 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
|
324 lab)) |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
325 l.append('</select>') |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
326 return '\n'.join(l) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
327 if isinstance(propclass, hyperdb.Link): |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
328 # 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
|
329 if type(value) is types.ListType: |
|
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
330 value = value[0] |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
331 linkcl = self.db.classes[propclass.classname] |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
332 l = ['<select name="%s">'%property] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
333 k = linkcl.labelprop(1) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
334 s = '' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
335 if value is None: |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
336 s = 'selected ' |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
337 l.append(_('<option %svalue="-1">- no selection -</option>')%s) |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
338 if linkcl.getprops().has_key('order'): |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
339 sort_on = 'order' |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
340 else: |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
341 sort_on = linkcl.labelprop() |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
342 options = linkcl.filter(None, {}, [sort_on], []) |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
343 for optionid in options: |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
344 option = linkcl.get(optionid, k) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
345 s = '' |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
346 if value in [optionid, option]: |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
347 s = 'selected ' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
348 if showid: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
349 lab = '%s%s: %s'%(propclass.classname, optionid, option) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
350 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
351 lab = option |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
352 if size is not None and len(lab) > size: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
353 lab = lab[:size-3] + '...' |
|
757
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
354 if additional: |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
355 m = [] |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
356 for propname in additional: |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
357 m.append(linkcl.get(optionid, propname)) |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
358 lab = lab + ' (%s)'%', '.join(m) |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
359 lab = cgi.escape(lab) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
360 l.append('<option %svalue="%s">%s</option>'%(s, optionid, lab)) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
361 l.append('</select>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
362 return '\n'.join(l) |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
363 return _('[Menu: not a link]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
364 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
365 #XXX deviates from spec |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
366 def do_link(self, property=None, is_download=0, showid=0): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
367 '''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
|
368 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
|
369 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
|
370 text. |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
371 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
372 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
|
373 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
|
374 downloaded file name is correct. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
375 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
376 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
377 return _('[Link: not called from item]') |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
378 |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
379 # get the value |
|
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
380 value = self.determine_value(property) |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
381 if not value: |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
382 return _('[no %(propname)s]')%{'propname':property.capitalize()} |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
383 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
384 propclass = self.properties[property] |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
385 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
|
386 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
|
387 linkcl = self.db.classes[linkname] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
388 k = linkcl.labelprop(1) |
|
678
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
389 linkvalue = cgi.escape(str(linkcl.get(value, k))) |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
390 if showid: |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
391 label = value |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
392 title = ' title="%s"'%linkvalue |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
393 # note ... this should be urllib.quote(linkcl.get(value, k)) |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
394 else: |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
395 label = linkvalue |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
396 title = '' |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
397 if is_download: |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
398 return '<a href="%s%s/%s"%s>%s</a>'%(linkname, value, |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
399 linkvalue, title, label) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
400 else: |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
401 return '<a href="%s%s"%s>%s</a>'%(linkname, value, title, label) |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
402 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
|
403 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
|
404 linkcl = self.db.classes[linkname] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
405 k = linkcl.labelprop(1) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
406 l = [] |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
407 for value in value: |
|
678
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
408 linkvalue = cgi.escape(str(linkcl.get(value, k))) |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
409 if showid: |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
410 label = value |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
411 title = ' title="%s"'%linkvalue |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
412 # note ... this should be urllib.quote(linkcl.get(value, k)) |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
413 else: |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
414 label = linkvalue |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
415 title = '' |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
416 if is_download: |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
417 l.append('<a href="%s%s/%s"%s>%s</a>'%(linkname, value, |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
418 linkvalue, title, label)) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
419 else: |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
420 l.append('<a href="%s%s"%s>%s</a>'%(linkname, value, |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
421 title, label)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
422 return ', '.join(l) |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
423 if is_download: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
424 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
|
425 value, value) |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
426 else: |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
427 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
|
428 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
429 def do_count(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
430 ''' 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
|
431 the list |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
432 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
433 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
434 return _('[Count: not called from item]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
435 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
436 propclass = self.properties[property] |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
437 if not isinstance(propclass, hyperdb.Multilink): |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
438 return _('[Count: not a Multilink]') |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
439 |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
440 # figure the length then... |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
441 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
|
442 return str(len(value)) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
443 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
444 # XXX pretty is definitely new ;) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
445 def do_reldate(self, property, pretty=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
446 ''' 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
|
447 current date (e.g. "+ 3w", "- 2d"). |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
448 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
449 with the 'pretty' flag, make it pretty |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
450 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
451 if not self.nodeid and self.form is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
452 return _('[Reldate: not called from item]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
453 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
454 propclass = self.properties[property] |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
455 if not isinstance(propclass, hyperdb.Date): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
456 return _('[Reldate: not a Date]') |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
457 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
458 if self.nodeid: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
459 value = self.cl.get(self.nodeid, property) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
460 else: |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
461 return '' |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
462 if not value: |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
463 return '' |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
464 |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
465 # figure the interval |
|
640
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
466 interval = date.Date('.') - value |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
467 if pretty: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
468 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
469 return _('now') |
|
721
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
470 return interval.pretty() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
471 return str(interval) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
472 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
473 def do_download(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
474 ''' 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
|
475 allow you to download files |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
476 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
477 if not self.nodeid: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
478 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
|
479 return self.do_link(property, is_download=1) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
480 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
481 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
482 def do_checklist(self, property, **args): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
483 ''' 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
|
484 available choices to permit filtering |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
485 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
486 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
|
487 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
|
488 isinstance(propclass, hyperdb.Multilink)): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
489 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
|
490 |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
491 # get our current checkbox state |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
492 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
|
493 # 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
|
494 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
|
495 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
|
496 else: |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
497 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
|
498 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
|
499 # 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
|
500 value = self.filterspec.get(property, []) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
501 else: |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
502 # it's a new node, so there's no state |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
503 value = [] |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
504 |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
505 # 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
|
506 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
|
507 l = [] |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
508 k = linkcl.labelprop(1) |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
509 for optionid in linkcl.list(): |
|
678
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
510 option = cgi.escape(str(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
|
511 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
|
512 checked = 'checked' |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
513 else: |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
514 checked = '' |
|
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
515 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
|
516 option, checked, property, option)) |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
517 |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
518 # 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
|
519 if isinstance(propclass, hyperdb.Link): |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
520 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
|
521 checked = 'checked' |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
522 else: |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
523 checked = '' |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
524 l.append(_('[unselected]:<input type="checkbox" %s name="%s" ' |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
525 '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
|
526 return '\n'.join(l) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
527 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
528 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
|
529 ''' 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
|
530 go along with a change. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
531 ''' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
532 # 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
|
533 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
|
534 '</textarea>'%(rows, cols) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
535 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
536 # XXX new function |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
537 def do_list(self, property, reverse=0): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
538 ''' 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
|
539 the class |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
540 ''' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
541 propcl = self.properties[property] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
542 if not isinstance(propcl, hyperdb.Multilink): |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
543 return _('[List: not a Multilink]') |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
544 |
|
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
545 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
|
546 if not value: |
|
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
547 return '' |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
548 |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
549 # 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
|
550 value = map(int, value) |
|
576
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
551 value.sort() |
|
244
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
552 if reverse: |
|
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
553 value.reverse() |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
554 value = map(str, value) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
555 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
556 # render the sub-index into a string |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
557 fp = StringIO.StringIO() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
558 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
559 write_save = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
560 self.client.write = fp.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
561 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
|
562 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
|
563 finally: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
564 self.client.write = write_save |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
565 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
566 return fp.getvalue() |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
567 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
568 # 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
|
569 def do_history(self, direction='descending'): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
570 ''' 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
|
571 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
572 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
|
573 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
|
574 will be displayed first. |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
575 ''' |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
576 if self.nodeid is None: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
577 return _("[History: node doesn't exist]") |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
578 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
579 l = ['<table width=100% border=0 cellspacing=0 cellpadding=2>', |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
580 '<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
|
581 _('<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
|
582 _('<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
|
583 _('<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
|
584 _('<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
|
585 '</tr>'] |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
586 |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
587 comments = {} |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
588 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
|
589 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
|
590 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
|
591 history.reverse() |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
592 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
|
593 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
|
594 arg_s = '' |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
595 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
|
596 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
|
597 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
|
598 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
|
599 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
|
600 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
601 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
|
602 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
603 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
|
604 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
|
605 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
|
606 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
|
607 linkcl, linkid, key) |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
608 else: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
609 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
|
610 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
611 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
|
612 cell = [] |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
613 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
|
614 # 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
|
615 # specially |
|
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 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
|
618 except: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
619 prop = None |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
620 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
|
621 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
|
622 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
|
623 # 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
|
624 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
|
625 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
626 linkcl = self.db.classes[classname] |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
627 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
|
628 labelprop = None |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
629 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
|
630 %(classname)s no longer exists''')%locals() |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
631 labelprop = linkcl.labelprop(1) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
632 hrefable = os.path.exists( |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
633 os.path.join(self.templates, classname+'.item')) |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
634 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
635 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
|
636 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
|
637 ml = [] |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
638 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
|
639 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
|
640 # 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
|
641 # 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
|
642 # 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
|
643 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
644 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
|
645 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
|
646 except IndexError: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
647 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
|
648 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
|
649 exists</strike>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
650 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
|
651 else: |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
652 if hrefable: |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
653 ml.append('<a href="%s%s">%s</a>'%( |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
654 classname, linkid, label)) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
655 else: |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
656 ml.append(label) |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
657 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
|
658 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
|
659 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
|
660 # 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
|
661 # 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
|
662 # 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
|
663 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
|
664 try: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
665 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
|
666 except IndexError: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
667 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
|
668 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
|
669 exists</strike>''') |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
670 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
|
671 # "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
|
672 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
|
673 if label is not None: |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
674 if hrefable: |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
675 cell.append('%s: <a href="%s%s">%s</a>\n'%(k, |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
676 classname, args[k], label)) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
677 else: |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
678 cell.append('%s: %s' % (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
|
679 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
680 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
|
681 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
|
682 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
|
683 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
684 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
|
685 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
|
686 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
|
687 |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
688 elif isinstance(prop, hyperdb.String) and args[k]: |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
689 cell.append('%s: %s'%(k, cgi.escape(args[k]))) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
690 |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
691 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
|
692 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
|
693 |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
694 else: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
695 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
|
696 else: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
697 # 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
|
698 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
|
699 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
|
700 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
|
701 arg_s = '<br />'.join(cell) |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
702 else: |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
703 # unkown event!! |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
704 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
|
705 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
|
706 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
|
707 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
|
708 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
|
709 '<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
|
710 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
|
711 if comments: |
|
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
712 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
|
713 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
|
714 l.append('<tr><td colspan=4>%s</td></tr>'%entry) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
715 l.append('</table>') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
716 return '\n'.join(l) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
717 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
718 # XXX new function |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
719 def do_submit(self): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
720 ''' add a submit button for the item |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
721 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
722 if self.nodeid: |
|
526
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
723 return _('<input type="submit" name="submit" value="Submit Changes">') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
724 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
|
725 return _('<input type="submit" name="submit" value="Submit New Entry">') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
726 else: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
727 return _('[Submit: not called from item]') |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
728 |
| 639 | 729 def do_classhelp(self, classname, properties, label='?', width='400', |
| 730 height='400'): | |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
731 '''pop up a javascript window with class help |
| 639 | 732 |
| 733 This generates a link to a popup window which displays the | |
| 734 properties indicated by "properties" of the class named by | |
| 735 "classname". The "properties" should be a comma-separated list | |
| 736 (eg. 'id,name,description'). | |
| 737 | |
| 738 You may optionally override the label displayed, the width and | |
| 739 height. The popup window will be resizable and scrollable. | |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
740 ''' |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
741 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
|
742 '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
|
743 properties, width, height, label) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
744 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
745 # INDEX TEMPLATES |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
746 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
747 class IndexTemplateReplace: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
748 '''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
|
749 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
750 def __init__(self, globals, locals, props): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
751 self.globals = globals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
752 self.locals = locals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
753 self.props = props |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
754 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
755 replace=re.compile( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
756 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
|
757 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
|
758 def go(self, text): |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
759 newtext = self.replace.sub(self, text) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
760 self.locals = self.globals = None |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
761 return newtext |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
762 |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
763 def __call__(self, m, search_text=None, filter=None, columns=None, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
764 sort=None, group=None): |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
765 if m.group('name'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
766 if m.group('name') in self.props: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
767 text = m.group('text') |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
768 replace = self.__class__(self.globals, {}, self.props) |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
769 return replace.go(text) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
770 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
771 return '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
772 if m.group('display'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
773 command = m.group('command') |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
774 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
|
775 return '*** unhandled match: %s'%str(m.groupdict()) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
776 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
777 class IndexTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
778 '''Templating functionality specifically for index pages |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
779 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
780 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
781 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
782 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
783 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
784 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
785 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
786 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
787 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
788 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
789 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
790 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
791 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
792 col_re=re.compile(r'<property\s+name="([^>]+)">') |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
793 def render(self, filterspec={}, search_text='', filter=[], columns=[], |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
794 sort=[], group=[], show_display_form=1, nodeids=None, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
795 show_customization=1, show_nodes=1): |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
796 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
797 self.filterspec = filterspec |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
798 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
799 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
800 # get the filter template |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
801 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
802 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
|
803 self.classname+'.filter')).read() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
804 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
|
805 except IOError, error: |
|
332
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
806 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
|
807 filter_template = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
808 all_filters = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
809 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
810 # XXX deviate from spec here ... |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
811 # 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
|
812 try: |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
813 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
|
814 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
|
815 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
|
816 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
|
817 raise MissingTemplateError, self.classname+'.index' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
818 all_columns = self.col_re.findall(template) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
819 if not columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
820 columns = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
821 for name in all_columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
822 columns.append(name) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
823 else: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
824 # 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
|
825 l = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
826 for name in all_columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
827 if name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
828 l.append(name) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
829 columns = l |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
830 |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
831 # display the filter section |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
832 if (show_display_form and |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
833 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
|
834 w('<form onSubmit="return submit_once()" action="%s">\n'%self.classname) |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
835 self.filter_section(filter_template, search_text, filter, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
836 columns, group, 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
|
837 # 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
|
838 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
|
839 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
|
840 ','.join(sort)) |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
841 w('</form>\n') |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
842 |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
843 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
844 # now display the index section |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
845 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
|
846 w('<tr class="list-header">\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
847 for name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
848 cname = name.capitalize() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
849 if show_display_form: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
850 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
|
851 anchor = "%s?%s"%(self.classname, sb) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
852 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
|
853 anchor, cname)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
854 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
855 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
|
856 w('</tr>\n') |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
857 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
858 # 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
|
859 old_group = None |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
860 group_names = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
861 if group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
862 for name in group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
863 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
|
864 else: group_names.append(name) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
865 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
866 # 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
|
867 # apply the template |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
868 if show_nodes: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
869 matches = None |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
870 if nodeids is None: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
871 if search_text != '': |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
872 matches = self.client.indexer.search( |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
873 search_text.split(' '), self.cl) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
874 nodeids = self.cl.filter(matches, filterspec, sort, group) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
875 for nodeid in nodeids: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
876 # check for a group heading |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
877 if group_names: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
878 this_group = [self.cl.get(nodeid, name, _('[no value]')) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
879 for name in group_names] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
880 if this_group != old_group: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
881 l = [] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
882 for name in group_names: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
883 prop = self.properties[name] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
884 if isinstance(prop, hyperdb.Link): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
885 group_cl = self.db.classes[prop.classname] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
886 key = group_cl.getkey() |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
887 value = self.cl.get(nodeid, name) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
888 if value is None: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
889 l.append(_('[unselected %(classname)s]')%{ |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
890 'classname': prop.classname}) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
891 else: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
892 l.append(group_cl.get(self.cl.get(nodeid, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
893 name), key)) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
894 elif isinstance(prop, hyperdb.Multilink): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
895 group_cl = self.db.classes[prop.classname] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
896 key = group_cl.getkey() |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
897 for value in self.cl.get(nodeid, name): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
898 l.append(group_cl.get(value, key)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
899 else: |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
900 value = self.cl.get(nodeid, name, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
901 _('[no value]')) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
902 if value is None: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
903 value = _('[empty %(name)s]')%locals() |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
904 else: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
905 value = str(value) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
906 l.append(value) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
907 w('<tr class="section-bar">' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
908 '<td align=middle colspan=%s>' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
909 '<strong>%s</strong></td></tr>'%( |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
910 len(columns), ', '.join(l))) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
911 old_group = this_group |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
912 |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
913 # display this node's row |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
914 replace = IndexTemplateReplace(self.globals, locals(), columns) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
915 self.nodeid = nodeid |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
916 w(replace.go(template)) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
917 if matches: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
918 self.node_matches(matches[nodeid], len(columns)) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
919 self.nodeid = None |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
920 |
|
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
|
921 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
|
922 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
923 # display the filter section |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
924 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
|
925 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
|
926 w('<form onSubmit="return submit_once()" action="%s">\n'%self.classname) |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
927 self.filter_section(filter_template, search_text, filter, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
928 columns, group, 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
|
929 # 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
|
930 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
|
931 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
|
932 ','.join(sort)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
933 w('</form>\n') |
|
316
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
934 |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
935 self.db = self.cl = self.properties = None |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
936 self.clear() |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
937 |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
938 def node_matches(self, match, colspan): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
939 ''' display the files and messages for a node that matched a |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
940 full text search |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
941 ''' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
942 w = self.client.write |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
943 |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
944 message_links = [] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
945 file_links = [] |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
946 if match.has_key('messages'): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
947 for msgid in match['messages']: |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
948 k = self.db.msg.labelprop(1) |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
949 lab = self.db.msg.get(msgid, k) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
950 msgpath = 'msg%s'%msgid |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
951 message_links.append('<a href="%(msgpath)s">%(lab)s</a>' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
952 %locals()) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
953 w(_('<tr class="row-hilite"><td colspan="%s">' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
954 ' Matched messages: %s</td></tr>')%( |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
955 colspan, ', '.join(message_links))) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
956 |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
957 if match.has_key('files'): |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
958 for fileid in match['files']: |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
959 filename = self.db.file.get(fileid, 'name') |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
960 filepath = 'file%s/%s'%(fileid, filename) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
961 file_links.append('<a href="%(filepath)s">%(filename)s</a>' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
962 %locals()) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
963 w(_('<tr class="row-hilite"><td colspan="%s">' |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
964 ' Matched files: %s</td></tr>')%( |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
965 colspan, ', '.join(file_links))) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
966 |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
967 |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
968 def filter_section(self, template, search_text, filter, columns, group, |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
969 all_filters, all_columns, show_customization): |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
970 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
971 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
972 # 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
|
973 # is displayed at once |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
974 w('<table><tr><td>') |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
975 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
976 if template and filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
977 # display the filter section |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
978 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
|
979 w('<tr class="location-bar">') |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
980 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
|
981 w('</tr>') |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
982 w('<tr>') |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
983 w('<th class="location-bar">Search terms</th>') |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
984 w('<td><input name="search_text" value="%s" size="50"></td>'%( |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
985 search_text)) |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
986 w('</tr>') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
987 replace = IndexTemplateReplace(self.globals, locals(), filter) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
988 w(replace.go(template)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
989 w('<tr class="location-bar"><td width="1%%"> </td>') |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
990 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
|
991 w('</table>') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
992 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
993 # 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
|
994 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
|
995 show_customization ) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
996 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
|
997 names = [] |
| 623 | 998 seen = {} |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
999 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
|
1000 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
|
1001 names.append(name) |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1002 seen[name] = 1 |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1003 if show_customization: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1004 action = '-' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1005 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1006 action = '+' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1007 # 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
|
1008 # 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
|
1009 for name in names: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1010 if all_filters and name in filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1011 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
|
1012 if all_columns and name in columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1013 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
|
1014 if all_columns and name in group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1015 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
|
1016 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1017 # TODO: The widget style can go into the stylesheet |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1018 w(_('<th align="left" colspan=%s>' |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1019 '<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
|
1020 'customisation...</th></tr>\n')%(len(names)+1, action)) |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1021 |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1022 if not show_customization: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1023 w('</table>\n') |
|
392
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1024 return |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1025 |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1026 w('<tr class="location-bar"><th> </th>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1027 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1028 w('<th>%s</th>'%name.capitalize()) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1029 w('</tr>\n') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1030 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1031 # Filter |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1032 if all_filters: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1033 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
|
1034 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1035 if name not in all_filters: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1036 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1037 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1038 if name in filter: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1039 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1040 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1041 w(' <input type="checkbox" name=":filter" value="%s" ' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1042 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1043 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1044 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1045 # Columns |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1046 if all_columns: |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1047 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
|
1048 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1049 if name not in all_columns: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1050 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1051 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1052 if name in columns: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1053 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1054 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1055 w(' <input type="checkbox" name=":columns" value="%s"' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1056 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1057 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1058 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1059 # Grouping |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1060 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
|
1061 for name in names: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1062 if name not in all_columns: |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1063 w('<td> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1064 continue |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1065 if name in group: checked=' checked' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1066 else: checked='' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1067 w('<td align=middle>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1068 w(' <input type="checkbox" name=":group" value="%s"' |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1069 '%s></td>\n'%(name, checked)) |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1070 w('</tr>\n') |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1071 |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1072 w('<tr class="location-bar"><td width="1%"> </td>') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1073 w('<td colspan="%s">'%len(names)) |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1074 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
|
1075 w('</tr>\n') |
|
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1076 w('</table>\n') |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1077 |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1078 # and the outer table |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1079 w('</td></tr></table>') |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1080 |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1081 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1082 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
|
1083 l = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1084 w = l.append |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1085 for k, v in filterspec.items(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1086 k = urllib.quote(k) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1087 if type(v) == type([]): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1088 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
|
1089 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1090 w('%s=%s'%(k, urllib.quote(v))) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1091 if columns: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1092 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
|
1093 if filter: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1094 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
|
1095 if group: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1096 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
|
1097 m = [] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1098 s_dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1099 for name in sort: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1100 dir = name[0] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1101 if dir == '-': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1102 name = name[1:] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1103 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1104 dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1105 if sort_name == name: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1106 if dir == '-': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1107 s_dir = '' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1108 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1109 s_dir = '-' |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1110 else: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1111 m.append(dir+urllib.quote(name)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1112 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
|
1113 # 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
|
1114 # two columns |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1115 w(':sort=%s'%','.join(m[:2])) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1116 return '&'.join(l) |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1117 |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1118 |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1119 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1120 # ITEM TEMPLATES |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1121 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1122 class ItemTemplateReplace: |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1123 '''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
|
1124 ''' |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1125 def __init__(self, globals, locals, cl, nodeid): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1126 self.globals = globals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1127 self.locals = locals |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1128 self.cl = cl |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1129 self.nodeid = nodeid |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1130 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1131 replace=re.compile( |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1132 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
|
1133 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
|
1134 def go(self, text): |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1135 newtext = self.replace.sub(self, text) |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1136 self.globals = self.locals = self.cl = None |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1137 return newtext |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1138 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1139 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
|
1140 if m.group('name'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1141 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
|
1142 replace = ItemTemplateReplace(self.globals, {}, self.cl, |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1143 self.nodeid) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1144 return replace.go(m.group('text')) |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1145 else: |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1146 return '' |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1147 if m.group('display'): |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1148 command = m.group('command') |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1149 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
|
1150 return '*** unhandled match: %s'%str(m.groupdict()) |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1151 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1152 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1153 class ItemTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1154 '''Templating functionality specifically for item (node) display |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1155 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1156 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1157 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1158 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1159 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1160 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1161 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1162 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1163 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1164 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1165 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1166 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1167 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1168 def render(self, nodeid): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1169 self.nodeid = nodeid |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1170 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1171 if (self.properties.has_key('type') and |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1172 self.properties.has_key('content')): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1173 pass |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1174 # 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
|
1175 # 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
|
1176 # designators... |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1177 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1178 w = self.client.write |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1179 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
|
1180 self.classname, nodeid)) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1181 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
|
1182 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
|
1183 w(replace.go(s)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1184 w('</form>') |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1185 self.cl = self.db = self.properties = None |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1186 self.clear() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1187 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1188 |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1189 class NewItemTemplate(TemplateFunctions): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1190 '''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
|
1191 ''' |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1192 def __init__(self, client, templates, classname): |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1193 TemplateFunctions.__init__(self) |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1194 self.client = client |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1195 self.instance = client.instance |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1196 self.templates = templates |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1197 self.classname = classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1198 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1199 # derived |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1200 self.db = self.client.db |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1201 self.cl = self.db.classes[self.classname] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1202 self.properties = self.cl.getprops() |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1203 |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1204 def render(self, form): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1205 self.form = form |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1206 w = self.client.write |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1207 c = self.classname |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1208 try: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1209 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
|
1210 except IOError: |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1211 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
|
1212 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
|
1213 for key in form.keys(): |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1214 if key[0] == ':': |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1215 value = form[key].value |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1216 if type(value) != type([]): value = [value] |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1217 for value in value: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1218 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
|
1219 replace = ItemTemplateReplace(self.globals, locals(), None, None) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1220 w(replace.go(s)) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1221 w('</form>') |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1222 self.cl = self.db = None |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1223 self.clear() |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1224 |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1225 # |
|
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1226 # $Log: not supported by cvs2svn $ |
|
806
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1227 # Revision 1.93 2002/06/27 12:05:25 gmcm |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1228 # Default labelprops to id. |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1229 # In history, make sure there's a .item before making a link / multilink into an href. |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1230 # Also in history, cgi.escape String properties. |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1231 # Clean up some of the reference cycles. |
|
83becf3faa2f
Fix the cycles (a clear method, called after render...
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
804
diff
changeset
|
1232 # |
|
804
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1233 # Revision 1.92 2002/06/11 04:57:04 richard |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1234 # Added optional additional property to display in a Multilink form menu. |
|
af4826d8773d
Default labelprops to id.
Gordon B. McMillan <gmcm@users.sourceforge.net>
parents:
757
diff
changeset
|
1235 # |
|
757
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
1236 # Revision 1.91 2002/05/31 00:08:02 richard |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
1237 # can now just display a link/multilink id - useful for stylesheet stuff |
|
00d360a4978a
Added optional additional property to display in a Multilink form menu.
Richard Jones <richard@users.sourceforge.net>
parents:
755
diff
changeset
|
1238 # |
|
755
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
1239 # Revision 1.90 2002/05/25 07:16:24 rochecompaan |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
1240 # Merged search_indexing-branch with HEAD |
|
49c9522675b9
can now just display a link/multilink id - useful for stylesheet stuff
Richard Jones <richard@users.sourceforge.net>
parents:
749
diff
changeset
|
1241 # |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1242 # Revision 1.89 2002/05/15 06:34:47 richard |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1243 # forgot to fix the templating for last change |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1244 # |
|
721
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1245 # Revision 1.88 2002/04/24 08:34:35 rochecompaan |
|
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1246 # Sorting was applied to all nodes of the MultiLink class instead of |
|
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1247 # the nodes that are actually linked to in the "field" template |
|
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1248 # function. This adds about 20+ seconds in the display of an issue if |
|
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1249 # your database has a 1000 or more issue in it. |
|
c63b71a949a8
forgot to fix the templating for last change
Richard Jones <richard@users.sourceforge.net>
parents:
696
diff
changeset
|
1250 # |
|
696
709f8f1d5661
Sorting was applied to all nodes of the MultiLink class...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
678
diff
changeset
|
1251 # Revision 1.87 2002/04/03 06:12:46 richard |
|
709f8f1d5661
Sorting was applied to all nodes of the MultiLink class...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
678
diff
changeset
|
1252 # Fix for date properties as labels. |
|
709f8f1d5661
Sorting was applied to all nodes of the MultiLink class...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
678
diff
changeset
|
1253 # |
|
678
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1254 # Revision 1.86 2002/04/03 05:54:31 richard |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1255 # Fixed serialisation problem by moving the serialisation step out of the |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1256 # hyperdb.Class (get, set) into the hyperdb.Database. |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1257 # |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1258 # Also fixed htmltemplate after the showid changes I made yesterday. |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1259 # |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1260 # Unit tests for all of the above written. |
|
9fe50036e8df
Fix for date properties as labels.
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
1261 # |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1262 # Revision 1.85 2002/04/02 01:40:58 richard |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1263 # . link() htmltemplate function now has a "showid" option for links and |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1264 # multilinks. When true, it only displays the linked node id as the anchor |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1265 # text. The link value is displayed as a tooltip using the title anchor |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1266 # attribute. |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
673
diff
changeset
|
1267 # |
|
749
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1268 # Revision 1.84.2.2 2002/04/20 13:23:32 rochecompaan |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1269 # We now have a separate search page for nodes. Search links for |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1270 # different classes can be customized in instance_config similar to |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1271 # index links. |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1272 # |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1273 # Revision 1.84.2.1 2002/04/19 19:54:42 rochecompaan |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1274 # cgi_client.py |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1275 # removed search link for the time being |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1276 # moved rendering of matches to htmltemplate |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1277 # hyperdb.py |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1278 # filtering of nodes on full text search incorporated in filter method |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1279 # roundupdb.py |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1280 # added paramater to call of filter method |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1281 # roundup_indexer.py |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1282 # added search method to RoundupIndexer class |
|
51c425129b35
Merged search_indexing-branch with HEAD
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
721
diff
changeset
|
1283 # |
|
673
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
1284 # Revision 1.84 2002/03/29 19:41:48 rochecompaan |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
1285 # . Fixed display of mutlilink properties when using the template |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
1286 # functions, menu and plain. |
|
604c84696461
link() htmltemplate function now has a "showid" option for links & multilinks.
Richard Jones <richard@users.sourceforge.net>
parents:
672
diff
changeset
|
1287 # |
|
672
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
1288 # 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
|
1289 # Ran it through pychecker, made fixes |
|
d92e06a3a56e
Fixed display of mutlilink properties...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
651
diff
changeset
|
1290 # |
|
651
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1291 # 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
|
1292 # . 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
|
1293 # 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
|
1294 # 99 each. |
|
6257d4e49d2a
Ran it through pychecker, made fixes
Richard Jones <richard@users.sourceforge.net>
parents:
640
diff
changeset
|
1295 # |
|
640
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
1296 # 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
|
1297 # docco |
|
7dd13fd5d8ea
fixed some problems in date calculations
Richard Jones <richard@users.sourceforge.net>
parents:
639
diff
changeset
|
1298 # |
| 639 | 1299 # Revision 1.80 2002/02/21 07:19:08 richard |
| 1300 # ... and label, width and height control for extra flavour! | |
| 1301 # | |
|
638
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1302 # 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
|
1303 # . 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
|
1304 # - 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
|
1305 # 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
|
1306 # 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
|
1307 # 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
|
1308 # default templates. |
|
21b3cfa7d99a
... and label, width and height control for extra flavour!
Richard Jones <richard@users.sourceforge.net>
parents:
635
diff
changeset
|
1309 # |
|
635
3d61b5d2243e
Added popup help for classes using the classhelp html template function.
Richard Jones <richard@users.sourceforge.net>
parents:
634
diff
changeset
|
1310 # 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
|
1311 # *** 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
|
1312 # |
|
634
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1313 # Revision 1.77 2002/02/20 05:05:29 richard |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1314 # . 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
|
1315 # - access using the admin "class list" interface |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1316 # - limited to admin-only |
|
53549c6a7b33
*** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
627
diff
changeset
|
1317 # - 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
|
1318 # |
|
627
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
1319 # 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
|
1320 # oops |
|
952679be9e2c
Added simple editing for classes that don't define a templated interface.
Richard Jones <richard@users.sourceforge.net>
parents:
623
diff
changeset
|
1321 # |
| 623 | 1322 # Revision 1.75 2002/02/16 08:43:23 richard |
| 1323 # . #517906 ] Attribute order in "View customisation" | |
| 1324 # | |
|
622
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1325 # 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
|
1326 # . #516854 ] "My Issues" and redisplay |
|
1b16ddd69f31
[SF#517906] Attribute order in "View customisation"
Richard Jones <richard@users.sourceforge.net>
parents:
621
diff
changeset
|
1327 # |
|
621
f333f6decdc2
[SF#516854] "My Issues" and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
617
diff
changeset
|
1328 # 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
|
1329 # . 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
|
1330 # 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
|
1331 # |
|
617
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1332 # 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
|
1333 # . 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
|
1334 # on the client-side. |
|
edd210915e64
Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents:
614
diff
changeset
|
1335 # |
|
614
5fdf95e6c20a
. All forms now have "double-submit" protection...
Richard Jones <richard@users.sourceforge.net>
parents:
581
diff
changeset
|
1336 # 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
|
1337 # 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
|
1338 # |
|
581
137d7fc5234d
real (non-string, duh) sorting of lists by node id
Richard Jones <richard@users.sourceforge.net>
parents:
577
diff
changeset
|
1339 # 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
|
1340 # 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
|
1341 # |
|
577
334ae707ebfc
more HTML template cleanup and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
576
diff
changeset
|
1342 # 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
|
1343 # 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
|
1344 # - 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
|
1345 # 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
|
1346 # |
|
576
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
1347 # 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
|
1348 # . htmltemplate list() wasn't sorting... |
|
f98f37697f4c
More HTML template cleanup and unit tests.
Richard Jones <richard@users.sourceforge.net>
parents:
575
diff
changeset
|
1349 # |
|
575
2df17627528d
htmltemplate list() wasn't sorting...
Richard Jones <richard@users.sourceforge.net>
parents:
574
diff
changeset
|
1350 # 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
|
1351 # more htmltemplate cleanups and unit tests |
|
2df17627528d
htmltemplate list() wasn't sorting...
Richard Jones <richard@users.sourceforge.net>
parents:
574
diff
changeset
|
1352 # |
|
574
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
1353 # 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
|
1354 # more htmltemplate tests and cleanup |
|
d41d94511170
more htmltemplate cleanups and unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
568
diff
changeset
|
1355 # |
|
568
c7ead967db85
more htmltemplate tests and cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
563
diff
changeset
|
1356 # 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
|
1357 # 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
|
1358 # 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
|
1359 # |
|
563
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
1360 # 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
|
1361 # oops |
|
0f58d6a35a8b
Wrote more unit tests for htmltemplate...
Richard Jones <richard@users.sourceforge.net>
parents:
558
diff
changeset
|
1362 # |
| 558 | 1363 # Revision 1.63 2002/01/21 02:59:10 richard |
| 1364 # Fixed up the HTML display of history so valid links are actually displayed. | |
| 1365 # Oh for some unit tests! :( | |
| 1366 # | |
|
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
|
1367 # 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
|
1368 # . 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
|
1369 # |
|
554
7e7b4183a8bd
add nowrap to history table date cell i.e. <td nowrap ...
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
552
diff
changeset
|
1370 # 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
|
1371 # . 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
|
1372 # |
|
552
0f8734a5a004
much nicer history display (actualy real handling of property types etc)
Richard Jones <richard@users.sourceforge.net>
parents:
548
diff
changeset
|
1373 # 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
|
1374 # . 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
|
1375 # |
|
548
3f25182ed425
display superseder as html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
547
diff
changeset
|
1376 # 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
|
1377 # . 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
|
1378 # |
|
547
e4ef6df2345c
display links a html link in history.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
538
diff
changeset
|
1379 # 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
|
1380 # #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
|
1381 # |
|
538
67379bcc5da4
[SF#502949] index view for non-issues and redisplay
Richard Jones <richard@users.sourceforge.net>
parents:
535
diff
changeset
|
1382 # 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
|
1383 # 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
|
1384 # 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
|
1385 # |
|
535
78711b29c746
reverted the change that had plain() hyperlinking the link displays
Richard Jones <richard@users.sourceforge.net>
parents:
531
diff
changeset
|
1386 # 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
|
1387 # . 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
|
1388 # 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
|
1389 # ... 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
|
1390 # 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
|
1391 # |
|
531
32c1dd156605
plain rendering of links in the htmltemplate now generate a hyperlink...
Richard Jones <richard@users.sourceforge.net>
parents:
528
diff
changeset
|
1392 # 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
|
1393 # . #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
|
1394 # ... 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
|
1395 # 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
|
1396 # |
|
528
72fe808ff5b8
[SF#502953] nosy-like treatment of other multilinks
Richard Jones <richard@users.sourceforge.net>
parents:
526
diff
changeset
|
1397 # 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
|
1398 # 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
|
1399 # 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
|
1400 # |
|
526
523b22a2c021
The submit buttons need a name attribute...
Richard Jones <richard@users.sourceforge.net>
parents:
525
diff
changeset
|
1401 # 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
|
1402 # 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
|
1403 # |
|
525
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1404 # 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
|
1405 # . 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
|
1406 # 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
|
1407 # 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
|
1408 # 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
|
1409 # |
|
d046cc4ba7d3
How about that ... date fields have never worked ...
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
1410 # 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
|
1411 # 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
|
1412 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1413 # 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
|
1414 # 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
|
1415 # Should this be done in date's string converter ? |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
515
diff
changeset
|
1416 # |
|
515
59e721a72a30
In do_history: replace "." in date by " " so html wraps more sensible.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
488
diff
changeset
|
1417 # 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
|
1418 # 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
|
1419 # |
|
488
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1420 # Revision 1.49 2001/12/20 15:43:01 rochecompaan |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1421 # Features added: |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1422 # . Multilink properties are now displayed as comma separated values in |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1423 # a textbox |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1424 # . 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
|
1425 # . Modified the mail gateway to reject submissions from unknown |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1426 # addresses if ANONYMOUS_ACCESS is denied |
|
ab9e236cd524
I18N'ification
Richard Jones <richard@users.sourceforge.net>
parents:
467
diff
changeset
|
1427 # |
|
467
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1428 # Revision 1.48 2001/12/20 06:13:24 rochecompaan |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1429 # Bugs fixed: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1430 # . Exception handling in hyperdb for strings-that-look-like numbers got |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1431 # lost somewhere |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1432 # . Internet Explorer submits full path for filename - we now strip away |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1433 # the path |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1434 # Features added: |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1435 # . Link and multilink properties are now displayed sorted in the cgi |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1436 # interface |
|
103f521810f7
Features added:
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
466
diff
changeset
|
1437 # |
|
466
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1438 # 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
|
1439 # Feature: |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1440 # . 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
|
1441 # the instance. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1442 # . 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
|
1443 # signature info in e-mails. |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1444 # . 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
|
1445 # . 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
|
1446 # |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1447 # Fixed: |
|
a3548136f7bb
Two bug fixes and a feature.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
411
diff
changeset
|
1448 # . 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
|
1449 # |
|
411
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1450 # Revision 1.46 2001/11/24 00:53:12 jhermann |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1451 # "except:" is bad, bad , bad! |
|
a6088556e9ba
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
408
diff
changeset
|
1452 # |
|
408
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1453 # 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
|
1454 # Added module docstrings to all modules. |
|
424bfccd4118
"except:" is bad, bad , bad!
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
406
diff
changeset
|
1455 # |
|
406
bdc2ea127ae9
Added module docstrings to all modules.
Jürgen Hermann <jhermann@users.sourceforge.net>
parents:
401
diff
changeset
|
1456 # 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
|
1457 # 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
|
1458 # |
|
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
|
1459 # 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
|
1460 # *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
|
1461 # |
|
398
bbbcdee47762
*sigh* more missing value handling
Richard Jones <richard@users.sourceforge.net>
parents:
397
diff
changeset
|
1462 # 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
|
1463 # more new property handling |
|
bbbcdee47762
*sigh* more missing value handling
Richard Jones <richard@users.sourceforge.net>
parents:
397
diff
changeset
|
1464 # |
|
397
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
1465 # 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
|
1466 # . missing "return" in filter_section (thanks Roch'e Compaan) |
|
d47818b09265
more new property handling
Richard Jones <richard@users.sourceforge.net>
parents:
392
diff
changeset
|
1467 # |
|
392
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1468 # 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
|
1469 # 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
|
1470 # too. |
|
a9edec536e0a
missing "return" in filter_section (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
351
diff
changeset
|
1471 # |
|
351
6932067a8f31
More HTML compliance fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
350
diff
changeset
|
1472 # 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
|
1473 # 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
|
1474 # |
|
350
e8d244a98ffd
Ahah! Fixed the lynx problem - there was a hidden input field misplaced.
Richard Jones <richard@users.sourceforge.net>
parents:
342
diff
changeset
|
1475 # 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
|
1476 # 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
|
1477 # 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
|
1478 # |
|
342
0b7d62e414b6
Added the wrap="hard" attribute to the textarea of the note field...
Richard Jones <richard@users.sourceforge.net>
parents:
340
diff
changeset
|
1479 # 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
|
1480 # 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
|
1481 # |
|
340
9311fa91f478
Added do_stext to htmltemplate, thanks Brad Clements.
Richard Jones <richard@users.sourceforge.net>
parents:
332
diff
changeset
|
1482 # 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
|
1483 # 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
|
1484 # |
|
332
1fe356fc3d3e
Fixed ENOENT/WindowsError thing, thanks Juergen Hermann
Richard Jones <richard@users.sourceforge.net>
parents:
327
diff
changeset
|
1485 # 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
|
1486 # 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
|
1487 # |
|
327
ee8882029150
Removed the "infinite authentication loop", thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
320
diff
changeset
|
1488 # 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
|
1489 # 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
|
1490 # |
|
320
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1491 # 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
|
1492 # 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
|
1493 # disabling access for anonymous users. |
|
61c42790c3f1
Bugfix in filter "widget" placement, thanks Roch'e
Richard Jones <richard@users.sourceforge.net>
parents:
318
diff
changeset
|
1494 # 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
|
1495 # 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
|
1496 # 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
|
1497 # |
|
318
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1498 # 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
|
1499 # Added configuration for: |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1500 # . anonymous user access and registration (deny/allow) |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1501 # . 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
|
1502 # Updated some documentation. |
|
e18dd7227780
Re-enabled login and registration access...
Richard Jones <richard@users.sourceforge.net>
parents:
316
diff
changeset
|
1503 # |
|
316
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1504 # Revision 1.31 2001/10/21 07:26:35 richard |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1505 # feature #473127: Filenames. I modified the file.index and htmltemplate |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1506 # 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
|
1507 # information is displayed. |
|
c0ca7f35e0c5
Added configuration for:
Richard Jones <richard@users.sourceforge.net>
parents:
313
diff
changeset
|
1508 # |
|
313
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1509 # 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
|
1510 # bug #473124: UI inconsistency with Link fields. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1511 # 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
|
1512 # that of being able to turn off certain filters. |
|
489b70c37f32
feature [SF#473127]: Filenames.
Richard Jones <richard@users.sourceforge.net>
parents:
312
diff
changeset
|
1513 # |
|
312
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1514 # 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
|
1515 # 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
|
1516 # Roch'e Compaan.) |
|
5a2c43891c20
[SF#473124]: UI inconsistency with Link fields.
Richard Jones <richard@users.sourceforge.net>
parents:
307
diff
changeset
|
1517 # |
|
307
dac78e092228
CGI interface view customisation section may now be hidden
Richard Jones <richard@users.sourceforge.net>
parents:
306
diff
changeset
|
1518 # 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
|
1519 # 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
|
1520 # |
|
306
36ae7ffb8a42
Fixed Checklist function - wasn't always working on a list.
Richard Jones <richard@users.sourceforge.net>
parents:
303
diff
changeset
|
1521 # 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
|
1522 # 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
|
1523 # |
|
303
3d5031f834f0
Fixed grouping of non-str properties (thanks Roch'e Compaan)
Richard Jones <richard@users.sourceforge.net>
parents:
292
diff
changeset
|
1524 # 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
|
1525 # 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
|
1526 # |
|
292
4340cdc694d4
Handle empty strings in HTML template Link function
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
1527 # 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
|
1528 # 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
|
1529 # 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
|
1530 # |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
250
diff
changeset
|
1531 # 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
|
1532 # *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
|
1533 # 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
|
1534 # |
|
250
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1535 # 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
|
1536 # 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
|
1537 # (thanks Hubert Hoegl) |
|
1d428068485c
*gak* ... xmp is Old Skool apparently.
Richard Jones <richard@users.sourceforge.net>
parents:
245
diff
changeset
|
1538 # 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
|
1539 # |
|
245
8a0d548c07a1
Fixed bug in the generation of links to Link/Multilink in indexes.
Richard Jones <richard@users.sourceforge.net>
parents:
244
diff
changeset
|
1540 # 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
|
1541 # 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
|
1542 # |
|
244
6bf584784e31
Fixed missing import in mailgw :(
Richard Jones <richard@users.sourceforge.net>
parents:
231
diff
changeset
|
1543 # 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
|
1544 # 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
|
1545 # |
|
231
afd428ba6523
better CGI text searching - but hidden filter fields are disappearing...
Richard Jones <richard@users.sourceforge.net>
parents:
228
diff
changeset
|
1546 # 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
|
1547 # 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
|
1548 # 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
|
1549 # |
|
228
1d1848c99abe
Fixed some isFooTypes that I missed.
Richard Jones <richard@users.sourceforge.net>
parents:
224
diff
changeset
|
1550 # 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
|
1551 # 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
|
1552 # |
|
224
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1553 # 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
|
1554 # stupid typo |
|
ad2c98faec97
using isinstance(blah, Foo) now instead of isFooType
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
1555 # |
| 214 | 1556 # Revision 1.17 2001/08/07 00:15:51 richard |
| 1557 # Added the copyright/license notice to (nearly) all files at request of | |
| 1558 # Bizar Software. | |
| 1559 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
171
diff
changeset
|
1560 # 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
|
1561 # 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
|
1562 # |
|
171
3c19bc818711
Checklist was using wrong name.
Richard Jones <richard@users.sourceforge.net>
parents:
167
diff
changeset
|
1563 # 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
|
1564 # 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
|
1565 # |
|
167
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1566 # 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
|
1567 # Features: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1568 # . 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
|
1569 # should be linked somewhere. |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1570 # Fixed: |
|
a49c8a2ddd26
Added time logging and file uploading to the templates.
Richard Jones <richard@users.sourceforge.net>
parents:
162
diff
changeset
|
1571 # . 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
|
1572 # . 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
|
1573 # . 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
|
1574 # |
|
162
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1575 # Revision 1.13 2001/07/30 02:37:53 richard |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1576 # Temporary measure until we have decent schema migration. |
|
717f12e6ccf2
Features and fixes.
Richard Jones <richard@users.sourceforge.net>
parents:
155
diff
changeset
|
1577 # |
|
155
03bdef2d645b
Temporary measure until we have decent schema migration.
Richard Jones <richard@users.sourceforge.net>
parents:
141
diff
changeset
|
1578 # 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
|
1579 # Handles new node display now. |
|
03bdef2d645b
Temporary measure until we have decent schema migration.
Richard Jones <richard@users.sourceforge.net>
parents:
141
diff
changeset
|
1580 # |
|
141
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
1581 # 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
|
1582 # oops |
|
5e8da9d010bd
Handles new node display now.
Richard Jones <richard@users.sourceforge.net>
parents:
131
diff
changeset
|
1583 # |
| 131 | 1584 # Revision 1.10 2001/07/29 09:28:23 richard |
| 1585 # Fixed sorting by clicking on column headings. | |
| 1586 # | |
|
130
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1587 # 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
|
1588 # 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
|
1589 # drill-down) |
|
204f99944de0
Fixed sorting by clicking on column headings.
Richard Jones <richard@users.sourceforge.net>
parents:
128
diff
changeset
|
1590 # |
|
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
|
1591 # 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
|
1592 # 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
|
1593 # |
|
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
|
1594 # 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
|
1595 # 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
|
1596 # |
|
123
51cce9671db0
Cleanup of the link label generation.
Richard Jones <richard@users.sourceforge.net>
parents:
119
diff
changeset
|
1597 # 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
|
1598 # 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
|
1599 # |
|
119
ad64dade1769
Fixed problem in link display when Link value is None.
Richard Jones <richard@users.sourceforge.net>
parents:
116
diff
changeset
|
1600 # 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
|
1601 # 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
|
1602 # |
|
116
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1603 # 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
|
1604 # Replaced errno integers with their module values. |
|
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1605 # De-tabbed templatebuilder.py |
|
c73f727208b0
fixed use of stylesheet
Richard Jones <richard@users.sourceforge.net>
parents:
113
diff
changeset
|
1606 # |
|
113
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1607 # 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
|
1608 # 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
|
1609 # 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
|
1610 # one returned by getprops().keys(). |
|
2ab86442799a
Replaced errno integers with their module values.
Richard Jones <richard@users.sourceforge.net>
parents:
72
diff
changeset
|
1611 # 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
|
1612 # |
|
72
c186b637fee0
Hrm - displaying links to classes that don't specify a key property.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
1613 # 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
|
1614 # 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
|
1615 # |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
1616 # 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
|
1617 # More Grande Splite |
|
25
4cf1daf2f2eb
More Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1618 # |
|
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
|
1619 # |
|
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
|
1620 # vim: set filetype=python ts=4 sw=4 et si |
