diff --git a/db_schema.sql b/db_schema.sql index 29ef180941be4bbab1a96f5a93ec1bccabb7ee2f..452a4ed1e2fa8178fc9794c7a25e14648f074918 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 dd4b172476fd880e0c531bc9c72581b57ecef68b..3b9e7138db4a1f6a72bd32b615cf27a32f5946aa 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