Example #1
0
 def relations(self):
     """ Relations
     """
     if self._relations:
         return self._relations
     self._relations = queryForwardRelations(self.context)
     return self._relations
Example #2
0
 def relations(self):
     """ Relations
     """
     if self._relations:
         return self._relations
     self._relations = queryForwardRelations(self.context)
     return self._relations
Example #3
0
 def no_relations_entered(self):
     """ """
     obj = self.context
     ctypes = list(queryForwardRelations(obj))
     relations = []
     forward_backward_auto_relations = self.forward_backward_auto()
     tab_titles = [i[0] for i in forward_backward_auto_relations] if \
         forward_backward_auto_relations else []
     for ctype in ctypes:
         if getattr(ctype, 'no_relation_label', False):
             if ctype.forward_label not in tab_titles:
                 relations.append(ctype)
     return relations
Example #4
0
 def required_for(self, state):
     """ Lookup possible context relations
     """
     relations = queryForwardRelations(self.context)
     for relation in relations:
         field = relation.getField('required_for')
         if not field:
             continue
         value = field.getAccessor(relation)()
         if not value:
             continue
         if state in value:
             return True
     return False
Example #5
0
    def relations(self, state):
        """ Relations
        """
        relations = queryForwardRelations(self.context)
        for relation in relations:
            field = relation.getField('required_for')
            if not field:
                continue
            value = field.getAccessor(relation)()
            if not value:
                continue
            if state not in value:
                continue

            to = relation.getField('to')
            if not to:
                continue
            yield to.getAccessor(relation)()
Example #6
0
    def relations(self, instance):
        """ Possible relations
        """
        rtool = getToolByName(instance, 'portal_relations')
        relations = queryForwardRelations(instance)
        for relation in relations:
            field = relation.getField('required')
            if not field:
                continue
            value = field.getAccessor(relation)()
            if not value:
                continue

            to = relation.getField('to').getAccessor(relation)()
            if to not in rtool.objectIds():
                continue

            yield to