newFile.notify_on_download = False newFile.date_uploaded = datetime.datetime.now() newFile.status = "Processing" newFile.upload_request_id = None if ( uploadRequest is None) else uploadRequest.id session.add(newFile) session.commit() #Set status to scanning if cherrypy.file_uploads.has_key(uploadKey): for fileTransfer in cherrypy.file_uploads[uploadKey]: if fileTransfer.file_object.name == upFile.file_object.name: fileTransfer.status = "Scanning and Encrypting" if scanFile else "Encrypting" #Check in the file try: FileService.check_in_file(tempFileName, newFile) #If this is an upload request, check to see if it's a single use request and nullify the ticket if so, now that the file has been successfully uploaded if uploadRequest is not None: if uploadRequest.type == "single": session.add( AuditLog( cherrypy.request.remote.ip, Actions.UPLOAD_REQUEST_FULFILLED, "File %s has been uploaded by an external user to your Filelocker account. This was a single user request and the request has now expired." % (newFile.name), uploadRequest.owner_id)) attachedUploadRequest = session.query( UploadRequest).filter( UploadRequest.id == uploadRequest.id).one() session.delete(attachedUploadRequest) cherrypy.session['uploadRequest'].expired = True else:
newFile.date_expires = expiration avCommand = session.query(ConfigParameter).filter(ConfigParameter.name=="antivirus_command").one().value scanFile = True if (avCommand) else False newFile.notify_on_download = False newFile.date_uploaded = datetime.datetime.now() newFile.status = "Processing" newFile.upload_request_id = None if (uploadRequest is None) else uploadRequest.id #Set status to scanning if cherrypy.file_uploads.has_key(uploadKey): for fileTransfer in cherrypy.file_uploads[uploadKey]: if fileTransfer.file_object.name == upFile.file_object.name: fileTransfer.status = "Scanning and Encrypting" if scanFile else "Encrypting" #Check in the file try: FileService.check_in_file(tempFileName, newFile) ### Moved to check_in_file so the record can be trashed if virus scan fails #session.add(newFile) #session.commit() #If this is an upload request, check to see if it's a single use request and nullify the ticket if so, now that the file has been successfully uploaded if uploadRequest is not None: if uploadRequest.type == "single": session.add(AuditLog(Filelocker.get_client_address(), Actions.UPLOAD_REQUEST_FULFILLED, "File %s has been uploaded by an external user to your Filelocker account. This was a single user request and the request has now expired." % (newFile.name), uploadRequest.owner_id)) attachedUploadRequest = session.query(UploadRequest).filter(UploadRequest.id == uploadRequest.id).one() session.delete(attachedUploadRequest) cherrypy.session['uploadRequest'].expired = True else: session.add(AuditLog(Filelocker.get_client_address(), Actions.UPLOAD_REQUEST_FULFILLED, "File %s has been uploaded by an external user to your Filelocker account." % (newFile.name), uploadRequest.owner_id)) checkInLog = AuditLog(user.id, Actions.UPLOAD, "File %s (%s) checked in to Filelocker: MD5 %s " % (newFile.name, newFile.id, newFile.md5)) if role is not None: checkInLog.affected_role_id = role.id