From c3b0ce9537a548f8fc9016657dc85ddb362522f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Wed, 24 May 2017 12:09:02 +0200 Subject: [PATCH] Password protection of admin pages, publish-switch and small fixes --- app/__init__.py | 2 ++ app/forms.py | 2 ++ app/models.py | 3 ++- app/templates/admin.html | 18 +++++++++++----- app/templates/admin_page.html | 3 +++ app/templates/page.html | 8 ++++--- app/views.py | 21 ++++++++++++++++-- db_create.py | 40 ++++++++++++++++++----------------- 8 files changed, 67 insertions(+), 30 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 2b61eba..7ab243a 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -2,11 +2,13 @@ from flask import Flask from flask_bootstrap import Bootstrap from flaskext.markdown import Markdown from flask_sqlalchemy import SQLAlchemy +from flask_basicauth import BasicAuth app = Flask(__name__) app.config.from_object('config') Bootstrap(app) Markdown(app) +basic_auth = BasicAuth(app) db = SQLAlchemy(app) from . import views, models diff --git a/app/forms.py b/app/forms.py index a2ae869..ea249d3 100644 --- a/app/forms.py +++ b/app/forms.py @@ -10,11 +10,13 @@ class PageForm(FlaskForm): title = StringField('Title', validators=[DataRequired()]) description = TextAreaField('Beskrivning') endpoint = BooleanField('Produkt') + published = BooleanField('Publicerad') thumbnail = QuerySelectField('Bild', get_label=lambda p: '{} ({})'.format(p.alt, p.id)) photos = QuerySelectMultipleField('Galleri', option_widget=widgets.CheckboxInput(), widget=widgets.ListWidget(prefix_label=False), get_label = lambda p: ''.format(p.id)) + parent = QuerySelectField('Kategori', get_label = lambda p: '{} - {}'.format(p.permalink, p.title)) submit = SubmitField('Ok') class PhotoForm(FlaskForm): diff --git a/app/models.py b/app/models.py index ad03476..bdeed0a 100644 --- a/app/models.py +++ b/app/models.py @@ -32,7 +32,8 @@ class Page(db.Model): thumbnail = db.relationship('Photo', secondary=thumbnails, uselist=False) photos = db.relationship('Photo', secondary=photos) - endpoint = db.Column(db.Boolean) + endpoint = db.Column(db.Boolean, default=False) + published = db.Column(db.Boolean, default=False) def update_permalink(self, name=None, parent_id=None): diff --git a/app/templates/admin.html b/app/templates/admin.html index 74d352e..dfa4a63 100644 --- a/app/templates/admin.html +++ b/app/templates/admin.html @@ -40,6 +40,9 @@ {% macro delete_button(type, title, id) -%} {%- endmacro %} +{% macro glyphicon(icon) -%} + +{%- endmacro %} {% block content %}