def resourceEditPage(module, resource): pages.require("/admin/modules.view") with modulesLock: resourceinquestion = ActiveModules[module][resource] if resourceinquestion['resource-type'] == 'permission': return permissionEditPage(module, resource) if resourceinquestion['resource-type'] == 'event': return pages.get_template("modules/events/event.html").render( module=module, name=resource, event=ActiveModules[module][resource]) if resourceinquestion['resource-type'] == 'page': if 'require-permissions' in resourceinquestion: requiredpermissions = resourceinquestion['require-permissions'] else: requiredpermissions = [] return pages.get_template("modules/pages/page.html").render( module=module, name=resource, page=ActiveModules[module][resource], requiredpermissions=requiredpermissions)
def module(self,module,*path,**kwargs): #If we are not performing an action on a module just going to its page if not path: pages.require("/admin/modules.view") return pages.get_template("modules/module.html").render(module = ActiveModules[module],name = module) else: #This gets the interface to add a page if path[0] == 'addresource': #path[1] tells what type of resource is being created and addResourceDispatcher returns the appropriate crud screen return addResourceDispatcher(module,path[1]) #This case handles the POST request from the new resource target if path[0] == 'addresourcetarget': return addResourceTarget(module,path[1],kwargs['name'],kwargs) #This case shows the information and editing page for one resource if path[0] == 'resource': return resourceEditPage(module,path[1]) #This goes to a dispatcher that takes into account the type of resource and updates everything about the resource. if path[0] == 'updateresource': return resourceUpdateTarget(module,path[1],kwargs) #This returns a page to delete any resource by name if path[0] == 'deleteresource': pages.require("/admin/modules.edit") return pages.get_template("modules/deleteresource.html").render(module=module) #This handles the POST request to actually do the deletion if path[0] == 'deleteresourcetarget': pages.require("/admin/modules.edit") with modulesLock: r = ActiveModules[module].pop(kwargs['name']) #Annoying bookkeeping crap to get rid of the cached crap if r['resource-type'] == 'event': newevt.removeOneEvent(kwargs['name']) if r['resource-type'] == 'permission': auth.importPermissionsFromModules() #sync auth's list of permissions raise cherrypy.HTTPRedirect('/modules') #This is the target used to change the name and description(basic info) of a module if path[0] == 'update': pages.require("/admin/modules.edit") with modulesLock: ActiveModules[kwargs['name']] = ActiveModules.pop(module) ActiveModules[module]['__description']['text'] = kwargs['description'] raise cherrypy.HTTPRedirect('/modules/module/'+util.url(kwargs['name']))
def addResourceDispatcher(module,type): pages.require("/admin/modules.edit") #Return a crud to add a new permission if type == 'permission': return pages.get_template("modules/permissions/new.html").render(module=module) #return a crud to add a new event if type == 'event': return pages.get_template("modules/events/new.html").render(module=module) #return a crud to add a new event if type == 'page': return pages.get_template("modules/pages/new.html").render(module=module)
def newmoduletarget(self, **kwargs): global scopes pages.require("/admin/modules.edit") global moduleschanged moduleschanged = True #If there is no module by that name, create a blank template and the scope obj with modulesLock: if kwargs['name'] not in ActiveModules: ActiveModules[kwargs['name']] = { "__description": { "resource-type": "module-description", "text": "Module info here" } } #Create the scope that code in the module will run in scopes[kwargs['name']] = obj() #Go directly to the newly created module messagebus.postMessage( "/system/notifications", "User " + pages.getAcessingUser() + " Created Module " + kwargs['name']) raise cherrypy.HTTPRedirect("/modules/module/" + util.url(kwargs['name'])) else: return pages.get_template("error.html").render( info=" A module already exists by that name,")
def user(self, username): pages.require("/admin/users.edit") return pages.get_template("auth/user.html").render( usergroups=auth.Users[username]['groups'], groups=sorted(auth.Groups.keys()), password=auth.Users[username]['password'], username=username)
def user(self,username): pages.require("/admin/users.edit") return pages.get_template("auth/user.html").render( usergroups=auth.Users[username]['groups'], groups= sorted(auth.Groups.keys()), password = auth.Users[username]['password'], username = username)
def addResourceDispatcher(module, type): pages.require("/admin/modules.edit") #Return a crud to add a new permission if type == 'permission': return pages.get_template("modules/permissions/new.html").render( module=module) #return a crud to add a new event if type == 'event': return pages.get_template("modules/events/new.html").render( module=module) #return a crud to add a new event if type == 'page': return pages.get_template("modules/pages/new.html").render( module=module)
def index(self, *path, **data): #Was there a reason not to use pages.require if 'auth' in cherrypy.request.cookie.keys(): if auth.checkTokenPermission(cherrypy.request.cookie['auth'].value, "/admin/mainpage.view"): return pages.get_template('index.html').render( user=cherrypy.request.cookie['user'].value, ) return self.login.index()
def index(self,*path,**data): #Was there a reason not to use pages.require if 'auth' in cherrypy.request.cookie.keys(): if auth.checkTokenPermission(cherrypy.request.cookie['auth'].value,"/admin/mainpage.view"): return pages.get_template('index.html').render( user = cherrypy.request.cookie['user'].value, ) return self.login.index()
def resourceEditPage(module,resource): pages.require("/admin/modules.view") with modulesLock: resourceinquestion = ActiveModules[module][resource] if resourceinquestion['resource-type'] == 'permission': return permissionEditPage(module, resource) if resourceinquestion['resource-type'] == 'event': return pages.get_template("/modules/events/event.html").render(module =module,name =resource,event =ActiveModules[module][resource]) if resourceinquestion['resource-type'] == 'page': if 'require-permissions' in resourceinquestion: requiredpermissions = resourceinquestion['require-permissions'] else: requiredpermissions = [] return pages.get_template("/modules/pages/page.html").render(module=module,name=resource, page=ActiveModules[module][resource],requiredpermissions = requiredpermissions)
def setlogging(self, txt): pages.require('/admin/logging.edit') global loglistchanged loglistchanged = True global toSave toSave = set() for line in txt.split("\n"): line = line.strip() if line.startswith("/"): line = line[1:] toSave.add(line) return pages.get_template('logging/index.html').render()
def newmoduletarget(self,**kwargs): global scopes pages.require("/admin/modules.edit") #If there is no module by that name, create a blank template and the scope obj with modulesLock: if kwargs['name'] not in ActiveModules: ActiveModules[kwargs['name']] = {"__description": {"resource-type":"module-description", "text":"Module info here"}} #Create the scope that code in the module will run in scopes[kwargs['name']] = {} #Go directly to the newly created module raise cherrypy.HTTPRedirect("/modules/module/"+util.url(kwargs['name'])) else: return pages.get_template("error.html").render(info = " A module already exists by that name,")
def newmoduletarget(self,**kwargs): global scopes pages.require("/admin/modules.edit") global moduleschanged moduleschanged = True #If there is no module by that name, create a blank template and the scope obj with modulesLock: if kwargs['name'] not in ActiveModules: ActiveModules[kwargs['name']] = {"__description": {"resource-type":"module-description", "text":"Module info here"}} #Create the scope that code in the module will run in scopes[kwargs['name']] = obj() #Go directly to the newly created module messagebus.postMessage("/system/notifications","User "+ pages.getAcessingUser() + " Created Module " + kwargs['name']) raise cherrypy.HTTPRedirect("/modules/module/"+util.url(kwargs['name'])) else: return pages.get_template("error.html").render(info = " A module already exists by that name,")
def wrongmethod(self, ): return pages.get_template('errors/wrongmethod.html').render()
def flushlogs(self): pages.require('/admin/logging.edit') return pages.get_template('logging/dump.html').render()
def deletemodule(self): pages.require("/admin/modules.edit") return pages.get_template("modules/delete.html").render()
def index(self): pages.require("/admin/users.edit") return pages.get_template("auth/index.html").render(auth=auth)
def newgroup(self): pages.require("/admin/users.edit") return pages.get_template("auth/newgroup.html").render()
def index(self): pages.require("/admin/users.edit") return pages.get_template("auth/index.html").render(auth = auth)
def save(self): pages.require("/admin/settings.edit") return pages.get_template("settings/save.html").render()
def index(self): pages.require("/admin/persistancefiles.view") return pages.get_template("persistfiles/delete.html").render()
def index(self): pages.require("/admin/settings.view") return pages.get_template("settings/index.html").render()
def clearall(self,topic): pages.require('/admin/logging.edit') log.pop(topic) return pages.get_template('logging/index.html').render()
def viewall(self, topic): pages.require('/users/logs.view') return pages.get_template('logging/topic.html').render(topicname=topic)
def archive(self): pages.require('/users/logs.view') return pages.get_template('logging/archive.html').render(files = listlogdumps())
def dumpfiletarget(self): pages.require('/admin/logging.edit') dumpLogFile() return pages.get_template('logging/index.html').render()
def group(self,group): pages.require("/admin/users.edit") return pages.get_template("auth/group.html").render( auth = auth, name = group)
def save(self,*path,**data): pages.require('/admin/settings.edit') return pages.get_template('save.html').render()
def deletegroup(self,**kwargs): pages.require("/admin/users.edit") return pages.get_template("auth/deletegroup.html").render()
def docs(self,*path,**data): return pages.get_template('help/help.html').render()
def group(self, group): pages.require("/admin/users.edit") return pages.get_template("auth/group.html").render(auth=auth, name=group)
def about(self,*path,**data): return pages.get_template('help/about.html').render(myip = MyExternalIPAdress)
def deletegroup(self, **kwargs): pages.require("/admin/users.edit") return pages.get_template("auth/deletegroup.html").render()
def helpmenu(self,*path,**data): return pages.get_template('help/index.html').render()
def index(self): #Require permissions and render page. A lotta that in this file. pages.require("/admin/modules.view") return pages.get_template("modules/index.html").render(ActiveModules = ActiveModules)
def save(self, *path, **data): pages.require('/admin/settings.edit') return pages.get_template('save.html').render()
def about(self, *path, **data): return pages.get_template('help/about.html').render( myip=MyExternalIPAdress)
def license(self, *path, **data): return pages.get_template('help/license.html').render()
def permissionEditPage(module, resource): pages.require("/admin/modules.view") return pages.get_template("modules/permissions/permission.html").render( module=module, permission=resource, description=ActiveModules[module][resource]['description'])
def alreadyexists(self, ): return pages.get_template('errors/alreadyexists.html').render()
def permissionEditPage(module,resource): pages.require("/admin/modules.view") return pages.get_template("modules/permissions/permission.html").render(module = module, permission = resource, description = ActiveModules[module][resource]['description'])
def index(self, ): pages.require('/users/logs.view') return pages.get_template('logging/index.html').render()
def license(self,*path,**data): return pages.get_template('help/license.html').render()
def stoplogging(self,topic): pages.require('/admin/logging.edit') global loglistchanged loglistchanged = True toSave.discard(topic) return pages.get_template('logging/index.html').render()
def docs(self, *path, **data): return pages.get_template('help/help.html').render()
def permissionerror(self,): return pages.get_template('errors/permissionerror.html').render()
def helpmenu(self, *path, **data): return pages.get_template('help/index.html').render()
def alreadyexists(self,): return pages.get_template('errors/alreadyexists.html').render()
def permissionerror(self, ): return pages.get_template('errors/permissionerror.html').render()
def loginerror(self,): return pages.get_template('errors/loginerror.html').render()
def loginerror(self, ): return pages.get_template('errors/loginerror.html').render()
def wrongmethod(self,): return pages.get_template('errors/wrongmethod.html').render()