コード例 #1
0
 def hasDependents(self, item):
     # We cannot adapt security-proxied objects to IDependable.  Unwrapping
     # is safe since we do not modify anything, and the information whether
     # an object can be deleted or not is not classified.
     unwrapped_context = removeSecurityProxy(item)
     dependable = IDependable(unwrapped_context, None)
     if dependable is None:
         return False
     else:
         return bool(dependable.dependents())
コード例 #2
0
def CheckDependency(event):
    object = event.object
    dependency = IDependable(object, None)
    if dependency is not None:
        dependents = dependency.dependents()
        if dependents:
            mapping = {
                "object": zapi.getPath(object),
                "dependents": ", ".join(dependents)
                }
            raise DependencyError(Message(exception_msg, mapping=mapping))
コード例 #3
0
 def demographics(self):
     pos = 0
     result = []
     for demo in self.context.values():
         dependable = IDependable(removeSecurityProxy(demo), None)
         removable = dependable is None or not dependable.dependents()
         pos += 1
         result.append({
             'name': demo.__name__,
             'title': demo.title,
             'pos': pos,
             'removable': removable,
         })
     return result
コード例 #4
0
 def demographics(self):
     pos = 0
     result = []
     for demo in self.context.values():
         dependable = IDependable(removeSecurityProxy(demo), None)
         removable = dependable is None or not dependable.dependents()
         pos += 1
         result.append({
             'name': demo.__name__,
             'title': demo.title,
             'pos': pos,
             'removable': removable,
         })
     return result
コード例 #5
0
    def has_dependents(self):
        """Check whether an object has dependents (via IDependable).

        Objects that have dependents cannot be removed from the system.

        Sample usage in a page template:

          <input type="checkbox" name="delete"
                 tal:attributes="disabled obj/schooltool:has_dependents" />

        """
        # We cannot adapt security-proxied objects to IDependable.  Unwrapping
        # is safe since we do not modify anything, and the information whether
        # an object can be deleted or not is not classified.
        unwrapped_context = removeSecurityProxy(self.context)
        dependable = IDependable(unwrapped_context, None)
        if dependable is None:
            return False
        else:
            return bool(dependable.dependents())
コード例 #6
0
ファイル: group.py プロジェクト: achouhans/schooltool-2.8.5
 def render(self, *args, **kw):
     unwrapped = removeSecurityProxy(self.context)
     dependable = IDependable(unwrapped, None)
     if dependable is None or not bool(dependable.dependents()):
         return super(GroupDeleteLink, self).render(*args, **kw)
コード例 #7
0
ファイル: person.py プロジェクト: achouhans/schooltool-2.8.5
 def render(self, *args, **kw):
     dep = IDependable(removeSecurityProxy(self.context), None)
     if (dep is not None and dep.dependents()):
         return ''
     return flourish.page.ModalFormLinkViewlet.render(self, *args, **kw)
コード例 #8
0
 def render(self, *args, **kw):
     unwrapped = removeSecurityProxy(self.context)
     dependable = IDependable(unwrapped, None)
     if dependable is None or not bool(dependable.dependents()):
         return super(GroupDeleteLink, self).render(*args, **kw)
コード例 #9
0
ファイル: person.py プロジェクト: l1ph0x/schooltool-2
 def render(self, *args, **kw):
     dep = IDependable(removeSecurityProxy(self.context), None)
     if (dep is not None and dep.dependents()):
         return ''
     return flourish.page.ModalFormLinkViewlet.render(self, *args, **kw)