示例#1
0
    for app_member in owner.appmember_set.all():
        app = app_member.app
        alter_ego = app.get_alter_ego()

        if not alter_ego:
            continue 

        if (instance.tabular_type 
            and instance.tabular_type.name.lower() in app.keyword_list()
            and alter_ego.has_perm('view_resourcebase', resource)
        ):
            remove_perm('view_resourcebase', alter_ego, resource)


signals.post_delete.connect(delete_table, sender=Tabular)
signals.pre_save.connect(pre_save_document, sender=Tabular)
signals.post_save.connect(create_thumbnail, sender=Tabular)
signals.post_save.connect(insert_data, sender=Tabular)
signals.pre_save.connect(resourcebase_pre_save, sender=Tabular)
signals.post_save.connect(resourcebase_post_save, sender=Tabular)
map_changed_signal.connect(update_documents_extent)
signals.post_save.connect(share, sender=Tabular)
signals.post_delete.connect(unshare, sender=Tabular)

from eav.registry import EavConfig
class EavConfigClass(EavConfig):
    manager_attr = 'eav_objects'
    object_type = 'tabular_type'
    attribute_relation='tabular_metadata_type_attribute'

eav.register(Tabular, EavConfigClass)
示例#2
0
                                       name=name,
                                       mime=mime,
                                       url=url,
                                       link_type='data',
                                   ))


def create_thumbnail(sender, instance, created, **kwargs):
    from .tasks import create_document_thumbnail

    create_document_thumbnail.delay(object_id=instance.id)


def update_documents_extent(sender, **kwargs):
    documents = get_related_documents(sender)
    if documents:
        for document in documents:
            document.save()


def pre_delete_document(instance, sender, **kwargs):
    remove_object_permissions(instance.get_self_resource())


signals.pre_save.connect(pre_save_document, sender=Document)
signals.post_save.connect(create_thumbnail, sender=Document)
signals.post_save.connect(post_save_document, sender=Document)
signals.post_save.connect(resourcebase_post_save, sender=Document)
signals.pre_delete.connect(pre_delete_document, sender=Document)
map_changed_signal.connect(update_documents_extent)