Mercurial > p > roundup > code
diff roundup/cgi/templating.py @ 1003:f89b8d32291b
Hack hack hack...
. Implemented security assertion idea punted to mailing list (pretty easy to
back out if someone comes up with a better idea) so editing "my details"
works again. Rationalised and cleaned up the actions in any case.
. fixed some more display issues (stuff appearing when it should and shouldn't)
. trying a nicer colouring scheme for the top level page
. handle no grouping being specified
. fixed journaltag so the logged-in user is journalled, not admin!
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Sun, 01 Sep 2002 12:18:41 +0000 |
| parents | 1798d2fa9fec |
| children | 5f12d3259f31 |
line wrap: on
line diff
--- a/roundup/cgi/templating.py Sun Sep 01 04:32:30 2002 +0000 +++ b/roundup/cgi/templating.py Sun Sep 01 12:18:41 2002 +0000 @@ -903,15 +903,17 @@ if self.form.has_key(':filter'): self.filter = handleListCGIValue(self.form[':filter']) self.filterspec = {} - props = self.client.db.getclass(self.classname).getprops() - for name in self.filter: - if self.form.has_key(name): - prop = props[name] - if (isinstance(prop, hyperdb.Link) or - isinstance(prop, hyperdb.Multilink)): - self.filterspec[name] = handleListCGIValue(self.form[name]) - else: - self.filterspec[name] = self.form[name].value + if self.classname is not None: + props = self.client.db.getclass(self.classname).getprops() + for name in self.filter: + if self.form.has_key(name): + prop = props[name] + fv = self.form[name] + if (isinstance(prop, hyperdb.Link) or + isinstance(prop, hyperdb.Multilink)): + self.filterspec[name] = handleListCGIValue(fv) + else: + self.filterspec[name] = fv.value # full-text search argument self.search_text = None @@ -950,9 +952,17 @@ if columns and self.columns: l.append(s%(':columns', ','.join(self.columns.keys()))) if sort and self.sort is not None: - l.append(s%(':sort', self.sort)) + if self.sort[0] == '-': + val = '-'+self.sort[1] + else: + val = self.sort[1] + l.append(s%(':sort', val)) if group and self.group is not None: - l.append(s%(':group', self.group)) + if self.group[0] == '-': + val = '-'+self.group[1] + else: + val = self.group[1] + l.append(s%(':group', val)) if filter and self.filter: l.append(s%(':filter', ','.join(self.filter))) if filterspec: @@ -965,9 +975,17 @@ if self.columns: l.append(':columns=%s'%(','.join(self.columns.keys()))) if self.sort is not None: - l.append(':sort=%s'%self.sort) + if self.sort[0] == '-': + val = '-'+self.sort[1] + else: + val = self.sort[1] + l.append(':sort=%s'%val) if self.group is not None: - l.append(':group=%s'%self.group) + if self.group[0] == '-': + val = '-'+self.group[1] + else: + val = self.group[1] + l.append(':group=%s'%val) if self.filter: l.append(':filter=%s'%(','.join(self.filter))) for k,v in self.filterspec.items():
