예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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)
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
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)
예제 #8
0
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)
예제 #9
0
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)
예제 #10
0
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)
예제 #11
0
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)
예제 #12
0
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)
예제 #13
0
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)
예제 #14
0
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)
예제 #15
0
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)
예제 #16
0
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)
예제 #17
0
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)
예제 #18
0
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)
예제 #19
0
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)
예제 #20
0
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)
예제 #21
0
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)
예제 #22
0
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)
예제 #23
0
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)
예제 #24
0
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)
예제 #25
0
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)
예제 #26
0
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)
예제 #27
0
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)
예제 #28
0
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)
예제 #29
0
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)
예제 #30
0
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)
예제 #31
0
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)
예제 #32
0
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)