def admin_add_post_to_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) post_id = int(request.POST['post_id']) except: raise Exception('Missing or invalid field.') collection_post = admin_utils.add_post_to_collection( collection_id = collection_id, post_id = post_id, ) if collection_post is not None: result['collection_id'] = collection_post.collection_id result['post_id'] = collection_post.post_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_remove_post_from_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) post_id = int(request.POST['post_id']) except: raise Exception('Missing or invalid field.') successfully_removed = Collections.remove_post_from_collection( session = DBSession, collection_id = collection_id, post_id = post_id, ) if successfully_removed: result['post_id'] = post_id result['collection_id'] = collection_id result['success'] = True else: result['error_text'] = 'Post does not exist within collection.' except Exception, e: result['error_text'] = str(e)
def admin_get_client_posts(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: cuid = request.GET['cuid'] except: raise Exception('Missing or invalid field.') start=0 try: start = int(request.GET['start']) except: pass count=50 try: count = int(request.GET['count']) except: pass ret_posts = admin_utils.get_client_posts(cuid, start, count) result['posts'] = ret_posts result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_register_post_view(request): result = {'success': False} try: #if True: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: post_id = request.POST['post_id'] except: raise Exception('Missing or invalid field.') post, client, notification = admin_utils.register_post_view( organization_id = user.organization_id, post_id = post_id, ) result['post_id'] = post.post_id result['client_id'] = client.client_id result['notification_id'] = notification.notification_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_change_password(request): result = {'success': False} status_code = 200 try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: username = request.POST['username'] old_password = request.POST['old_password'] new_password = request.POST['new_password'] except: raise Exception("Missing or invalid field.") user,success = admin_utils.change_password( username = username, old_password = old_password, new_password = new_password, ) if success == False: raise Exception("Wrong old password.") result['user_id'] = user.user_id result['success'] = True except Exception, e: status_code = 400 result['error_text'] = str(e)
def admin_create_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: name = request.POST['name'] description = request.POST['description'] contact_name = request.POST['contact_name'] contact_email = request.POST['contact_email'] except: raise Exception('Missing or invalid field.') organization = admin_utils.create_organization( user_type_id = user.user_type_id, name = name, description = description, contact_name = contact_name, contact_email = contact_email, ) result['organization_id'] = organization.organization_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_disable_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) except: raise Exception('Missing or invalid field.') collection = Collections.disable_collection( session = DBSession, collection_id = collection_id, ) result['collection_id'] = collection.collection_id result['disabled'] = True result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_disable_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) except: raise Exception('Missing or invalid field.') collection = Collections.disable_collection( session=DBSession, collection_id=collection_id, ) result['collection_id'] = collection.collection_id result['disabled'] = True result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_remove_post_from_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) post_id = int(request.POST['post_id']) except: raise Exception('Missing or invalid field.') successfully_removed = Collections.remove_post_from_collection( session=DBSession, collection_id=collection_id, post_id=post_id, ) if successfully_removed: result['post_id'] = post_id result['collection_id'] = collection_id result['success'] = True else: result['error_text'] = 'Post does not exist within collection.' except Exception, e: result['error_text'] = str(e)
def admin_create_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: name = request.POST['name'] description = request.POST['description'] tags = request.POST['tags'] except: raise Exception('Missing or invalid field.') collection = admin_utils.create_collection( user_id=user.user_id, name=name, description=description, tags=tags, ) result['collection_id'] = collection.collection_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_change_password(request): result = {'success': False} status_code = 200 try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: username = request.POST['username'] old_password = request.POST['old_password'] new_password = request.POST['new_password'] except: raise Exception("Missing or invalid field.") user, success = admin_utils.change_password( username=username, old_password=old_password, new_password=new_password, ) if success == False: raise Exception("Wrong old password.") result['user_id'] = user.user_id result['success'] = True except Exception, e: status_code = 400 result['error_text'] = str(e)
def admin_add_post_to_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.POST['collection_id']) post_id = int(request.POST['post_id']) except: raise Exception('Missing or invalid field.') collection_post = admin_utils.add_post_to_collection( collection_id=collection_id, post_id=post_id, ) if collection_post is not None: result['collection_id'] = collection_post.collection_id result['post_id'] = collection_post.post_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_languages(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") ret_languages = admin_utils.get_languages() result['languages'] = ret_languages result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_my_collection(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") ret_collections = admin_utils.get_collections(user.user_id) result['collections'] = ret_collections result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_organizations(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") ret_organizations = admin_utils.get_organizations() result['organizations'] = ret_organizations result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_update_assignment(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: assignment_id = request.POST['assignment_id'] #client_id = request.POST['client_id'] name = request.POST['name'] try: life_time = 0 if 'life_time' in request.POST: life_time = int(float(request.POST['life_time'])) if life_time == 0: life_time = 168 # set to 1 week if blank or missing except: raise Exception("Invalid input.") #questions = json.loads(request.POST['questions']) top_left_lat = float(request.POST['top_left_lat']) top_left_lng = float(request.POST['top_left_lng']) bottom_right_lat = float(request.POST['bottom_right_lat']) bottom_right_lng = float(request.POST['bottom_right_lng']) except: raise Exception('Missing or invalid fields.') # create assignment assignment = Assignments.update_assignment( session = DBSession, assignment_id = assignment_id, name = name, life_time = life_time, top_left_lat = top_left_lat, top_left_lng = top_left_lng, bottom_right_lat = bottom_right_lat, bottom_right_lng = bottom_right_lng, #use_fence = use_fence, ) result['assignment_id'] = assignment.assignment_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_create_user(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: user_type_name = request.POST['user_type'] username = request.POST['username'] password = request.POST['password'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] email = request.POST['email'] organization_id = request.POST['organization_id'] fence_top_left_lat = float(request.POST['fence_top_left_lat']) fence_top_left_lng = float(request.POST['fence_top_left_lng']) fence_bottom_right_lat = float( request.POST['fence_bottom_right_lat']) fence_bottom_right_lng = float( request.POST['fence_bottom_right_lng']) except: raise Exception('Missing or invalid field.') new_user = admin_utils.create_user( user_type_id=user.user_type_id, user_type_name=user_type_name, user_name=username, password=password, first_name=first_name, last_name=last_name, email=email, organization_id=organization_id, top_left_lat=fence_top_left_lat, top_left_lng=fence_top_left_lng, bottom_right_lat=fence_bottom_right_lat, bottom_right_lng=fence_bottom_right_lng, ) result['user_id'] = new_user.user_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_publish_assignment(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: name = request.POST['name'] life_time = 0 try: life_time = 0 if 'life_time' in request.POST: life_time = int(float(request.POST['life_time'])) if life_time == 0: life_time = 168 # set to 1 week if blank or missing except: raise Exception("Invalid input.") questions = json.loads(request.POST['questions']) top_left_lat = float(request.POST['top_left_lat']) top_left_lng = float(request.POST['top_left_lng']) bottom_right_lat = float(request.POST['bottom_right_lat']) bottom_right_lng = float(request.POST['bottom_right_lng']) except: raise Exception("Missing or invalid fields.") assignment, collection = admin_utils.create_assignment( user_id = user.user_id, name = name, life_time = life_time, top_left_lat = top_left_lat, top_left_lng = top_left_lng, bottom_right_lat = bottom_right_lat, bottom_right_lng = bottom_right_lng, questions = questions, ) result['assignment_id'] = assignment.assignment_id result['collection_id'] = collection.collection_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_create_user(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: user_type_name = request.POST['user_type'] username = request.POST['username'] password = request.POST['password'] first_name = request.POST['first_name'] last_name = request.POST['last_name'] email = request.POST['email'] organization_id = request.POST['organization_id'] fence_top_left_lat = float(request.POST['fence_top_left_lat']) fence_top_left_lng = float(request.POST['fence_top_left_lng']) fence_bottom_right_lat = float(request.POST['fence_bottom_right_lat']) fence_bottom_right_lng = float(request.POST['fence_bottom_right_lng']) except: raise Exception('Missing or invalid field.') new_user = admin_utils.create_user( user_type_id = user.user_type_id, user_type_name = user_type_name, user_name = username, password = password, first_name = first_name, last_name = last_name, email = email, organization_id = organization_id, top_left_lat = fence_top_left_lat, top_left_lng = fence_top_left_lng, bottom_right_lat = fence_bottom_right_lat, bottom_right_lng = fence_bottom_right_lng, ) result['user_id'] = new_user.user_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_update_question(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: language_code = request.POST['language_code'] question_text = request.POST['question_text'] description = request.POST['description'] question_type = request.POST['question_type'] except: raise Exception('Missing or invalid fields.') # answers is a json array of strings answers = [] try: answers = json.loads(request.POST['answers']) except: pass # back fill with empty strings for i in range(len(answers),10): answers.append('') question = Questions.update_from_http( session = DBSession, token = user.token, language_code = language_code, question_text = question_text, description = description, question_type = question_type, answers = answers, ) result['question_id'] = question.question_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_posts(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") start = 0 try: start = int(request.GET['start']) except: pass count = 50 try: start = 0 if 'start' in request.GET: start = int(request.GET['start']) count = 50 if 'count' in request.GET: count = int(request.GET['count']) deleted = False if 'deleted' in request.GET: deleted = bool(int(request.GET['deleted'])) except: status_code = 403 raise Exception('Invalid Input') deleted = False try: deleted = bool(int(request.GET['deleted'])) except: pass ret_posts = admin_utils.get_posts(start, count, deleted) result['posts'] = ret_posts result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_publish_story(request): result = {'success': False} try: #if True: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: title = request.POST['title'] tags = request.POST['tags'] top_text = request.POST['top_text'] banner_media_id = request.POST['banner_media_id'] contents = request.POST['contents'].encode('UTF-8') top_left_lat = float(request.POST['top_left_lat']) top_left_lng = float(request.POST['top_left_lng']) bottom_right_lat = float(request.POST['bottom_right_lat']) bottom_right_lng = float(request.POST['bottom_right_lng']) language_code = request.POST['language_code'] except: raise Exception('Missing of invalid fields.') story = admin_utils.create_story( user_id = user.user_id, title = title, tags = tags, contents = contents, top_left_lat = top_left_lat, top_left_lng = top_left_lng, bottom_right_lat = bottom_right_lat, bottom_right_lng = bottom_right_lng, language_code = language_code, ) result['story_unique_id'] = story.story_unique_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_publish_story(request): result = {'success': False} try: #if True: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: title = request.POST['title'] tags = request.POST['tags'] top_text = request.POST['top_text'] banner_media_id = request.POST['banner_media_id'] contents = request.POST['contents'].encode('UTF-8') top_left_lat = float(request.POST['top_left_lat']) top_left_lng = float(request.POST['top_left_lng']) bottom_right_lat = float(request.POST['bottom_right_lat']) bottom_right_lng = float(request.POST['bottom_right_lng']) language_code = request.POST['language_code'] except: raise Exception('Missing of invalid fields.') story = admin_utils.create_story( user_id=user.user_id, title=title, tags=tags, contents=contents, top_left_lat=top_left_lat, top_left_lng=top_left_lng, bottom_right_lat=bottom_right_lat, bottom_right_lng=bottom_right_lng, language_code=language_code, ) result['story_unique_id'] = story.story_unique_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_assignment_responses(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: assignment_id = int(request.GET['assignment_id']) except: raise Exception('Missing or invalid field.') start=0 try: start = int(request.GET['start']) except: pass count=50 try: count = int(request.GET['count']) except: pass deleted=False try: deleted = bool(int(request.GET['deleted'])) except: pass ret_posts = admin_utils.get_response_posts(assignment_id, start, count, deleted) result['posts'] = ret_posts result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_post(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: #if True: post_id = request.GET['post_id'] except: raise Exception('Missing of invalid field.') ret_posts = admin_utils.get_post(post_id) result['post'] = ret_posts[0] result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_create_message(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: to_client_id = request.POST['to_client_id'] subject = request.POST['subject'] text = request.POST['text'] except: raise Exception('Missing or invalid fields.') try: parent_message_id = None if 'parent_message_id' in request.POST: parent_message_id = request.POST['parent_message_id'] except: status_code = 403 raise Exception("Invalid Input.") message = Messages.create_message_from_http( session=DBSession, from_token=user.token, to_client_id=to_client_id, subject=subject, text=text, parent_message_id=parent_message_id, ) if message != None: result['message_id'] = message.message_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_create_message(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: to_client_id = request.POST['to_client_id'] subject = request.POST['subject'] text = request.POST['text'] except: raise Exception('Missing or invalid fields.') try: parent_message_id = None if 'parent_message_id' in request.POST: parent_message_id = request.POST['parent_message_id'] except: status_code = 403 raise Exception("Invalid Input.") message = Messages.create_message_from_http( session = DBSession, from_token = user.token, to_client_id = to_client_id, subject = subject, text = text, parent_message_id = parent_message_id, ) if message != None: result['message_id'] = message.message_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_collection_posts(request): result = {'success': False} status_code = 200 try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.GET['collection_id']) except: raise Exception('Missing of invalid field.') try: start = 0 if 'start' in request.GET: start = int(request.GET['start']) count = 50 if 'count' in request.GET: count = int(request.GET['count']) except: status_code = 403 raise Exception('Invalid input.') ret_posts = admin_utils.get_collection_posts( collection_id = collection_id, start = start, count = count, ) result['posts'] = ret_posts result['success'] = True except Exception, e: status_code = 400 result['error_text'] = str(e)
def admin_create_question(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: language_code = request.POST['language_code'] question_text = request.POST['question_text'] description = request.POST['description'] question_type = request.POST['question_type'] except: raise Exception('Missing or invalid fields.') # answers is a json array of strings answers = [] try: answers = json.loads(request.POST['answers']) except: pass question = admin_utils.create_question( user_id = user.user_id, language_code = language_code, question_text = question_text, description = description, question_type = question_type, answers = answers, ) result['question_id'] = question.question_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_collection_posts(request): result = {'success': False} status_code = 200 try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: collection_id = int(request.GET['collection_id']) except: raise Exception('Missing of invalid field.') try: start = 0 if 'start' in request.GET: start = int(request.GET['start']) count = 50 if 'count' in request.GET: count = int(request.GET['count']) except: status_code = 403 raise Exception('Invalid input.') ret_posts = admin_utils.get_collection_posts( collection_id=collection_id, start=start, count=count, ) result['posts'] = ret_posts result['success'] = True except Exception, e: status_code = 400 result['error_text'] = str(e)
def admin_approve_post(request): result = {'success': False} try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: post_id = request.POST['post_id'] except: raise Exception('Invalid or missing field.') post = admin_utils.approve_post( post_id = post_id, ) result['post_id'] = post.post_id result['success'] = True except Exception, e: result['error_text'] = str(e)
def admin_get_my_assignments(request): result = {'success': False} status_code = 200 try: valid, user = admin_utils.check_token(request) if valid == False: raise Exception("Invalid authorization or bad credentials.") try: expired = False if 'expired' in request.GET: expired = False if int(request.GET['expired']) == 1: expired = True start = 0 if 'start' in request.GET: start = int(request.GET['start']) count = 25 if 'count' in request.GET: count = int(request.GET['count']) if count > 25: count = 25 except: status_code = 403 raise Exception("invalid input") ret_assignments = admin_utils.get_assignments(expired, start, count) result['assignments'] = ret_assignments result['success'] = True except Exception, e: status_code = 400 result['error_text'] = str(e)