示例#1
0
	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)
示例#2
0
	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)
示例#3
0
	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