Beispiel #1
0
 def describe(self, page, path, actives):
     data = {}
     if self.name is not None:
         data["name"] = page.translate(self.name)
     elif self.logo is not None:
         data["logo"] = self.logo
     if self.screen is not None:
         is_screen = False
         if IRESTComponent.implementedBy(self.screen):
             for active in actives:
                 if isinstance(active, self.screen):
                     data["active"] = True
                     break
             is_screen = IUIScreen.implementedBy(self.screen)
         elif self.interface is not None:
             for active in actives:
                 if self.interface.providedBy(active):
                     data["active"] = True
                     break
             is_screen = self.interface.extends(IUIScreen)
         if is_screen:
             screen = self.identifier()
             data["screen"] = "/".join((path, screen)) if path else screen
     if self.action is not None:
         data["action"] = self.action
     if self.description is not None:
         data["description"] = page.translate(self.description)
     if self.accesskey is not None:
         data["accesskey"] = self.accesskey
     if self.icon is not None:
         data["icon"] = self.icon
     return data
Beispiel #2
0
 def available(self):
     # We are available if we have sublevel menu or a screen.
     return (
         (len(self.submenu) != 0)
         or IUIScreen.implementedBy(self.screen)
         or (IInterface.providedBy(self.interface) and self.interface.extends(IUIScreen))
     )