class EditView(object): """Marker interface edit view. """ def __init__(self, context, request): self.context = context self.request = request self.adapted = IMarkerInterfaces(context) self.context_url = self.context.absolute_url() def __call__(self, SAVE=None, add=(), remove=()): if SAVE: self.update(add, remove) url = '%s?manage_tabs_message=Changes+applied.' self.request.response.redirect(url % self.request.ACTUAL_URL) return '' return self.index() def _getNameLinkDicts(self, interfaceNames): return [dict(name=name) for name in interfaceNames] def getAvailableInterfaceNames(self): return self._getNameLinkDicts( self.adapted.getAvailableInterfaceNames()) def getDirectlyProvidedNames(self): return self._getNameLinkDicts(self.adapted.getDirectlyProvidedNames()) def getInterfaceNames(self): return self._getNameLinkDicts(self.adapted.getInterfaceNames()) def update(self, add, remove): # this could return errors add = self.adapted.dottedToInterfaces(add) remove = self.adapted.dottedToInterfaces(remove) self.adapted.update(add=add, remove=remove)
def __call__(self, context): self.context = context adapted = IMarkerInterfaces(context) terms = [ SimpleTerm(x, title=x) for x in adapted.getAvailableInterfaceNames()] return SimpleVocabulary(terms)
class EditView: """Marker interface edit view. """ def __init__(self, context, request): self.context = context self.request = request self.adapted = IMarkerInterfaces(context) self.context_url = self.context.absolute_url() def __call__(self, SAVE=None, add=(), remove=()): if SAVE: self.update(add, remove) self.request.response.redirect(self.request.ACTUAL_URL) return '' return self.index() def _getLinkToInterfaceDetailsView(self, interfaceName): return ( self.context_url + '/views-details.html?iface=%s&type=zope.publisher.interfaces.browser.IBrowserRequest' % interfaceName) def _getNameLinkDicts(self, interfaceNames): return [ dict(name=name, link=self._getLinkToInterfaceDetailsView(name)) for name in interfaceNames ] def getAvailableInterfaceNames(self): return self._getNameLinkDicts( self.adapted.getAvailableInterfaceNames()) def getDirectlyProvidedNames(self): return self._getNameLinkDicts(self.adapted.getDirectlyProvidedNames()) def getInterfaceNames(self): return self._getNameLinkDicts(self.adapted.getInterfaceNames()) def update(self, add, remove): # this could return errors add = self.adapted.dottedToInterfaces(add) remove = self.adapted.dottedToInterfaces(remove) self.adapted.update(add=add, remove=remove)
class EditView: """Marker interface edit view. """ def __init__(self, context, request): self.context = context self.request = request self.adapted = IMarkerInterfaces(context) self.context_url = self.context.absolute_url() def __call__(self, SAVE=None, add=(), remove=()): if SAVE: self.update(add, remove) self.request.response.redirect(self.request.ACTUAL_URL) return '' return self.index() def _getLinkToInterfaceDetailsView(self, interfaceName): return (self.context_url + '/views-details.html?iface=%s&type=zope.publisher.interfaces.browser.IBrowserRequest' % interfaceName) def _getNameLinkDicts(self, interfaceNames): return [dict(name=name, link=self._getLinkToInterfaceDetailsView(name)) for name in interfaceNames] def getAvailableInterfaceNames(self): return self._getNameLinkDicts( self.adapted.getAvailableInterfaceNames()) def getDirectlyProvidedNames(self): return self._getNameLinkDicts(self.adapted.getDirectlyProvidedNames()) def getInterfaceNames(self): return self._getNameLinkDicts(self.adapted.getInterfaceNames()) def update(self, add, remove): # this could return errors add = self.adapted.dottedToInterfaces(add) remove = self.adapted.dottedToInterfaces(remove) self.adapted.update(add=add, remove=remove)