Skip to content
Snippets Groups Projects
Commit 9ef49cbc authored by Kevin S. Hahn's avatar Kevin S. Hahn
Browse files

Merge pull request #5 from cni/gsfr-oauth-ids

convert to oauth2 ids
parents d195f7b5 ddd6b042
No related branches found
No related tags found
No related merge requests found
......@@ -44,10 +44,10 @@ def update(db, api_uri, site_id, privkey, internims_url):
new_remotes = response['users']
log.debug('users w/ remotes: ' + str(new_remotes))
for user in response['users']:
db.users.update({'_id': user}, {'$set': {'remotes': new_remotes.get(user, [])}})
db.users.update({'oa2_id': user}, {'$set': {'remotes': new_remotes.get(user, [])}})
# cannot use new_remotes.viewkeys(). leads to 'bson.errors.InvalidDocument: Cannot encode object: dict_keys([])'
db.users.update({'remotes': {'$exists':True}, '_id': {'$nin': new_remotes.keys()}}, {'$unset': {'remotes': ''}}, multi=True)
db.users.update({'remotes': {'$exists':True}, 'oa2_id': {'$nin': new_remotes.keys()}}, {'$unset': {'remotes': ''}}, multi=True)
else:
log.warning((r.status_code, r.reason))
......
......@@ -267,12 +267,12 @@ class User(nimsapiutil.NIMSRequestHandler):
def get(self, uid):
"""Return User details."""
user = self.app.db.users.find_one({'_id': uid})
user = self.app.db.users.find_one({'oa2_id': uid})
self.response.write(json.dumps(user, default=bson.json_util.default))
def put(self, uid):
"""Update an existing User."""
user = self.app.db.users.find_one({'_id': uid})
user = self.app.db.users.find_one({'oa2_id': uid})
if not user:
self.abort(404)
if uid == self.userid or self.user_is_superuser: # users can only update their own info
......@@ -287,7 +287,7 @@ class User(nimsapiutil.NIMSRequestHandler):
updates['$set'][k] = False # superuser is tri-state: False indicates granted, but disabled, superuser privileges
elif v.lower() not in ('1', 'true'):
updates['$unset'][k] = ''
self.app.db.users.update({'_id': uid}, updates)
self.app.db.users.update({'oa2_id': uid}, updates)
else:
self.abort(403)
......
......@@ -53,7 +53,7 @@ class NIMSRequestHandler(webapp2.RequestHandler):
self.initialize(request, response)
self.request.remote_user = self.request.get('user', None) # FIXME: auth system should set REMOTE_USER
self.userid = self.request.remote_user or '@public'
self.user = self.app.db.users.find_one({'_id': self.userid})
self.user = self.app.db.users.find_one({'oa2_id': self.userid})
self.user_is_superuser = self.user.get('superuser')
self.target_id = self.request.get('iid', None)
self.site_id = self.app.config['site_id']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment