From 94efe6ad838ace763fcbcfc64e719e1f36775b32 Mon Sep 17 00:00:00 2001 From: crunk Date: Fri, 14 Jun 2024 23:11:05 +0200 Subject: [PATCH] WIP distribusi descriptions through front matter markdown --- verse/distribusikan/forms/uploadform.py | 22 ++++++++++++++++++- .../distribusiworkflow/upload.html | 14 ++++++++++++ verse/static/css/style.css | 11 +++++----- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/verse/distribusikan/forms/uploadform.py b/verse/distribusikan/forms/uploadform.py index 90dcd70..994952b 100644 --- a/verse/distribusikan/forms/uploadform.py +++ b/verse/distribusikan/forms/uploadform.py @@ -4,6 +4,7 @@ from wtforms import ( SelectField, StringField, SubmitField, + TextAreaField, validators, ) from wtforms.validators import ( @@ -11,6 +12,7 @@ from wtforms.validators import ( Length, ValidationError, ) +from wtforms.widgets import TextArea from app import settings @@ -48,6 +50,24 @@ class UploadForm(FlaskForm): distribusiname, ], ) + description = StringField( + "Description of this distribusi:", + validators=[ + Length(10, 4096), + ], + widget=TextArea(), + ) + mdfile = FileField( + "Alternatively upload a markdown file with a description:", + validators=[ + FileAllowed(["md"], "markdown only"), + FileRequired(), + FileSize( + max_size=10485760, + message="markdown file size should be smaller than 10MB", + ), + ], + ) year = SelectField( "Year:", validate_choice=True, @@ -77,7 +97,7 @@ class UploadForm(FlaskForm): FileRequired(), FileSize( max_size=1073741824, - message="Zipfile size must be smaller than 100MB", + message="Zipfile size must be smaller than 1024MB", ), ], ) diff --git a/verse/distribusikan/templates/distribusikan/distribusiworkflow/upload.html b/verse/distribusikan/templates/distribusikan/distribusiworkflow/upload.html index fe3aa78..38157af 100644 --- a/verse/distribusikan/templates/distribusikan/distribusiworkflow/upload.html +++ b/verse/distribusikan/templates/distribusikan/distribusiworkflow/upload.html @@ -10,6 +10,20 @@
{{ message }}
{% endfor %} +
+ {{ uploadform.description.label }} + {{ uploadform.description }} + {% for message in uploadform.description.errors %} +
{{ message }}
+ {% endfor %} +
+
+ {{ uploadform.mdfile.label }} + {{ uploadform.mdfile }} + {% for message in uploadform.mdfile.errors %} +
{{ message }}
+ {% endfor %} +
{{ uploadform.year.label }}
diff --git a/verse/static/css/style.css b/verse/static/css/style.css index c0939f0..b2bab63 100644 --- a/verse/static/css/style.css +++ b/verse/static/css/style.css @@ -31,15 +31,10 @@ input[type=text], input[type=password], input[type=file] { border: 1px solid #E0B0FF; } -div#upload form { - padding-right: 15%; -} .workflow{ margin-top: 1em; padding: 0.5em; - padding-left: auto; - padding-right: auto; width: 31em; background-color:#fdfdfd; text-decoration: none; @@ -69,7 +64,11 @@ div#upload form { #distribusi-index { padding-left: 1em; } - +textarea#description { + width: 100%; + height: 15em; + resize: none; +} div#buttons{ position: fixed; top: 0.5em;