def test_e_permissions_get_user_element_permissions(self): user_key = ndb.Key("uk","guep") element_key = ndb.Key("ek","guep") ps.add_element_permissions(user_key,element_key,True) obj = ps.get_user_element_permissions(user_key,element_key) self.assertEqual(obj.user_key, user_key) self.assertEqual(obj.element_key, element_key) self.assertEqual(obj.access, True)
def __check_app_access(redir = False): authed_user = auth.get_current_user() if authed_user is None: return __unauthed_response(redir) else: elem = ps.get_element_key_by_ref('canLogIn') if elem is not None: user_key = ps.get_user_key_by_id(authed_user.user_id()) if user_key is not None: perm = ps.get_user_element_permissions(user_key, elem) if perm is not None: if perm.access: return None return __not_signed_up_response(redir)
def signup_handler(request): authed_user = auth.get_current_user() if authed_user is None: return __unauthed_response() user_key = ps.get_user_key_by_id(authed_user.user_id()) if user_key is None: user_key = ps.add_user(authed_user) response_part = { 'success' : False } try: file_req = json.loads(request.raw_post_data) except ValueError: response_part.update({'error' : 'Invalid request payload.'}) return HttpResponse(json.dumps(response_part), content_type="application/json") if 'action' not in file_req: response_part.update({'error' : 'Incomplete request.'}) return HttpResponse(json.dumps(response_part), content_type="application/json") elem_key = ps.get_element_key_by_ref('canLogIn') if elem_key is None: elem_key = ps.add_element('canLogIn') user_elem = ps.get_user_element_permissions(user_key, elem_key) if user_elem is not None: response_part.update({'error' : 'Already signed up.'}) return HttpResponse(json.dumps(response_part), content_type="application/json") else: ps.add_element_permissions(user_key, elem_key, True) response_part.update({'success' : True}) return HttpResponse(json.dumps(response_part), content_type="application/json")
def test_e_permissions_revoke_user_element_permissions(self): user_key = ndb.Key("uk","ruep") element_key = ndb.Key("ek","ruep") ps.add_element_permissions(user_key,element_key,True) ps.revoke_user_element_permissions(user_key,element_key) self.assertIsNone(ps.get_user_element_permissions(user_key,element_key))