diff --git a/.gitignore b/.gitignore index 746f651..2749718 100644 --- a/.gitignore +++ b/.gitignore @@ -130,5 +130,6 @@ dmypy.json .idea .DS_Store +assets/ config.py \ No newline at end of file diff --git a/templates/banner_add.html b/templates/banner_action.html similarity index 99% rename from templates/banner_add.html rename to templates/banner_action.html index b3ef309..7a73735 100644 --- a/templates/banner_add.html +++ b/templates/banner_action.html @@ -1,12 +1,12 @@ {% extends "generic/base.html" %} {% block title %} -Upload Banner - Nintendo Channel Admin +{{ action }} Banner - Nintendo Channel Admin {% endblock %} {% block content %}
-

Upload New Banner

+

{{ action }} Banner

diff --git a/templates/banner_list.html b/templates/banner_list.html index cb56e7c..64f7904 100644 --- a/templates/banner_list.html +++ b/templates/banner_list.html @@ -99,6 +99,11 @@

Banners

+ + Edit + Edit + /edit", methods=["GET", "POST"]) +@oidc.require_login +def edit_banner(banner_id): + form = BannerForm() + form.upload.label.text = "Edit Banner" + + banner = Banners.query.filter_by(id=banner_id).first() + if not banner: + return exceptions.NotFound() + + if form.validate_on_submit(): + thumbnail_data = None + if form.thumbnail.data: + thumbnail_data = form.thumbnail.data.read() + save_banner_data(banner_id, thumbnail_data) + + banner.name_japanese = form.title_jpn.data + banner.name_english = form.title_en.data + banner.name_german = form.title_de.data + banner.name_french = form.title_fr.data + banner.name_spanish = form.title_es.data + banner.name_italian = form.title_it.data + banner.name_dutch = form.title_dutch.data + banner.name_ptbr = form.title_ptbr.data + db.session.commit() + + return redirect(url_for("thegateway.list_banners")) + else: + form.title_jpn.data = banner.name_japanese + form.title_en.data = banner.name_english + form.title_de.data = banner.name_german + form.title_fr.data = banner.name_french + form.title_es.data = banner.name_spanish + form.title_it.data = banner.name_italian + form.title_dutch.data = banner.name_dutch + form.title_ptbr.data = banner.name_ptbr + + return render_template("banner_action.html", form=form, action="Edit") @thegateway_blueprint.route( diff --git a/thegateway/form.py b/thegateway/form.py index 9f5c9f9..a6ef6ca 100644 --- a/thegateway/form.py +++ b/thegateway/form.py @@ -107,7 +107,7 @@ class BannerForm(FlaskForm): title_ptbr = StringField( "Title (Brazilian Portuguese)", validators=[DataRequired(), Length(max=102)] ) - thumbnail = FileField("Image", validators=[FileRequired()]) + thumbnail = FileField("Image") upload = SubmitField("Add")