There are two things that you can do: 1) use redirects 2) in your dtml-files insert the header like so: <dtml-var manage_page_header> <dtml-with "_(management_view='Your_Manage_Tab_Label')"> <dtml-var manage_tabs> </dtml-with> Wolfram ----- Original Message ----- From: "Nico de Boer" <nico@nfg.nl> To: <zope@zope.org> Sent: Wednesday, December 05, 2001 5:02 PM Subject: [Zope] Managing manage-tabs
Hello,
I'm having a problem with my products managing tabs.
It is a folderish product. I want to create a mailform with this product.
I have created a manage tab 'Form', which is made at initialization of the product (with manage_addDTMLDocument). The tab 'Form' shows a textarea where the form can be made in html-code . But when I want to save the changes I return to the manage tab 'Edit'. When I save the changes I want to return to the tab 'Form'. Has this something to do with manage_addDTMLDocument ? It seems like a simple problem, but I can't fix it. Can anyone help me out?
Here is a snippet of my code:
import Globals from Globals import DTMLFile, MessageDialog from OFS.Folder import Folder from OFS.DTMLDocument import *
import string, smtplib, re, urllib
FormMail_Add = DTMLFile('dtml/FormMail_Add', globals())
def manage_FormMail_Add(self, id, title='', formulier='', REQUEST=None): """constructor MailProduct""" self._setObject(id, FormMail(id, title, formulier)) if REQUEST is not None: return self.manage_main(self, REQUEST)
class FormMail(Folder): """FormMail object."""
meta_type = 'Mail Formulier'
manage_options = ( { 'label': 'Edit', 'action': 'manage_main' }, { 'label': 'Form', 'action': 'manage_formulier' }, { 'label': 'View ', 'action': 'state_engine' }, )
##edit the sender, to, subject of the email form manage_formulier = DTMLFile('dtml/formulierEdit', globals())
##edit the html-coded form of the email form manage_main = DTMLFile('dtml/FormMail_Edit', globals())
def __init__(self, id, title='', formulier=''): """Initialization MailProduct""" self.id = id self.title = title self.formulier = self.init_form() self.Add_Formulier()
def manage_edit(self, title='', REQUEST=None): """ Edits content of the MailForm """ self.title = string.strip(title) if REQUEST: message= 'Wijzigingen bewaard.' return self.manage_main(self, REQUEST, manage_tabs_message=message)
def Add_Formulier(self): """Add a formulier to the FormMail product"""
self.manage_addDTMLDocument('form',title='Formulier',file=self.formulier)
def Edit_Formulier(self, formulier='', REQUEST=None): """Edit the formulier""" self.formulier = self.safe_unquote(formulier) if REQUEST: message= 'Changes saved.' return self.manage_formulier(self, REQUEST,
manage_tabs_message=message)
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )