Files
mayan-edms/mayan/apps/metadata/tasks.py
2016-01-28 05:43:08 -04:00

38 lines
1022 B
Python

from __future__ import unicode_literals
import logging
from django.apps import apps
from mayan.celery import app
logger = logging.getLogger(__name__)
@app.task(ignore_result=True)
def task_remove_metadata_type(document_type_id, metadata_type_id):
DocumentMetadata = apps.get_model(
app_label='metadata', model_name='DocumentMetadata'
)
DocumentMetadata.objects.filter(
document__document_type__id=document_type_id,
metadata_type__id=metadata_type_id
).delete()
@app.task(ignore_result=True)
def task_add_required_metadata_type(document_type_id, metadata_type_id):
DocumentType = apps.get_model(
app_label='documents', model_name='DocumentType'
)
MetadataType = apps.get_model(
app_label='metadata', model_name='MetadataType'
)
metadata_type = MetadataType.objects.get(pk=metadata_type_id)
for document in DocumentType.objects.get(pk=document_type_id).documents.all():
document.metadata.create(metadata_type=metadata_type)