Dear all, I've got a Zope site that has an interface. People can via the interface delete real zope objects if they know the password. They don't have to "/manage", they just call DTML Method that has this in it. <dtml-call "manage_delObjects('objectid')"> If they previously haven't logged into the Zope realm, they have to do that naturally if they come across this DTML. Fine. But If I enclose this in a <dtml-try> tag like this: <dtml-try> <dtml-call "manage_delObjects('objectid')"> <dtml-except> bad day! </dtml-try> That catches all errors even the not-so-object-error: "the user isn't authenticated"! So, what happens is that if I enclose it with a <dtml-try> tag, Zope does not challange the user to log in. How can I get both ways? This is one solution: <dtml-if "'Manager' in AUTHENTICATED_USER.getRoles()"> <dtml-call "manage_delObjects('objectid')"> <dtml-else> <dtml-try> <dtml-call "manage_delObjects('objectid')"> <dtml-except> bad day! </dtml-try> </dtml-if> But that isn't very good looking and not exactly what I want. Appreciates it, Peter
participants (1)
-
Peter Bengtsson