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)
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'))
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'))
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)
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)
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))
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)
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))
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)
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)
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)
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)