Beispiel #1
0
def register():
    error = ""
    if request.method == 'POST':
        try:
            username = request.form['username']
            password1 = request.form['password1']
            password2 = request.form['password2']
        except BadRequestKeyError:
            error = "Some data didn't make it to the front."
            return render_template("register.html", error=error)

        if len(username) == 0:
            error = "Must input username."
            return render_template("register.html", error=error)

        if password1 != password2:
            error = "Passwords do not match."
            return render_template("register.html", error=error)

        created, user_obj = sign_up(g.db, username, password1)
        if created:
            session.permanent = True
            session['username'] = user_obj['username']

            action_str = 'Registered.'
            log_action(g.db, action_str)

            return redirect(url_for('metaforcefeed.root'))
        # Well something didn't work right.
        error = user_obj

    return render_template("register.html", error=error)
Beispiel #2
0
def register():
    error = ""
    if request.method == 'POST':
        try:
            username = request.form['username']
            password1 = request.form['password1']
            password2 = request.form['password2']
        except BadRequestKeyError:
            error = "Some data didn't make it to the front."
            return render_template("register.html", error=error)

        if len(username) == 0:
            error = "Must input username."
            return render_template("register.html", error=error)

        if password1 != password2:
            error = "Passwords do not match."
            return render_template("register.html", error=error)

        created, user_obj = sign_up(g.db, username, password1)
        if created:
            session.permanent = True
            session['username'] = user_obj['username']

            action_str = 'Registered.'
            log_action(g.db, action_str)

            return redirect(url_for('metaforcefeed.root'))
        # Well something didn't work right.
        error = user_obj

    return render_template("register.html", error=error)
Beispiel #3
0
def calendar_event_cancel(slug, stamp):
    if not slug or not stamp:
        return abort(404)

    from metaforcefeed.utils import _get_event_str
    event = g.db.get(_get_event_str(slug, stamp))

    event["cancelled"] = True
    g.db.set(_get_event_str(slug, stamp), event)

    # Log that we cancelled an event
    event = g.db.get(_get_event_str(slug, stamp))
    action_str = 'Cancelled on "{}, {}".'.format(stamp, slug)
    log_action(g.db, action_str)

    return redirect(url_for('metaforcefeed.root'))
Beispiel #4
0
def delete(slug):
    if not slug:
        return abort(404)

    item = None
    item = g.db.delete(_get_summary_str(slug))

    # NOW WE HAVE TO GO DELETE THEM FROM THE LIST
    all_items = g.db.get(ALL_ITEMS_LIST)
    all_items = filter(lambda x: x != _get_summary_str(slug), all_items)
    g.db.set(ALL_ITEMS_LIST, all_items)

    action_str = 'Deleted an item.'
    log_action(g.db, action_str)

    return redirect(url_for('metaforcefeed.root'))
Beispiel #5
0
def calendar_event_cancel(slug, stamp):
    if not slug or not stamp:
        return abort(404)

    from metaforcefeed.utils import _get_event_str
    event = g.db.get(_get_event_str(slug, stamp))

    event["cancelled"] = True
    g.db.set(_get_event_str(slug, stamp), event)

    # Log that we cancelled an event
    event = g.db.get(_get_event_str(slug, stamp))
    action_str = 'Cancelled on "{}, {}".'.format(stamp, slug)
    log_action(g.db, action_str)

    return redirect(url_for('metaforcefeed.root'))
Beispiel #6
0
def delete(slug):
    if not slug:
        return abort(404)

    item = None
    item = g.db.delete(_get_summary_str(slug))

    # NOW WE HAVE TO GO DELETE THEM FROM THE LIST
    all_items = g.db.get(ALL_ITEMS_LIST)
    all_items = filter(lambda x: x != _get_summary_str(slug), all_items)
    g.db.set(ALL_ITEMS_LIST, all_items)

    action_str = 'Deleted an item.'
    log_action(g.db, action_str)

    return redirect(url_for('metaforcefeed.root'))
Beispiel #7
0
def submit():
    error = None
    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_idea
        shorts = request.form.get("short_summary")
        longs = request.form.get("longer_summary")
        created, summary = submit_idea(g.db, shorts, longs)

        if created:
            action_str = 'Created new item "{}".'.format(shorts)
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.root'))
        error = summary

    return render_template("submit.html", error=error)
Beispiel #8
0
def submit():
    error = None
    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_idea
        shorts = request.form.get("short_summary")
        longs = request.form.get("longer_summary")
        created, summary = submit_idea(g.db, shorts, longs)

        if created:
            action_str = 'Created new item "{}".'.format(shorts)
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.root'))
        error = summary

    return render_template("submit.html", error=error)
Beispiel #9
0
def calendar_event(slug, stamp):
    from metaforcefeed.utils import _get_event_str
    event = g.db.get(_get_event_str(slug, stamp))

    if not event:
        return abort(404)

    if request.method == 'POST':
        from metaforcefeed.utils import post_comment_to_event
        if not session.get('username', None):
            return redirect(url_for('metaforcefeed.login'))

        username = session['username']
        created, err = post_comment_to_event(g.db, slug, stamp,
                                             request.form['comment'], username)

        if not created:
            extra = err
        else:
            event = g.db.get(_get_event_str(slug, stamp))
            action_str = 'Commented on "{}, {}".'.format(stamp, slug)
            log_action(g.db, action_str)
        event = g.db.get(_get_event_str(slug, stamp))

    try:
        acks = [x["username"] for x in event["ACKs"]]
    except:
        acks = []

    try:
        deacks = [y["username"] for y in event["DEACKs"]]
    except:
        deacks = []

    all_users_involved = set(acks + deacks)

    return render_template("calendar_event.html",
                           event=event,
                           acks=acks,
                           deacks=deacks,
                           all_users_involved=all_users_involved)
Beispiel #10
0
def calendar_event_de_ack(slug, stamp):
    to_return = { 'success': True, 'error': "" }
    user = get_user()['user']

    if not user:
        return abort(503)

    if not slug:
        return abort(404)

    from metaforcefeed.utils import de_ack_event, _get_event_str
    created, err = de_ack_event(g.db, slug, stamp, user)

    if not created:
        extra = err
    else:
        event = g.db.get(_get_event_str(slug, stamp))
        action_str = 'DE-ACK\'d "{}, {}".'.format(stamp, slug)
        log_action(g.db, action_str)

    return redirect(url_for('metaforcefeed.calendar_event', slug=slug, stamp=stamp))
Beispiel #11
0
def item(slug):
    extra = None
    if not slug:
        return abort(404)

    if request.method == 'POST':
        if not session.get('username', None):
            return redirect(url_for('metaforcefeed.login'))
        from metaforcefeed.utils import post_comment
        username = session['username']
        created, err = post_comment(g.db, slug, request.form['comment'], username)
        if not created:
            extra = err
        else:
            action_str = 'Commented on "{}".'.format(slug)
            log_action(g.db, action_str)


    item = None
    item = g.db.get(_get_summary_str(slug))

    return render_template("item.html", item=item, extra=extra)
Beispiel #12
0
def calendar_event_de_ack(slug, stamp):
    to_return = {'success': True, 'error': ""}
    user = get_user()['user']

    if not user:
        return abort(503)

    if not slug:
        return abort(404)

    from metaforcefeed.utils import de_ack_event, _get_event_str
    created, err = de_ack_event(g.db, slug, stamp, user)

    if not created:
        extra = err
    else:
        event = g.db.get(_get_event_str(slug, stamp))
        action_str = 'DE-ACK\'d "{}, {}".'.format(stamp, slug)
        log_action(g.db, action_str)

    return redirect(
        url_for('metaforcefeed.calendar_event', slug=slug, stamp=stamp))
Beispiel #13
0
def item(slug):
    extra = None
    if not slug:
        return abort(404)

    if request.method == 'POST':
        if not session.get('username', None):
            return redirect(url_for('metaforcefeed.login'))
        from metaforcefeed.utils import post_comment
        username = session['username']
        created, err = post_comment(g.db, slug, request.form['comment'],
                                    username)
        if not created:
            extra = err
        else:
            action_str = 'Commented on "{}".'.format(slug)
            log_action(g.db, action_str)

    item = None
    item = g.db.get(_get_summary_str(slug))

    return render_template("item.html", item=item, extra=extra)
Beispiel #14
0
def edit(slug):
    error = None
    item = g.db.get(_get_summary_str(slug))

    if not item:
        return redirect(url_for('metaforcefeed.root'))

    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_idea
        shorts = request.form.get("short_summary")
        longs = request.form.get("longer_summary")
        edited, summary = edit_idea(g.db, slug, shorts, longs)

        if edited:
            action_str = 'Edited item "{}".'.format(shorts)
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.root'))
        error = summary

    return render_template("edit.html", error=error, item=item)
Beispiel #15
0
def calendar_new():
    error = None
    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_event
        day = request.form.get("day")
        from_time = request.form.get("from_time")
        to_time = request.form.get("to_time")
        name = request.form.get("name")
        description = request.form.get("description")

        created, event = submit_event(g.db, day, from_time, to_time, name, description)

        if created:
            action_str = 'Created new event "{}".'.format(name)
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.calendar_root'))
        error = event

    today = datetime.today().strftime("%Y-%m-%d")
    return render_template("calendar_new.html", error=error, today=today)
Beispiel #16
0
def edit(slug):
    error = None
    item = g.db.get(_get_summary_str(slug))

    if not item:
        return redirect(url_for('metaforcefeed.root'))

    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_idea
        shorts = request.form.get("short_summary")
        longs = request.form.get("longer_summary")
        edited, summary = edit_idea(g.db, slug, shorts, longs)

        if edited:
            action_str = 'Edited item "{}".'.format(item['short_summary'])
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.root'))
        error = summary

    return render_template("edit.html", error=error, item=item)
Beispiel #17
0
def calendar_event(slug, stamp):
    from metaforcefeed.utils import _get_event_str
    event = g.db.get(_get_event_str(slug, stamp))

    if not event:
        return abort(404)

    if request.method == 'POST':
        from metaforcefeed.utils import post_comment_to_event
        if not session.get('username', None):
            return redirect(url_for('metaforcefeed.login'))

        username = session['username']
        created, err = post_comment_to_event(g.db, slug, stamp, request.form['comment'], username)

        if not created:
            extra = err
        else:
            event = g.db.get(_get_event_str(slug, stamp))
            action_str = 'Commented on "{}, {}".'.format(stamp, slug)
            log_action(g.db, action_str)
        event = g.db.get(_get_event_str(slug, stamp))

    return render_template("calendar_event.html", event=event)
Beispiel #18
0
def calendar_new():
    error = None
    if not session.get('username', None):
        return redirect(url_for('metaforcefeed.login'))

    if request.method == 'POST':
        from metaforcefeed.utils import submit_event
        day = request.form.get("day")
        from_time = request.form.get("from_time")
        to_time = request.form.get("to_time")
        name = request.form.get("name")
        description = request.form.get("description")

        created, event = submit_event(g.db, day, from_time, to_time, name,
                                      description)

        if created:
            action_str = 'Created new event "{}".'.format(name)
            log_action(g.db, action_str)
            return redirect(url_for('metaforcefeed.calendar_root'))
        error = event

    today = datetime.today().strftime("%Y-%m-%d")
    return render_template("calendar_new.html", error=error, today=today)
Beispiel #19
0
def calendar_event(slug, stamp):
    from metaforcefeed.utils import _get_event_str
    event = g.db.get(_get_event_str(slug, stamp))

    if not event:
        return abort(404)

    if request.method == 'POST':
        from metaforcefeed.utils import post_comment_to_event
        if not session.get('username', None):
            return redirect(url_for('metaforcefeed.login'))

        username = session['username']
        created, err = post_comment_to_event(g.db, slug, stamp, request.form['comment'], username)

        if not created:
            extra = err
        else:
            event = g.db.get(_get_event_str(slug, stamp))
            action_str = 'Commented on "{}, {}".'.format(stamp, slug)
            log_action(g.db, action_str)
        event = g.db.get(_get_event_str(slug, stamp))

    try:
        acks = [x["username"] for x in event["ACKs"]]
    except:
        acks = []

    try:
        deacks = [y["username"] for y in event["DEACKs"]]
    except:
        deacks = []

    all_users_involved = set(acks + deacks)

    return render_template("calendar_event.html", event=event, acks=acks, deacks=deacks, all_users_involved=all_users_involved)