From f1b968076491431af784516550a85e0f73ee124d Mon Sep 17 00:00:00 2001 From: Inga Kirschnick <inga.kirschnick@uni-bielefeld.de> Date: Thu, 12 Jan 2023 09:25:58 +0100 Subject: [PATCH] Cleanup of tests to push into live system --- app/templates/_sidenav.html.j2 | 4 ++-- app/templates/main/dashboard.html.j2 | 14 ++++---------- app/templates/users/edit_profile.html.j2 | 2 +- app/templates/users/profile.html.j2 | 6 +++--- app/users/forms.py | 10 ++++++---- app/wtf_validators.py | 9 +++++++++ 6 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 app/wtf_validators.py diff --git a/app/templates/_sidenav.html.j2 b/app/templates/_sidenav.html.j2 index f968cffe..11616ebf 100644 --- a/app/templates/_sidenav.html.j2 +++ b/app/templates/_sidenav.html.j2 @@ -1,6 +1,6 @@ <ul class="sidenav sidenav-fixed" id="sidenav"> <li> - <div class="user-view"> + <div class="user-view" style="padding-top: 8px;"> <div class="background primary-color"></div> <div class="row"> <div class="col s2"> @@ -20,7 +20,7 @@ <li><a href="{{ url_for('main.dashboard') }}"><i class="material-icons">dashboard</i>Dashboard</a></li> <li><a href="{{ url_for('main.dashboard', _anchor='corpora') }}" style="padding-left: 47px;"><i class="nopaque-icons">I</i>My Corpora</a></li> <li><a href="{{ url_for('main.dashboard', _anchor='jobs') }}" style="padding-left: 47px;"><i class="nopaque-icons">J</i>My Jobs</a></li> - <li><a href="{{ url_for('main.dashboard', _anchor='social') }}" style="padding-left: 47px;"><i class="material-icons">groups</i>Social</a></li> + {# <li><a href="{{ url_for('main.dashboard', _anchor='social') }}" style="padding-left: 47px;"><i class="material-icons">groups</i>Social</a></li> #} <li><a href="{{ url_for('contributions.contributions') }}"><i class="material-icons">new_label</i>Contribute</a></li> <li><div class="divider"></div></li> <li><a class="subheader">Processes & Services</a></li> diff --git a/app/templates/main/dashboard.html.j2 b/app/templates/main/dashboard.html.j2 index 9b45d337..b6149fdf 100644 --- a/app/templates/main/dashboard.html.j2 +++ b/app/templates/main/dashboard.html.j2 @@ -42,7 +42,7 @@ </div> </div> </div> - <div class="col s12" id="social"> + {# <div class="col s12" id="social"> <h3>Social</h3> <div class="card"> <div class="card-content"> @@ -57,16 +57,10 @@ <p>Find public corpora</p> </div> </div> - </div> + </div> #} <div class="fixed-action-btn direction-top active" style="bottom:45px; right:24px;"> <a id="news-feature-discovery" class="waves-effect waves-light btn btn-floating"><i class="material-icons">mail</i></a> </div> - <div class="tap-target" data-target="news-feature-discovery" style="background-color:#1A5C89"> - <div class="tap-target-content"> - <h5>Title</h5> - <p>A bunch of text</p> - </div> - </div> </div> </div> {% endblock page_content %} @@ -122,10 +116,10 @@ </div> {% endblock modals %} -{% block scripts %} +{# {% block scripts %} {{ super() }} <script> let publicUserList = new PublicUserList(document.querySelector('.public-user-list')); publicUserList.add({{ users|tojson }}); </script> -{% endblock scripts %} +{% endblock scripts %} #} diff --git a/app/templates/users/edit_profile.html.j2 b/app/templates/users/edit_profile.html.j2 index 5e299262..11b4b4d2 100644 --- a/app/templates/users/edit_profile.html.j2 +++ b/app/templates/users/edit_profile.html.j2 @@ -83,7 +83,7 @@ </div> </div> <div class="col s10"> - {{ wtf.render_field(edit_public_profile_information_form.avatar, accept='image/jpeg, image/png, image/gif', placeholder='Choose an image file', id='avatar-upload', data_action='disable') }} + {{ wtf.render_field(edit_public_profile_information_form.avatar, accept='image/jpeg, image/png, image/gif', placeholder='Choose an image file', id='avatar-upload') }} </div> </div> </div> diff --git a/app/templates/users/profile.html.j2 b/app/templates/users/profile.html.j2 index b8c0ad19..574fd6c9 100644 --- a/app/templates/users/profile.html.j2 +++ b/app/templates/users/profile.html.j2 @@ -91,7 +91,7 @@ </div> </div> </div> - <div class="row"> + {# <div class="row"> <div class="col s6"> <div class="card"> <div class="card-content"> @@ -103,11 +103,11 @@ <div class="card"> <div class="card-content"> <h4>Public corpora</h4> - {# <div class="public-corpora-list" data-user-id="{{ user.hashid }}"></div> #} + <div class="public-corpora-list" data-user-id="{{ user.hashid }}"></div> </div> </div> </div> - </div> + </div> #} </div> {% endblock page_content %} diff --git a/app/users/forms.py b/app/users/forms.py index 50594519..5fd5d81e 100644 --- a/app/users/forms.py +++ b/app/users/forms.py @@ -8,23 +8,24 @@ from wtforms import ( ValidationError ) from wtforms.validators import ( - InputRequired, + DataRequired, Email, Length, Regexp ) from app.models import User from app.auth import USERNAME_REGEX +from app.wtf_validators import FileSizeLimit class EditProfileSettingsForm(FlaskForm): email = StringField( 'E-Mail', - validators=[InputRequired(), Length(max=254), Email()] + validators=[DataRequired(), Length(max=254), Email()] ) username = StringField( 'Username', validators=[ - InputRequired(), + DataRequired(), Length(max=64), Regexp( USERNAME_REGEX, @@ -53,7 +54,8 @@ class EditProfileSettingsForm(FlaskForm): class EditPublicProfileInformationForm(FlaskForm): avatar = FileField( - 'Image File' + 'Image File', + [FileSizeLimit(max_size_in_mb=2)] ) full_name = StringField( 'Full name', diff --git a/app/wtf_validators.py b/app/wtf_validators.py new file mode 100644 index 00000000..326ef7e7 --- /dev/null +++ b/app/wtf_validators.py @@ -0,0 +1,9 @@ +from wtforms.validators import ValidationError + +def FileSizeLimit(max_size_in_mb): + max_bytes = max_size_in_mb*1024*1024 + def file_length_check(form, field): + if len(field.data.read()) > max_bytes: + raise ValidationError(f"File size must be less than {max_size_in_mb}MB") + field.data.seek(0) + return file_length_check -- GitLab