Example #1
0
 def test_get_public_tree_all(self):
     self.assertEqual(
         ITreeContents(self.root).get_public_tree_all(),
         [(0, self.root.folder), (1, self.root.folder.folder),
          (0, self.root.publication)])
     IPublicationWorkflow(self.root.document).publish()
     IPublicationWorkflow(self.root.publication.document).publish()
     self.assertEqual(
         ITreeContents(self.root).get_public_tree_all(),
         [(0, self.root.document), (0, self.root.folder),
          (1, self.root.folder.folder), (0, self.root.publication),
          (1, self.root.publication.document)])
Example #2
0
 def test_get_tree(self):
     self.assertEqual(
         ITreeContents(self.root).get_tree(),
         [(0, self.root.document), (0, self.root.folder),
          (1, self.root.folder.document), (1, self.root.folder.folder),
          (2, self.root.folder.folder.document),
          (0, self.root.publication)])
Example #3
0
 def _get_public_tree_helper(self, l, indent, depth, include_publications,
                             filters):
     for item in self.context.get_ordered_publishables():
         if not filters(item):
             continue
         l.append((indent, item))
         if (IContainer.providedBy(item)
                 and (item.is_transparent() or include_publications)):
             if depth == -1 or indent < depth:
                 ITreeContents(item)._get_public_tree_helper(
                     l, indent + 1, depth, include_publications, filters)
Example #4
0
 def _get_container_tree_helper(self, l, indent, depth):
     for item in self.context.get_ordered_publishables():
         if not IContainer.providedBy(item):
             continue
         if item.is_transparent():
             l.append((indent, item))
             if depth == -1 or indent < depth:
                 ITreeContents(item)._get_container_tree_helper(
                     l, indent + 1, depth)
         else:
             l.append((indent, item))
Example #5
0
 def _get_tree_helper(self, l, indent, depth):
     for item in self.context.get_ordered_publishables():
         if item.getId() == 'index':
             # default document should not be inserted
             continue
         if (IContainer.providedBy(item) and item.is_transparent()):
             l.append((indent, item))
             if depth == -1 or indent < depth:
                 ITreeContents(item)._get_tree_helper(l, indent + 1, depth)
         else:
             l.append((indent, item))
Example #6
0
    def _get_status_tree_helper(self, l, indent, depth):
        default = self.context.get_default()
        if default is not None:
            l.append((indent, default))

        for item in self.context.get_ordered_publishables():
            l.append((indent, item))
            if not IContainer.providedBy(item):
                continue
            if (depth == -1 or indent < depth) and item.is_transparent():
                ITreeContents(item)._get_status_tree_helper(
                    l, indent + 1, depth)
Example #7
0
 def test_get_public_tree(self):
     self.assertEqual(
         ITreeContents(self.root).get_public_tree(),
         [(0, self.root.folder), (1, self.root.folder.folder),
          (0, self.root.publication)])
     self.assertEqual(
         ITreeContents(self.root).get_public_tree(1),
         [(0, self.root.folder), (1, self.root.folder.folder),
          (0, self.root.publication)])
     self.assertEqual(
         ITreeContents(self.root).get_public_tree(0),
         [(0, self.root.folder), (0, self.root.publication)])
     IPublicationWorkflow(self.root.document).publish()
     IPublicationWorkflow(self.root.publication.document).publish()
     self.assertEqual(
         ITreeContents(self.root).get_public_tree(),
         [(0, self.root.document), (0, self.root.folder),
          (1, self.root.folder.folder), (0, self.root.publication)])
     IAccessSecurity(self.root.folder).minimum_role = 'Manager'
     self.assertEqual(
         ITreeContents(self.root).get_public_tree(),
         [(0, self.root.document), (0, self.root.publication)])
Example #8
0
def get_content_public_tree(context, depth):
    # This is extremely slow and performance-wise bad
    return ITreeContents(context).get_public_tree(depth)
Example #9
0
 def test_get_container_tree(self):
     self.assertEqual(
         ITreeContents(self.root).get_container_tree(),
         [(0, self.root.folder), (1, self.root.folder.folder),
          (0, self.root.publication)])
Example #10
0
    def test_implementation(self):
        root_tree = ITreeContents(self.root)
        self.assertTrue(verifyObject(ITreeContents, root_tree))

        folder_tree = ITreeContents(self.root.folder)
        self.assertTrue(verifyObject(ITreeContents, folder_tree))