Don't pass an user object to the task, pass an user id instead
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import logging
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.files import File
|
||||
|
||||
from mayan.celery import app
|
||||
@@ -13,7 +14,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@app.task
|
||||
def task_upload_document(source_id, file_path, filename=None, use_file_name=False, document_type_id=None, expand=False, metadata_dict_list=None, user=None, document_id=None, new_version_data=None, command_line=False, description=None):
|
||||
def task_upload_document(source_id, file_path, filename=None, use_file_name=False, document_type_id=None, expand=False, metadata_dict_list=None, user_id=None, document_id=None, new_version_data=None, command_line=False, description=None):
|
||||
source = Source.objects.get_subclass(pk=source_id)
|
||||
|
||||
if document_type_id:
|
||||
@@ -26,6 +27,11 @@ def task_upload_document(source_id, file_path, filename=None, use_file_name=Fals
|
||||
else:
|
||||
document = None
|
||||
|
||||
if user_id:
|
||||
user = User.objects.get(pk=user_id)
|
||||
else:
|
||||
user = None
|
||||
|
||||
with File(file=open(file_path, mode='rb')) as file_object:
|
||||
#try:
|
||||
result = source.upload_file(file_object, filename, use_file_name, document_type, expand, metadata_dict_list, user, document, new_version_data, command_line, description)
|
||||
|
||||
@@ -198,6 +198,11 @@ def upload_interactive(request, source_id=None, document_pk=None):
|
||||
if source.delete_after_upload:
|
||||
staging_file.delete()
|
||||
|
||||
if not request.user.is_anonymous():
|
||||
user_id = request.user.pk
|
||||
else:
|
||||
user_id = None
|
||||
|
||||
task_upload_document.apply_async(kwargs=dict(
|
||||
source_id=source.pk,
|
||||
file_path=temporary_file.name, filename=new_filename,
|
||||
@@ -205,7 +210,7 @@ def upload_interactive(request, source_id=None, document_pk=None):
|
||||
document_type_id=document_type_id,
|
||||
expand=expand,
|
||||
metadata_dict_list=decode_metadata_from_url(request.GET),
|
||||
user=request.user,
|
||||
user_id=user_id,
|
||||
document_id=document_id,
|
||||
new_version_data=form.cleaned_data.get('new_version_data'),
|
||||
description=form.cleaned_data.get('description'),
|
||||
|
||||
Reference in New Issue
Block a user