diff --git a/api/placer.py b/api/placer.py index 78d978946efc3ba69218f9fc73a428dbea7d10ce..41b29f73f07452f4d41fa1aa1fe3795e20b20d20 100644 --- a/api/placer.py +++ b/api/placer.py @@ -10,11 +10,12 @@ import zipfile from . import config from . import encoder from . import files -from .jobs import rules from . import tempdir as tempfile from . import util from . import validators from .dao import containerutil, hierarchy +from .jobs import rules +from .types import Origin log = config.log @@ -401,6 +402,15 @@ class PackfilePlacer(Placer): # Remove the folder created by TokenPlacer shutil.rmtree(self.folder) + # Lookup uid on token + token = self.context['token'] + uid = config.db['tokens'].find_one({ '_id': token }).get('user') + self.origin = { + 'type': str(Origin.user), + 'id': uid + } + + # Create an anyonmous object in the style of our augmented file fields. # Not a great practice. See process_upload() for details. cgi_field = util.obj_from_map({ @@ -496,7 +506,6 @@ class PackfilePlacer(Placer): self.save_file(cgi_field, cgi_info) # Delete token - token = self.context['token'] config.db['tokens'].delete_one({ '_id': token }) result = {