Пример #1
0
        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:
Пример #2
0
        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