Example #1
0
def saveCredentials(user, data, files, delete):
    name = data["credentialsName"]
    serviceAccount = data["serviceAccountEmail"]
    project = data["project"]
    f = request.files["pemFileUpload"]

    credID = getID(data["credentialCredentialsSelect"])
    # get credentials object
    if credID == None:
        cred = Credentials("", "", "", "", user)
    else:
        cred = Credentials.findByID(SESSION, credID, user)
        if cred == None:
            return {"updates": {}, "message": "user permissions error on credentials"}
    # process inputs
    if f and allowedFile(f.filename):
        filename = str(user.id) + ".pem"
        f.save(os.path.join(app.config["PEMFILEFOLDER"], filename))
        pemFileLocation = os.path.join(app.config["PEMFILEFOLDER"], filename)
    else:
        pemFileLocation = ""
    # update values
    if delete:
        Credentials.delete(SESSION, cred.id, user)
    else:
        cred.updateValues(name.lower(), serviceAccount, pemFileLocation, project)
        SESSION.add(cred)
        SESSION.commit()
    return {
        "updates": {"credentials": {c.id: c.dictForJSON() for c in user.credentials}},
        "message": "updated credentials",
    }
Example #2
0
def newWorkflow(user, data, new, delete):
    if delete:
        wfid = getID(request.form["workflowWorkflowsSelect"])
        WorkflowTemplate.delete(SESSION, wfid, user)
        result = {"updates": {}, "message": "deleted workflow"}
    elif new:
        credID = getID(data["workflowCredentialsSelect"])
        if credID == None:
            credentials = None
        else:
            credentials = Credentials.findByID(SESSION, credID, user)
        nwf = WorkflowTemplate(data["newWorkflowName"], user, credentials=credentials)
        SESSION.add(nwf)
        SESSION.commit()
        result = {"updates": {"workflows": {str(nwf.id): nwf.dictForJSON()}}, "message": "added new workflow"}
    else:
        wfid = getID(request.form["workflowVarWorkflowsSelect"])
        wf = WorkflowTemplate.findByID(SESSION, wfid, user)
        if VERBOSE:
            print user.name, user.id
        if wf == None:
            return {"updates": {}, "message": "user permissions error"}
        newvars = parseVariables(request.form)
        wf.updateVarDict(newvars, user)
        result = {"updates": {"workflows": {str(wf.id): wf.dictForJSON()}}, "message": "updated workflow"}
    return result