From 8edeefbf744bf267977e228bcdf0dc30fe37578b Mon Sep 17 00:00:00 2001 From: John Washam Date: Thu, 30 Jun 2016 22:19:16 -0700 Subject: [PATCH] Listing and editing cards. --- README.md | 2 +- flash_cards.py | 31 ++++++++++++++++++++++++++++++- static/style.css | 4 ++++ templates/cards.html | 7 +++++-- templates/edit.html | 40 ++++++++++++++++++++++++++++++++++++++++ templates/layout.html | 1 + 6 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 templates/edit.html diff --git a/README.md b/README.md index 21e95ce..de40bbd 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ To Do: - [ ] Card Area - [x] List cards - [x] Add cards - - [ ] Edit card + - [x] Edit card - [ ] Delete card - Card Memorization - [ ] Card type toggle diff --git a/flash_cards.py b/flash_cards.py index cacb54e..92ed330 100644 --- a/flash_cards.py +++ b/flash_cards.py @@ -65,7 +65,7 @@ def cards(): if not session.get('logged_in'): return redirect(url_for('login')) db = get_db() - cur = db.execute('SELECT type, front, back, known FROM cards ORDER BY id DESC') + cur = db.execute('SELECT id, type, front, back, known FROM cards ORDER BY id DESC') cards = cur.fetchall() return render_template('cards.html', cards=cards) @@ -85,6 +85,35 @@ def add_card(): return redirect(url_for('cards')) +@app.route('/edit/') +def edit(card_id): + if not session.get('logged_in'): + return redirect(url_for('login')) + db = get_db() + cur = db.execute('SELECT * FROM cards WHERE id = ?', [card_id]) + card = cur.fetchone() + return render_template('edit.html', card=card) + + +@app.route('/edit_card', methods=['POST']) +def edit_card(): + if not session.get('logged_in'): + return redirect(url_for('login')) + selected = request.form.getlist('known') + known = bool(selected) + db = get_db() + db.execute('UPDATE cards set type = ?, front = ?, back = ?, known = ? where id = ?', + [request.form['type'], + request.form['front'], + request.form['back'], + known, + request.form['card_id'] + ]) + db.commit() + flash('Card successfully edited.') + return redirect(url_for('cards')) + + @app.route('/general') def general(): if not session.get('logged_in'): diff --git a/static/style.css b/static/style.css index 64b9077..655c2c7 100644 --- a/static/style.css +++ b/static/style.css @@ -2,3 +2,7 @@ background-color: #62b06b; color: #ffffff; } + +textarea { + font-family: monospace; +} \ No newline at end of file diff --git a/templates/cards.html b/templates/cards.html index c801c3f..a6f3beb 100644 --- a/templates/cards.html +++ b/templates/cards.html @@ -3,7 +3,7 @@

Add a Card

-
+