Пример #1
0
 def setUp(self):
     self.old_models = get_models()
     SETTINGS['MODELS'] = {}
     for model in self.actstream_models:
         SETTINGS['MODELS'][model.lower()] = apps.get_model(
             *model.split('.'))
     setup_generic_relations()
Пример #2
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    """
    for model in actstream_settings.get_models().values():
        if not model:
            continue
        actstream_register_model(model)
Пример #3
0
def check_actionable_model(model):
    """
    If the model is not defined in the ``MODELS`` setting this check raises the
    ``ModelNotActionable`` exception.
    """
    model = model if hasattr(model, 'objects') else model.__class__
    if not model in get_models().values():
        raise ModelNotActionable(model)
Пример #4
0
def check_actionable_model(model):
    """
    If the model is not defined in the ``MODELS`` setting this check raises the
    ``ModelNotActionable`` exception.
    """
    model = model if hasattr(model, 'objects') else model.__class__
    if not model in get_models().values():
        raise ModelNotActionable(model)
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    """
    for model in actstream_settings.get_models().values():
        if not model:
            continue
        actstream_register_model(model)
Пример #6
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    """
    for model in actstream_settings.get_models().values():
        if not model:
            continue
        for field in ("actor", "target", "action_object"):
            generic.GenericRelation(
                Action,
                content_type_field="%s_content_type" % field,
                object_id_field="%s_object_id" % field,
                related_name="actions_with_%s_%s_as_%s" % (model._meta.app_label, model._meta.module_name, field),
            ).contribute_to_class(model, "%s_actions" % field)

            # @@@ I'm not entirely sure why this works
            setattr(Action, "actions_with_%s_%s_as_%s" % (model._meta.app_label, model._meta.module_name, field), None)
Пример #7
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    """
    for model in actstream_settings.get_models().values():
        if not model:
            continue
        for field in ('actor', 'target', 'action_object'):
            generic.GenericRelation(
                Action,
                content_type_field='%s_content_type' % field,
                object_id_field='%s_object_id' % field,
                related_name='actions_with_%s_%s_as_%s' %
                (model._meta.app_label, model._meta.module_name, field),
            ).contribute_to_class(model, '%s_actions' % field)

            # @@@ I'm not entirely sure why this works
            setattr(
                Action, 'actions_with_%s_%s_as_%s' %
                (model._meta.app_label, model._meta.module_name, field), None)
Пример #8
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    In Django 1.8 Model._meta.module_name was renamed to model_name.
    """

    from django.contrib.contenttypes.fields import GenericRelation

    for model in actstream_settings.get_models().values():
        if not model:
            continue
        for field in ('actor', 'target', 'action_object'):
            GenericRelation(Action,
                content_type_field='%s_content_type' % field,
                object_id_field='%s_object_id' % field,
                related_query_name='actions_with_%s_%s_as_%s' % (
                    model._meta.app_label, model._meta.model_name, field),
            ).contribute_to_class(model, '%s_actions' % field)

            setattr(Action, 'actions_with_%s_%s_as_%s' % (
                model._meta.app_label, model._meta.model_name, field), None)
Пример #9
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    In Django 1.8 Model._meta.module_name was renamed to model_name.
    """

    from django.contrib.contenttypes.fields import GenericRelation

    for model in actstream_settings.get_models().values():
        if not model:
            continue
        for field in ('actor', 'target', 'action_object'):
            GenericRelation(Action,
                content_type_field='%s_content_type' % field,
                object_id_field='%s_object_id' % field,
                related_query_name='actions_with_%s_%s_as_%s' % (
                    model._meta.app_label, model._meta.model_name, field),
            ).contribute_to_class(model, '%s_actions' % field)

            setattr(Action, 'actions_with_%s_%s_as_%s' % (
                model._meta.app_label, model._meta.model_name, field), None)
Пример #10
0
def setup_generic_relations():
    """
    Set up GenericRelations for actionable models.
    """
    for model in actstream_settings.get_models().values():
        if not model:
            continue
        for field in ('actor', 'target', 'action_object'):
            attr = '%s_actions' % field
            if isinstance(getattr(model, attr, None),
                          generic.ReverseGenericRelatedObjectsDescriptor):
                break
            generic.GenericRelation(Action,
                content_type_field='%s_content_type' % field,
                object_id_field='%s_object_id' % field,
                related_name='actions_with_%s_%s_as_%s' % (
                    model._meta.app_label, model._meta.module_name, field),
            ).contribute_to_class(model, attr)

            # @@@ I'm not entirely sure why this works
            setattr(Action, 'actions_with_%s_%s_as_%s' % (
                model._meta.app_label, model._meta.module_name, field), None)
Пример #11
0
 def setUp(self):
     self.old_models = get_models()
     setup_generic_relations()
Пример #12
0
 def setUp(self):
     self.old_models = get_models()
     SETTINGS['MODELS'] = {}
     for model in self.actstream_models:
         SETTINGS['MODELS'][model.lower()] = get_model(*model.split('.'))
     setup_generic_relations()