From f393f7389fcad133c7b88e5f172d1317d0783832 Mon Sep 17 00:00:00 2001 From: crunk Date: Sat, 30 Mar 2024 18:22:53 +0100 Subject: [PATCH] moved form code to application folder --- README.md | 2 +- library/application/forms/borrowform.py | 7 --- library/forms/borrowform.py | 26 -------- library/forms/forgotpasswordform.py | 14 ----- library/forms/loginform.py | 17 ----- library/forms/registerform.py | 37 ----------- library/forms/resetpasswordform.py | 22 ------- library/forms/uploadform.py | 76 ----------------------- library/page.py | 4 +- library/templates/upload.html | 20 +++--- library/templates/user_authorization.html | 2 +- 11 files changed, 10 insertions(+), 217 deletions(-) delete mode 100644 library/forms/borrowform.py delete mode 100644 library/forms/forgotpasswordform.py delete mode 100644 library/forms/loginform.py delete mode 100644 library/forms/registerform.py delete mode 100644 library/forms/resetpasswordform.py delete mode 100644 library/forms/uploadform.py diff --git a/README.md b/README.md index c4d0712..9e88aa6 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Or run `make`. * currently this software is broken. ## readme driven development -* add regular login instead of a secret key +* add regular login instead of a secret key ✅ * have a settings file for the application ✅ * downloadable pdfs * upon boot check for images of the book otherwise extract front page of pdfs diff --git a/library/application/forms/borrowform.py b/library/application/forms/borrowform.py index 22e5431..17c2cfa 100644 --- a/library/application/forms/borrowform.py +++ b/library/application/forms/borrowform.py @@ -16,11 +16,4 @@ class BorrowForm(FlaskForm): ), ], ) - secret = StringField( - "Librarians secret:", - [ - validators.InputRequired(), - Length(min=2, message="Fill in the secret to unlock to library."), - ], - ) submit = SubmitField("Borrow") diff --git a/library/forms/borrowform.py b/library/forms/borrowform.py deleted file mode 100644 index 22e5431..0000000 --- a/library/forms/borrowform.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Form object declaration.""" -from flask_wtf import FlaskForm -from wtforms import StringField, SubmitField, validators -from wtforms.validators import Length - - -class BorrowForm(FlaskForm): - """Borrow a publication form.""" - - borrowed = StringField( - "Fill in your name if you're going to borrow this publication.", - [ - validators.InputRequired(), - Length( - min=3, message="Just so we know who is borrowing this book." - ), - ], - ) - secret = StringField( - "Librarians secret:", - [ - validators.InputRequired(), - Length(min=2, message="Fill in the secret to unlock to library."), - ], - ) - submit = SubmitField("Borrow") diff --git a/library/forms/forgotpasswordform.py b/library/forms/forgotpasswordform.py deleted file mode 100644 index 50db65e..0000000 --- a/library/forms/forgotpasswordform.py +++ /dev/null @@ -1,14 +0,0 @@ -"""Forgotten password form to help user.""" -from flask_wtf import FlaskForm -from wtforms import StringField, SubmitField, validators -from wtforms.validators import Email, Length - - -class ForgotPasswordForm(FlaskForm): - """Forgotten password csv-library form""" - - email = StringField( - "Email address:", - validators=[validators.InputRequired(), Email(), Length(6, 64)], - ) - submit = SubmitField("Send email") diff --git a/library/forms/loginform.py b/library/forms/loginform.py deleted file mode 100644 index 80f5580..0000000 --- a/library/forms/loginform.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Login form to validate user.""" -from flask_wtf import FlaskForm -from wtforms import PasswordField, StringField, SubmitField, validators -from wtforms.validators import Email, Length - - -class LoginForm(FlaskForm): - """Login csv-library form""" - - email = StringField( - "Email address:", - validators=[validators.InputRequired(), Email(), Length(6, 64)], - ) - password = PasswordField( - "Password:", validators=[validators.InputRequired()] - ) - submit = SubmitField("Sign In") diff --git a/library/forms/registerform.py b/library/forms/registerform.py deleted file mode 100644 index c90d27b..0000000 --- a/library/forms/registerform.py +++ /dev/null @@ -1,37 +0,0 @@ -"""Register form to make a new user.""" -from flask_wtf import FlaskForm -from wtforms import PasswordField, StringField, SubmitField, validators -from wtforms.validators import Email, EqualTo, Length, ValidationError - - -class RegisterForm(FlaskForm): - """Register for csv-library form""" - - username = StringField( - "Username:", - validators=[validators.InputRequired(), Length(3, 150)], - ) - - email = StringField( - "Email address:", - validators=[ - validators.InputRequired(), - Email(), - Length(6, 64), - ], - ) - - password = PasswordField( - "New password:", - validators=[validators.InputRequired(), Length(12, 72)], - ) - - confirmpassword = PasswordField( - "Confirm your password:", - validators=[ - validators.InputRequired(), - Length(12, 72), - EqualTo("password", message="Passwords must match !"), - ], - ) - submit = SubmitField("Register to the library") diff --git a/library/forms/resetpasswordform.py b/library/forms/resetpasswordform.py deleted file mode 100644 index cc8a302..0000000 --- a/library/forms/resetpasswordform.py +++ /dev/null @@ -1,22 +0,0 @@ -"""Reset Password Form form to reset a users PasswordField.""" -from flask_wtf import FlaskForm -from wtforms import PasswordField, SubmitField, validators -from wtforms.validators import EqualTo, Length - - -class ResetPasswordForm(FlaskForm): - """ResetPassword for csv-library form""" - - password = PasswordField( - "New password:", - validators=[validators.InputRequired(), Length(12, 72)], - ) - confirmpassword = PasswordField( - "Confirm your password:", - validators=[ - validators.InputRequired(), - Length(12, 72), - EqualTo("password", message="Passwords must match !"), - ], - ) - submit = SubmitField("Reset your password") diff --git a/library/forms/uploadform.py b/library/forms/uploadform.py deleted file mode 100644 index b2b28d2..0000000 --- a/library/forms/uploadform.py +++ /dev/null @@ -1,76 +0,0 @@ -"""Form object declaration.""" -from flask_wtf import FlaskForm -from flask_wtf.file import FileAllowed, FileField -from wtforms import ( - IntegerField, - RadioField, - StringField, - SubmitField, - validators, -) -from wtforms.validators import Length, NumberRange - - -class PublicationForm(FlaskForm): - """Publication upload form.""" - - uploadpublication = StringField( - "Title of the publication:", - [ - validators.InputRequired(), - Length( - min=3, message="A publication in the library needs a title." - ), - ], - ) - author = StringField( - "The author or editor:", - [ - validators.InputRequired(), - Length( - min=3, - message=( - "If the author or editor is not known just type unkown." - ), - ), - ], - ) - year = IntegerField( - "Year:", - [validators.InputRequired(), NumberRange(min=0, max=2050)], - default=2023, - ) - fields = StringField("Fields:") - type = StringField( - "Type of publication:", - [ - validators.InputRequired(), - Length( - min=3, - message=( - "Here you can use terms such as zine, paperback," - " hardcover." - ), - ), - ], - ) - publishers = StringField("Publishers:") - license = StringField("License:") - highlights = StringField("Highlights from the publication:") - comments = StringField("Comments on the publication:") - image = FileField( - "Image of the book:", - validators=[FileAllowed(["jpg", "png", "gif"], "Images only!")], - ) - pdf = FileField( - "Pdf of the book:", - validators=[FileAllowed(["pdf"], "Only pdf uploads supported")], - ) - secret = StringField( - "Librarians secret:", - [ - validators.InputRequired(), - Length(min=2, message="Fill in the secret to unlock to library."), - ], - ) - submit = SubmitField("Submit") diff --git a/library/page.py b/library/page.py index ba3cfcb..f8b6a8e 100644 --- a/library/page.py +++ b/library/page.py @@ -90,9 +90,7 @@ def show_book(publicationID): fullpublication = csvparser.getfullpublication(publicationID) borrowform = BorrowForm() if request.method == "POST": - if borrowform.validate_on_submit() and checksecret( - borrowform.secret.data - ): + if borrowform.validate_on_submit(): editborrowedby(publicationID, borrowform.borrowed.data) fullpublication["Borrowed"] = borrowform.borrowed.data return render_template( diff --git a/library/templates/upload.html b/library/templates/upload.html index 49df8be..55f8edd 100644 --- a/library/templates/upload.html +++ b/library/templates/upload.html @@ -1,8 +1,12 @@ {% extends "base.html" %} {% block main %} - {% else %} -
+