From 456510186444a31c6842ba5221bcaf360df5bea3 Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Wed, 7 Sep 2016 00:38:21 +0200 Subject: [PATCH] Added backend support for featured articles --- db_schema.sql | 11 +++++++++++ server.py | 12 +++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/db_schema.sql b/db_schema.sql index 29ef180..452a4ed 100644 --- a/db_schema.sql +++ b/db_schema.sql @@ -194,6 +194,17 @@ CREATE TABLE IF NOT EXISTS `announcements` ( `time_updated` datetime NOT NULL, `created_by` INTEGER NOT NULL ); +CREATE TABLE IF NOT EXISTS `featured` ( +`id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + `title` text NOT NULL DEFAULT "Neuer Artikel", + `text` text NOT NULL DEFAULT "", + `internal` text NOT NULL DEFAULT "", + `visible` INTEGER NOT NULL DEFAULT 0, + `deleted` INTEGER NOT NULL DEFAULT 0, + `time_created` datetime NOT NULL, + `time_updated` datetime NOT NULL, + `created_by` INTEGER NOT NULL +); CREATE VIEW IF NOT EXISTS `courses` AS select * from `courses_data` where (not(`courses_data`.`deleted`)); CREATE VIEW IF NOT EXISTS `lectures` AS select * from `lectures_data` where (not(`lectures_data`.`deleted`)); diff --git a/server.py b/server.py index dd4b172..3b9e713 100755 --- a/server.py +++ b/server.py @@ -144,7 +144,8 @@ def index(): GROUP BY videos.lecture_id ORDER BY lastvidtime DESC LIMIT 6 ''',ismod()) - return render_template('index.html', latestvideos=latestvideos, upcomming=upcomming) + featured = query('SELECT * FROM featured WHERE NOT deleted AND (? OR visible)', ismod()) + return render_template('index.html', latestvideos=latestvideos, upcomming=upcomming, featured=featured) @app.route('/course') @register_navbar('Videos', icon='film') @@ -384,6 +385,15 @@ def new_announcement(): return redirect(request.values['ref']) return id, 200 +@app.route('/newfeatured', methods=['POST', 'GET']) +@mod_required +def new_featured(): + id = query('INSERT INTO featured (time_created, time_updated, created_by) VALUES (?, ?, ?)', + datetime.now(), datetime.now(), session.get('user', {'dbid':None})['dbid']) + if 'ref' in request.values: + return redirect(request.values['ref']) + return id, 200 + import feeds import importer import schedule -- GitLab