[Zope] problem with catalog and VHM
Steffen Hausmann
steffen@hausmann-family.de
Wed, 2 Apr 2003 22:25:19 +0200
On Wed, Apr 02, 2003 at 08:59:14PM +0200, Dieter Maurer wrote:
> Steffen Hausmann wrote at 2003-4-2 18:05 +0200:
> > I'm having trouble with the apache RewriteRule.
> >
> > I'm using Zope 2.6.0 on a SuSE linux and the following RewriteRule
> > works perfect with the site I developed.
> >
> > RewriteRule ^/(.*) http://127.0.0.1:8070/VirtualHostBase/https/foo.bar:443/VirtualHostRoot/$1 [L,P]
> >
> > The problem ist, that the folder in which the site is contained in is
> > called /brk and I don't want to access the site via foo.bar/brk.
> > Therefore I changed the RewriteRule into
> >
> > [...]/VirtualHostBase/https/foo.bar:443/brk/VirtualHostRoot/$1 [L,P]
> >
> > This seemed to work until I discovered that parts of the site (which
> > use a catalog that is contained in the /brk folder named brkCatalog)
> > don't work anymore.
> >
> > E.g. the funktion manage_afterAdd (which works perfect with the old
> > rule) raises an AttributeError.
> >
> > manage_afterAdd(self, item, container):
> > [...]
> > self.brkCatalog.reindexIndex('publishDate', REQUEST=None)
> >
> > AttributeError: 'None' object has no attribute 'script'
>
> Thus, pass in a real "REQUEST" rather than "None".
> You can use "self.REQUEST".
That works, but there is another Problem, with another function.
getItem(self, metaType, verband, REQUEST=None):
for object in self.brkCatalog({'meta_type':metaType}):
path = re.match("(.*)/edit/.+?/.+?", object.getObject().absolute_url())
The request that is passed to the funktion by a dtml-in call looks ok
(it is not None), but another AttributeError occurs.
AttributeError: 'None' object has no attribute 'absolute_url'
* Module DocumentTemplate.DT_Util, line 201, in eval
__traceback_info__: REQUEST
* Module <string>, line 0, in ?
* Module Products.Hauptverwaltung.Hilfsklasse, line 398, in
* getItem
This does also work with the old RewriteRule.
Thanks.
MfG Steffen
--
That you're not paranoid doesn't mean they aren't right behind you.