Пример #1
0
def lookuplists():
    """
    Generator function for lookuplists
    """
    for lookuplist in utils._itersubclasses(LookupList):
        if not lookuplist._meta.abstract:
            yield lookuplist
Пример #2
0
def lookuplists():
    """
    Generator function for lookuplists
    """
    for lookuplist in utils._itersubclasses(LookupList):
        if not lookuplist._meta.abstract:
            yield lookuplist
Пример #3
0
    def list(klass):
        """
        Return a list of all ward rounds
        """

        if not IMPORTED_FROM_APPS:
            import_from_apps()
        return _itersubclasses(klass)
Пример #4
0
    def list(klass):
        """
        Return a list of all ward rounds
        """

        if not IMPORTED_FROM_APPS:
            import_from_apps()
        return _itersubclasses(klass)
Пример #5
0
def patient_subrecords():
    """
    Generator function for patient subrecords.
    """
    from opal.models import PatientSubrecord
    for model in _itersubclasses(PatientSubrecord):
        if model._meta.abstract:
            continue
        yield model
Пример #6
0
def episode_subrecords():
    """
    Generator function for episode subrecords.
    """
    from opal.models import EpisodeSubrecord
    for model in _itersubclasses(EpisodeSubrecord):
        if model._meta.abstract or model._exclude_from_subrecords:
            continue
        yield model
Пример #7
0
def patient_subrecords():
    """
    Generator function for patient subrecords.
    """
    from opal.models import PatientSubrecord
    for model in _itersubclasses(PatientSubrecord):
        if model._meta.abstract or model._exclude_from_subrecords:
            continue
        yield model
Пример #8
0
def episode_subrecords():
    """
    Generator function for episode subrecords.
    """
    from opal.models import EpisodeSubrecord
    for model in _itersubclasses(EpisodeSubrecord):
        if model._meta.abstract:
            continue
        yield model
Пример #9
0
    def has_delete_permission(self, request, obj=None):
        if obj is None:
            return True

        for sub in _itersubclasses(models.TrackedModel):
            if not hasattr(sub, 'objects'):
                continue  # It's another abstract model!
            instances = sub.objects.filter(
                Q(created_by=obj) | Q(updated_by=obj)).count()
            if instances > 0:
                return False
        return True
Пример #10
0
 def on_delete_cb(sender, instance, *args, **kwargs):
     if not cls._meta.abstract:
         cls.objects.filter(**{
             self.fk_field_name: instance
         }).update(**{self.ft_field_name: instance.name})
     else:
         subclasses = _itersubclasses(cls)
         for sub_class in subclasses:
             if not sub_class._meta.proxy or sub_class._meta.abstract:
                 sub_class.objects.filter(**{
                     self.fk_field_name: instance
                 }).update(**{self.ft_field_name: instance.name})
Пример #11
0
    def has_delete_permission(self, request, obj=None):
        if obj is None:
            return True

        for sub in _itersubclasses(models.TrackedModel):
            if not hasattr(sub, 'objects'):
                continue  # It's another abstract model!
            instances = sub.objects.filter(
                Q(created_by=obj) | Q(updated_by=obj)
            ).count()
            if instances > 0:
                return False
        return True
Пример #12
0
    def test_tree_structure(self):
        class A(object):
            pass

        class B(A):
            pass

        class C(B, utils.AbstractBase):
            pass

        class D(C):
            pass

        results = {i for i in utils._itersubclasses(A)}
        self.assertEqual(results, set([B, D]))
Пример #13
0
    def test_tree_structure(self):
        class A(object):
            pass

        class B(A):
            pass

        class C(B, utils.AbstractBase):
            pass

        class D(C):
            pass

        results = {i for i in utils._itersubclasses(A)}
        self.assertEqual(results, set([B, D]))
Пример #14
0
 def test_old_style_classes(self):
     class Old: pass
     with self.assertRaises(TypeError):
         list(utils._itersubclasses(Old))
Пример #15
0
 def test_when_called_with_type(self):
     expected = type.__subclasses__(type)
     for s in expected:
         self.assertIn(s, list(utils._itersubclasses(type)))
Пример #16
0
 def get_class_from_test_name(cls, test_name):
     for test_class in _itersubclasses(cls):
         if test_class.get_display_name() == test_name:
             return test_class
Пример #17
0
def get_subclass(module, klass):
    import_from_apps(module)
    return _itersubclasses(klass)
Пример #18
0
 def list(cls):
     for test_class in _itersubclasses(cls):
         if not isinstance(cls, AbstractBase):
             yield test_class
Пример #19
0
 def list(cls):
     for test_class in _itersubclasses(cls):
         if not isinstance(cls, AbstractBase):
             yield test_class
Пример #20
0
def get_subclass(module, klass):
    import_from_apps(module)
    return _itersubclasses(klass)
Пример #21
0
 def get_class_from_test_name(cls, test_name):
     for test_class in _itersubclasses(cls):
         if test_class.get_display_name() == test_name:
             return test_class
Пример #22
0
 def test_when_called_with_type(self):
     expected = type.__subclasses__(type)
     for s in expected:
         self.assertIn(s, list(utils._itersubclasses(type)))