def __init__(self,
                 stateDir,
                 name,
                 redirectPath,
                 lang='en',
                 validate=None,
                 defaults=None,
                 **kwargs):
        PostActions.__init__(self, name=name, **kwargs)
        self._name = name
        isdir(stateDir) or makedirs(stateDir)
        self._registryFile = join(stateDir,
                                  "registry_{0}.json".format(self._name))
        self._redirectPath = redirectPath
        self._lang = lang
        self._validate = validate if validate else lambda *args, **kwargs: None
        self._register = {}
        if not isfile(self._registryFile):
            for default in defaults or []:
                self._register[str(uuid4())] = default
            self._save(self._register)

        self.registerKeys()

        self.registerAction('add', self.handleAdd)
        self.registerAction('update', self.handleUpdate)
        self.registerAction('remove', self.handleRemove)
Example #2
0
    def __init__(self, dataDir):
        PostActions.__init__(self)
        self._filename = join(dataDir, 'users.xml')

        self.registerAction("create", self._create)
        self.registerAction("delete", self._delete)
        self.registerAction("update", self._update)
    def testRegisterAction(self):
        p = PostActions()

        def myAction(**kwargs):
            yield "My Action is done"

        p.registerAction("act", myAction)
        response = asString(p.handleRequest(Method="POST", path="/act"))
        self.assertEquals("My Action is done", response)
Example #4
0
 def __init__(self, **kwargs):
     PostActions.__init__(self, **kwargs)
     self.registerAction('createGroup', self._createGroup)
     self.registerAction('updateGroup', self._updateGroup)
     self.registerAction('updateGroupAdmin', self._updateGroupAdmin)
     self.registerAction('addUsername', self._addUser)
     self.registerAction('removeUsername', self._removeUser)
     self.registerAction('addDomain', self._addDomain)
     self.registerAction('removeDomain', self._removeDomain)
    def testMethodsAllowed(self):
        p = PostActions()

        response = asString(p.handleRequest(Method="GET", path="/"))
        self.assertEquals(
            'HTTP/1.0 405 Method Not Allowed\r\nContent-Type: text/html; charset=utf-8\r\nAllow: POST\r\n\r\n<h1>Method Not Allowed</h1>',
            response)
        response = asString(p.handleRequest(Method="Get", path="/"))
        self.assertEquals(
            'HTTP/1.0 405 Method Not Allowed\r\nContent-Type: text/html; charset=utf-8\r\nAllow: POST\r\n\r\n<h1>Method Not Allowed</h1>',
            response)
Example #6
0
 def __init__(self, action, loginPath, home="/", name=None, lang='en', rememberMeCookie=False):
     PostActions.__init__(self, name=name)
     self._action = action
     self._loginPath = loginPath
     self._home = home
     self.registerAction('changepassword', self.handleChangePassword)
     self.registerAction('remove', self.handleRemove)
     self.registerAction('newUser', self.handleNewUser)
     self.defaultAction(self.handleLogin)
     self._lang = lang
     self._rememberMeCookie = rememberMeCookie
Example #7
0
 def __init__(self,
              action,
              loginPath,
              home="/",
              name=None,
              lang='en',
              rememberMeCookie=False):
     PostActions.__init__(self, name=name)
     self._action = action
     self._loginPath = loginPath
     self._home = home
     self.registerAction('changepassword', self.handleChangePassword)
     self.registerAction('remove', self.handleRemove)
     self.registerAction('newUser', self.handleNewUser)
     self.defaultAction(self.handleLogin)
     self._lang = lang
     self._rememberMeCookie = rememberMeCookie
 def __init__(self, **kwargs):
     PostActions.__init__(self, **kwargs)
     self._registerFormAction('addDomain', self._addDomain)
     self._registerFormAction('updateDomain', self._updateDomain)
     self._registerFormAction('addRepositoryGroup', self._addRepositoryGroup)
     self._registerFormAction('deleteRepositoryGroup', self._deleteRepositoryGroup)
     self._registerFormAction('updateRepositoryGroup', self._updateRepositoryGroup)
     self._registerFormAction('addRepository', self._addRepository)
     self._registerFormAction('deleteRepository', self._deleteRepository)
     self._registerFormAction('updateRepository', self._updateRepository)
     self._registerFormAction('addMapping', self._addMapping)
     self._registerFormAction('updateMapping', self._updateMapping)
     self._registerFormAction('deleteMapping', self._deleteMapping)
     self._registerFormAction('addTarget', self._addTarget)
     self._registerFormAction('updateTarget', self._updateTarget)
     self._registerFormAction('deleteTarget', self._deleteTarget)
     self.registerAction('repositoryDone', self._repositoryDone)
     self.defaultAction(lambda path, **kwargs: badRequestHtml + "Invalid action: " + path)
Example #9
0
    def __init__(self, stateDir, name, redirectPath, lang='en', validate=None, defaults=None, **kwargs):
        PostActions.__init__(self, name=name, **kwargs)
        self._name = name
        isdir(stateDir) or makedirs(stateDir)
        self._registryFile = join(stateDir, "registry_{0}.json".format(self._name))
        self._redirectPath = redirectPath
        self._lang = lang
        self._validate = validate if validate else lambda *args, **kwargs: None
        self._register = {}
        if not isfile(self._registryFile):
            for default in defaults or []:
                self._register[str(uuid4())] = default
            self._save(self._register)

        self.registerKeys()

        self.registerAction('add', self.handleAdd)
        self.registerAction('update', self.handleUpdate)
        self.registerAction('remove', self.handleRemove)
    def __init__(self, **kwargs):
        PostActions.__init__(self, **kwargs)
        self.registerAction('addDomain', self._addDomain)
        self.registerAction('updateDomain', self._updateDomain)
        self.registerAction('addRepositoryGroup', self._addRepositoryGroup)
        self.registerAction('deleteRepositoryGroup',
                            self._deleteRepositoryGroup)
        self.registerAction('updateRepositoryGroup',
                            self._updateRepositoryGroup)

        self.registerAction('addRepository', self._addRepository)
        self.registerAction('deleteRepository', self._deleteRepository)
        self.registerAction('updateRepositoryAttributes',
                            self._updateRepositoryAttributes)
        self.registerAction('updateRepositoryActionAttributes',
                            self._updateRepositoryActionAttributes)
        self.registerAction('updateRepositoryFieldDefinitions',
                            self._updateRepositoryFieldDefinitions)

        self.registerAction('addRepositoryClosingHours',
                            self._addRepositoryClosingHours)
        self.registerAction('deleteRepositoryClosingHours',
                            self._deleteReppositoryClosingHours)

        self.registerAction('updateFieldDefinition',
                            self._updateFieldDefinition)

        self.registerAction('addMapping', self._addMapping)
        self.registerAction('updateMapping', self._updateMapping)
        self.registerAction('deleteMapping', self._deleteMapping)

        self.registerAction('addTarget', self._addTarget)
        self.registerAction('updateTarget', self._updateTarget)
        self.registerAction('deleteTarget', self._deleteTarget)

        self.registerAction('repositoryDone', self._repositoryDone)
        self.defaultAction(
            lambda path, **kwargs: badRequestHtml + "Invalid action: " + path)
    def testNoContent(self):
        p = PostActions()

        response = asString(p.handleRequest(Method="POST", path="/"))
        self.assertEquals(
            'HTTP/1.0 204 No Content\r\nContent-Type: text/plain; charset=utf-8\r\n\r\n',
            response)

        def default(**kwargs):
            yield "This is the default action"

        p.defaultAction(default)
        response = asString(p.handleRequest(Method="POST", path="/"))
        self.assertEquals("This is the default action", response)
Example #12
0
 def __init__(self, action, name=None):
     PostActions.__init__(self, name=name)
     self.registerAction('updateInfoForUser', self.handleUpdateInfoForUser)
     self._action = action
 def __init__(self, action, name=None, groupDescriptions=None):
     PostActions.__init__(self, name=name)
     self.registerAction('updateGroupsForUser',
                         self.handleUpdateGroupsForUser)
     self._action = action
     self._groupDescriptions = groupDescriptions or {}
Example #14
0
 def __init__(self, **kwargs):
     PostActions.__init__(self, **kwargs)
     self.registerAction('createUser', self._createUser)
     self.registerAction('removeUser', self._removeUser)
     self.registerAction('changePassword', self._changePassword)
     self.registerAction('updateUser', self._updateUser)