Beispiel #1
0
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)
Beispiel #4
0
 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)
Beispiel #7
0
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)
Beispiel #8
0
 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,")
Beispiel #13
0
 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,")
Beispiel #14
0
 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()
Beispiel #17
0
 def index(self):
     pages.require("/admin/users.edit")
     return pages.get_template("auth/index.html").render(auth=auth)
Beispiel #18
0
 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 newgroup(self):
     pages.require("/admin/users.edit")
     return pages.get_template("auth/newgroup.html").render()
Beispiel #21
0
 def save(self):
     pages.require("/admin/settings.edit")
     return pages.get_template("settings/save.html").render()
Beispiel #22
0
 def index(self):
     pages.require("/admin/persistancefiles.view")
     return pages.get_template("persistfiles/delete.html").render()
Beispiel #23
0
 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()
Beispiel #32
0
 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)
Beispiel #34
0
 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)
Beispiel #37
0
 def save(self, *path, **data):
     pages.require('/admin/settings.edit')
     return pages.get_template('save.html').render()
Beispiel #38
0
 def about(self, *path, **data):
     return pages.get_template('help/about.html').render(
         myip=MyExternalIPAdress)
Beispiel #39
0
 def license(self, *path, **data):
     return pages.get_template('help/license.html').render()
Beispiel #40
0
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'])
Beispiel #41
0
 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()
Beispiel #46
0
 def docs(self, *path, **data):
     return pages.get_template('help/help.html').render()
 def permissionerror(self,):
     return pages.get_template('errors/permissionerror.html').render()
Beispiel #48
0
 def helpmenu(self, *path, **data):
     return pages.get_template('help/index.html').render()
 def alreadyexists(self,):
     return pages.get_template('errors/alreadyexists.html').render()
Beispiel #50
0
 def permissionerror(self, ):
     return pages.get_template('errors/permissionerror.html').render()
 def loginerror(self,):
     return pages.get_template('errors/loginerror.html').render()
Beispiel #52
0
 def loginerror(self, ):
     return pages.get_template('errors/loginerror.html').render()
 def wrongmethod(self,):
     return pages.get_template('errors/wrongmethod.html').render()