예제 #1
0
파일: main.py 프로젝트: sup/fill
def check_requests(id=None):
    # Check ID
    if id is None:
        return redirect(url_for('admin'))

    # Get user
    username = request.cookies.get('username')
    user = User.get_user(username)
    if not user:
        return redirect(url_for('home'))

    # Get Event
    event = Event.get_event_by_id(id)

    # Handle Render Form Template
    if request.method == 'GET' and event.admin.id() == user.key.id():
        # Check for GET Parameters
        user_id = request.args.get("user")
        if not user_id:
            return render_template('check_requests.html', event=event)
        user = User.get_user_by_id(user_id)
        volunteer = request.args.get("volunteer")
        driver = request.args.get("driver")
        translator = request.args.get("translator")
        accept = int(request.args.get("accept"))
        # Accept the User
        if accept:
            if volunteer:
                event.volunteer_requests = [x for x in event.volunteer_requests if x != user.key]
                event.volunteers.append(user.key)
            if driver:
                event.driver_requests = [x for x in event.driver_requests if x != user.key]
                event.drivers.append(user.key)
            if translator:
                event.translator_requests = [x for x in event.translator_requests if x != user.key]
                event.translators.append(user.key)
            event.put()
            return render_template('check_requests.html', event=event, success="User successfully accepted!")
        # Reject the User
        else:
            if volunteer:
                event.volunteer_requests = [x for x in event.volunteer_requests if x != user.key]
            if driver:
                event.driver_requests = [x for x in event.driver_requests if x != user.key]
            if translator:
                event.translator_requests = [x for x in event.translator_requests if x != user.key]
            event.put()
            return render_template('check_requests.html', event=event, success="User successfully rejected.")
    else:
        return redirect(url_for('admin'))
예제 #2
0
파일: main.py 프로젝트: sup/fill
def timeline(id=None):
    """Return Profile Page"""
    # Hacky redirect - refactor in the future
    username = request.cookies.get('username')
    cookie_user = User.get_user(username)
    if not id:
        return redirect('timeline/' + str(cookie_user.key.id()))
    else:
        user = User.get_user_by_id(id)
    if user:
        is_owner = cookie_user == user
        joined_events = Event.get_events_by_volunteer(user.key)
        created_events = Event.get_events_by_admin(user.key)
        posts = Post.get_posts_by_writer(user.key)
        first_name = user.name.split(" ")[0]
        return render_template('timeline.html', is_owner=is_owner, user=user, first_name=first_name, joined_events=joined_events, created_events=created_events, posts=posts)
    else:
        return render_template('home.html', page_title="FILL")
예제 #3
0
파일: main.py 프로젝트: sup/fill
def create_post(id=None):
    """Create a Post"""
    # Hacky redirect - refactor in the future
    username = request.cookies.get('username')
    cookie_user = User.get_user(username)
    if request.method == "GET":
        return redirect('timeline/' + str(cookie_user.key.id()))
    if not id:
        return redirect('timeline/' + str(cookie_user.key.id()))
    else:
        user = User.get_user_by_id(id)
    if user == cookie_user and request.method == "POST":
        title = request.form.get("title")
        body = request.form.get("body")
        # Create a Post
        post = Post(title=title, body=body, writer=user.key)
        post.put()
        return redirect('timeline/' + str(cookie_user.key.id()))
    else:
        return redirect('timeline/' + str(cookie_user.key.id()))
예제 #4
0
파일: main.py 프로젝트: sup/fill
def edit_timeline(id=None):
    """Edit Timeline Info"""
    # Hacky redirect - refactor in the future
    username = request.cookies.get('username')
    cookie_user = User.get_user(username)
    if request.method == "GET":
        return redirect('timeline/' + str(cookie_user.key.id()))
    if not id:
        return redirect('timeline/' + str(cookie_user.key.id()))
    else:
        user = User.get_user_by_id(id)
    if user == cookie_user and request.method == "POST":
        user.name = request.form.get("name")
        user.bio = request.form.get("bio")
        user.skills = request.form.get("skills")
        user.interests = request.form.get("interests")
        user.profile_pic = request.form.get("profile_pic")
        user.put()
        return redirect('timeline/' + str(cookie_user.key.id()))
    else:
        return redirect('timeline/' + str(cookie_user.key.id()))