Ejemplo n.º 1
0
    def create_api_key(self, user_id):
        """Create api-key."""
        from invenio.modules.apikeys import create_new_web_api_key, \
            get_available_web_api_keys

        create_new_web_api_key(user_id,
                               key_description='test key for user id %s' %
                               user_id)
        keys = get_available_web_api_keys(self.userid)
        self.apikey = keys[0].id
Ejemplo n.º 2
0
    def create_api_key(self, user_id):
        from invenio.modules.apikeys import create_new_web_api_key, \
            get_available_web_api_keys

        create_new_web_api_key(
            user_id,
            key_description='test key for user id %s' % user_id
        )
        keys = get_available_web_api_keys(self.userid)
        self.apikey = keys[0].id
Ejemplo n.º 3
0
    def setUp(self):
        from random import randint
        from invenio.modules.apikeys import create_new_web_api_key, \
            get_available_web_api_keys
        #FIXME unknown import 'deposition_metadata'
        from invenio.modules.deposit.loader import deposition_metadata
        # self.clear_tables()

        create_new_web_api_key(1, key_description='webdeposit_api_testing')
        keys = get_available_web_api_keys(1)
        self.apikey = keys[0].id

        # Test random deposition
        self.deposition = deposition_metadata.keys()[randint(0, len(deposition_metadata.keys()) - 1)]
        super(TestWebDepositAPI, self).setUp()
Ejemplo n.º 4
0
    def setUp(self):
        from random import randint
        from invenio.modules.apikeys import create_new_web_api_key, \
            get_available_web_api_keys
        #FIXME unknown import 'deposition_metadata'
        from invenio.modules.deposit.loader import deposition_metadata
        # self.clear_tables()

        create_new_web_api_key(1, key_description='webdeposit_api_testing')
        keys = get_available_web_api_keys(1)
        self.apikey = keys[0].id

        # Test random deposition
        self.deposition = deposition_metadata.keys()[randint(
            0,
            len(deposition_metadata.keys()) - 1)]
        super(TestWebDepositAPI, self).setUp()
Ejemplo n.º 5
0
    def apikey(self, req, form):
        args = wash_urlargd(form, {
                                   'key_description' : (str, None),
                                   'key_id' : (str, None),
                                   'referer': (str, ''),
                                   'csrf_token' : (str, None),
                                   })

        # do not allow non-POST methods in here:
        if req.method != 'POST':
            raise apache.SERVER_RETURN(apache.HTTP_METHOD_NOT_ALLOWED)

        # check CSRF token:
        if not webuser.is_csrf_token_valid(req, args['csrf_token']):
            raise apache.SERVER_RETURN(apache.HTTP_FORBIDDEN)

        uid = webuser.getUid(req)
        # load the right message language
        _ = gettext_set_language(args['ln'])

        if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1:
            return webuser.page_not_authorized(req, "../youraccount/edit",
                                               navmenuid='youraccount')
        if webuser.isGuestUser(uid):
            return webuser.page_not_authorized(req, "../youraccount/edit",
                                               text=_("This functionality is forbidden to guest users."),
                                               navmenuid='youraccount')

        if args['key_id']:
            web_api_key.mark_web_api_key_as_removed(args['key_id'])
        else:
            uid = webuser.getUid(req)
            web_api_key.create_new_web_api_key(uid, args['key_description'])

        if args['referer']:
            redirect_to_url(req, args['referer'])
        else:
            redirect_to_url(req, '%s/youraccount/edit?ln=%s' % (CFG_SITE_SECURE_URL, args['ln']))