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
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", }
def getCredentials(self, user): cred = Credentials.findByName(SESSION, "test_credentials", user) if cred == None: cred = Credentials("test_credentials", "*****@*****.**", "/Users/cmelton/Documents/AptanaStudio3WorkspaceNew/DDCloudServer/Data/TestFiles/GCP_SnyderProject.pem", "gbsc-gcp-lab-snyder", user) return cred