def editactionservers(self, id, time=None): sess = db.getsession() s = sess.query(actionservers.actionserver).filter(actionservers.actionserver.ACTIONID==id).all() b = actionservers.actionserver() b.ACTIONID = id return self.lookup.get_template(ACTIONS + "editactionservers.html").render(actionserverlist=s, blankserver=b, table=db.actionserver_table, id=id)
def saveactionserver(self, **kwargs): sess = db.getsession() try: sess.query(actionservers.actionserver).filter(and_(actionservers.actionserver.ACTIONID == kwargs["ACTIONID"], actionservers.actionserver.SERVERID == kwargs["SERVERID"])).one() return "Error: Already assigned to that Action Server." except: pass a = actionservers.actionserver(ACTIONID = kwargs["ACTIONID"]) sess.add(a) try: fillobj(a, db.actionserver_table, kwargs) u = sess.query(user).filter(user.USERID == cherrypy.session.get('hquserid')).one() if u.actions(db.EDIT_MINE) and not u.actions(db.EDIT): if sess.query(actions.action).filter(actions.action.ACTIONID == kwargs["ACTIONID"]).one().USERID != u.USERID: return "Error: Unable to save action server, you do not have rights to do so." sess.flush() except Exception, e: return "Error: " + str(e)
def copyaction(self, id, newid): sess = db.getsession() try: astruct = sess.query(actions.action).filter(actions.action.ACTIONID == id).one() a = actions.action(ACTIONID = newid) a.TITLE = astruct.TITLE a.CMDLINE = astruct.CMDLINE a.STDIN = astruct.STDIN a.STARTINDIR = astruct.STARTINDIR a.MAXRUNTIME = astruct.MAXRUNTIME a.STDOUT = astruct.STDOUT a.CREATEEVENT = astruct.CREATEEVENT a.COMMENTS = astruct.COMMENTS a.USERID = cherrypy.session.get('hquserid') a.ACTIONID = newid a.STATUS = 4 sess.add(a) sess.flush() avalids = sess.query(validreturncode).filter(validreturncode.ACTIONID == id).all() for i in avalids: new_valid = validreturncode() new_valid.ACTIONID = newid new_valid.VALUE = i.VALUE sess.add(new_valid) sess.flush() adeps = sess.query(actiondeps.actiondep).filter(actiondeps.actiondep.ACTIONID == id).all() for i in adeps: new_dep = actiondeps.actiondep() new_dep.ACTIONID = newid new_dep.DEPACTIONID = i.DEPACTIONID sess.add(new_dep) sess.flush() fdeps = sess.query(filedep).filter(filedep.ACTIONID == id).all() for i in fdeps: new_dep = filedep() new_dep.ACTIONID = newid new_dep.SERVERID = i.SERVERID new_dep.FILENAME = i.FILENAME new_dep.TYPE = i.TYPE sess.add(new_dep) sess.flush() aservers = sess.query(actionservers.actionserver).filter(actionservers.actionserver.ACTIONID == id).all() for i in aservers: new_serv = actionservers.actionserver() new_serv.ACTIONID = newid new_serv.SERVERID = i.SERVERID sess.add(new_serv) sess.flush() agrps = sess.query(actiongroup).filter(actiongroup.ACTIONID == id).all() for i in agrps: new_grp = actiongroup() new_grp.ACTIONID = newid new_grp.GROUPID = i.GROUPID sess.add(new_grp) sess.flush() aevts = sess.query(actionevent).filter(actionevent.ACTIONID == id).all() for i in aevts: new_evt = actionevent() new_evt.ACTIONID = newid new_evt.EVENTNUM = i.EVENTNUM new_evt.RESULT = i.RESULT new_evt.TYPE = i.TYPE sess.add(new_evt) sess.flush() return "Copied" except Exception, e: return e