|
14 | 14 | # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
15 | 15 | # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
16 | 16 | # |
17 | | -# $Id: ZRoundup.py,v 1.17 2003-11-12 01:00:58 richard Exp $ |
| 17 | +# $Id: ZRoundup.py,v 1.17.2.1 2004-07-21 04:48:41 richard Exp $ |
18 | 18 | # |
19 | 19 | ''' ZRoundup module - exposes the roundup web interface to Zope |
20 | 20 |
|
@@ -82,12 +82,33 @@ class FormWrapper: |
82 | 82 | ''' |
83 | 83 | def __init__(self, form): |
84 | 84 | self.form = form |
| 85 | + self.value = [] |
85 | 86 | def __getitem__(self, item): |
86 | | - return FormItem(self.form[item]) |
| 87 | + for entry in self.value: |
| 88 | + if entry.name == item: |
| 89 | + return entry |
| 90 | + entry = self.form[item] |
| 91 | + if isinstance(entry, type([])): |
| 92 | + entry = map(FormItem, entry) |
| 93 | + else: |
| 94 | + entry = FormItem(entry) |
| 95 | + return entry |
| 96 | + def getvalue(self, key, default=None): |
| 97 | + if self.form.has_key(key): |
| 98 | + return self.form[key] |
| 99 | + else: |
| 100 | + return default |
87 | 101 | def has_key(self, item): |
| 102 | + for entry in self.value: |
| 103 | + if entry.name == item: |
| 104 | + return 1 |
88 | 105 | return self.form.has_key(item) |
89 | 106 | def keys(self): |
90 | | - return self.form.keys() |
| 107 | + l = [e.name for e in self.value] |
| 108 | + for name in self.form.keys(): |
| 109 | + if name not in l: |
| 110 | + l.append(name) |
| 111 | + return l |
91 | 112 |
|
92 | 113 | class ZRoundup(Item, PropertyManager, Implicit, Persistent): |
93 | 114 | '''An instance of this class provides an interface between Zope and |
|
0 commit comments