diff --git a/app/admin/routes.py b/app/admin/routes.py index 011de1bb0dabd490a8369dd0eddb07146794055b..38ad92536166014b720fcf2fc74ad834203eaa51 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -6,7 +6,6 @@ from app.decorators import admin_required from app.models import Role, User, UserSettingJobStatusMailNotificationLevel from app.settings.forms import ( EditGeneralSettingsForm, - EditInterfaceSettingsForm, EditNotificationSettingsForm ) from . import bp @@ -55,9 +54,6 @@ def edit_user(user_id): user, prefix='edit-general-settings-form' ) - edit_interface_settings_form = EditInterfaceSettingsForm( - prefix='edit-interface-settings-form' - ) edit_notification_settings_form = EditNotificationSettingsForm( prefix='edit-notification-settings-form' ) @@ -76,12 +72,6 @@ def edit_user(user_id): db.session.commit() flash('Your changes have been saved') return redirect(url_for('.edit_user', user_id=user.id)) - if (edit_interface_settings_form.submit.data - and edit_interface_settings_form.validate()): - user.setting_dark_mode = edit_interface_settings_form.dark_mode.data - db.session.commit() - flash('Your changes have been saved') - return redirect(url_for('.edit_user', user_id=user.id)) if (edit_notification_settings_form.submit.data and edit_notification_settings_form.validate()): user.setting_job_status_mail_notification_level = \ @@ -93,13 +83,11 @@ def edit_user(user_id): return redirect(url_for('.edit_user', user_id=user.id)) admin_edit_user_form.prefill(user) edit_general_settings_form.prefill(user) - edit_interface_settings_form.prefill(user) edit_notification_settings_form.prefill(user) return render_template( 'admin/edit_user.html.j2', admin_edit_user_form=admin_edit_user_form, edit_general_settings_form=edit_general_settings_form, - edit_interface_settings_form=edit_interface_settings_form, edit_notification_settings_form=edit_notification_settings_form, title='Edit user', user=user diff --git a/app/api/schemas.py b/app/api/schemas.py index 9474bd1a3cec00eba9697edbc9da984e99e17e96..7abb56de79536da5334f13173edb11f843959048 100644 --- a/app/api/schemas.py +++ b/app/api/schemas.py @@ -150,7 +150,6 @@ class UserSchema(ma.SQLAlchemySchema): last_seen = ma.auto_field(dump_only=True) password = ma.String(load_only=True) last_seen = ma.auto_field(dump_only=True) - setting_dark_mode = ma.auto_field() setting_job_status_mail_notification_level = ma.String( validate=validate.OneOf(list(UserSettingJobStatusMailNotificationLevel.__members__.keys())) ) diff --git a/app/models.py b/app/models.py index 16ff27254705ccb2ef5ba67584863965fa526485..f4889bbd3177ffd309569fac3463a815f2b86f59 100644 --- a/app/models.py +++ b/app/models.py @@ -263,7 +263,6 @@ class User(HashidMixin, UserMixin, db.Model): password_hash = db.Column(db.String(128)) confirmed = db.Column(db.Boolean, default=False) member_since = db.Column(db.DateTime(), default=datetime.utcnow) - setting_dark_mode = db.Column(db.Boolean, default=False) setting_job_status_mail_notification_level = db.Column( IntEnumColumn(UserSettingJobStatusMailNotificationLevel), default=UserSettingJobStatusMailNotificationLevel.END @@ -500,7 +499,6 @@ class User(HashidMixin, UserMixin, db.Model): 'member_since': f'{self.member_since.isoformat()}Z', 'username': self.username, 'settings': { - 'dark_mode': self.setting_dark_mode, 'job_status_mail_notification_level': \ self.setting_job_status_mail_notification_level.name } diff --git a/app/settings/forms.py b/app/settings/forms.py index 3bd3b5ab108a3a5320e06ad234d8539db0470f40..00904e001cdcb699601284264b37146cc63dac5a 100644 --- a/app/settings/forms.py +++ b/app/settings/forms.py @@ -71,10 +71,6 @@ class EditGeneralSettingsForm(FlaskForm): super().__init__(*args, **kwargs) self.user = user - def prefill(self, user): - self.email.data = user.email - self.username.data = user.username - def validate_email(self, field): if (field.data != self.user.email and User.query.filter_by(email=field.data).first()): @@ -86,13 +82,6 @@ class EditGeneralSettingsForm(FlaskForm): raise ValidationError('Username already in use') -class EditInterfaceSettingsForm(FlaskForm): - dark_mode = BooleanField('Dark mode') - submit = SubmitField() - - def prefill(self, user): - self.dark_mode.data = user.setting_dark_mode - class EditNotificationSettingsForm(FlaskForm): job_status_mail_notification_level = SelectField( 'Job status mail notification level', diff --git a/app/settings/routes.py b/app/settings/routes.py index eb2636e815f96b29252aeeefdba22bdae026ec99..0604eb06693a0d9f6249ffaaaa0a4601596ffa20 100644 --- a/app/settings/routes.py +++ b/app/settings/routes.py @@ -6,7 +6,6 @@ from . import bp from .forms import ( ChangePasswordForm, EditGeneralSettingsForm, - EditInterfaceSettingsForm, EditNotificationSettingsForm ) @@ -20,11 +19,9 @@ def settings(): ) edit_general_settings_form = EditGeneralSettingsForm( current_user, + obj=current_user, prefix='edit-general-settings-form' ) - edit_interface_settings_form = EditInterfaceSettingsForm( - prefix='edit-interface-settings-form' - ) edit_notification_settings_form = EditNotificationSettingsForm( prefix='edit-notification-settings-form' ) @@ -41,13 +38,6 @@ def settings(): db.session.commit() flash('Your changes have been saved') return redirect(url_for('.settings')) - if (edit_interface_settings_form.submit.data - and edit_interface_settings_form.validate()): - current_user.setting_dark_mode = ( - edit_interface_settings_form.dark_mode.data) - db.session.commit() - flash('Your changes have been saved') - return redirect(url_for('.settings')) if (edit_notification_settings_form.submit.data and edit_notification_settings_form.validate()): current_user.setting_job_status_mail_notification_level = ( @@ -58,14 +48,11 @@ def settings(): db.session.commit() flash('Your changes have been saved') return redirect(url_for('.settings')) - edit_general_settings_form.prefill(current_user) - edit_interface_settings_form.prefill(current_user) edit_notification_settings_form.prefill(current_user) return render_template( 'settings/settings.html.j2', change_password_form=change_password_form, edit_general_settings_form=edit_general_settings_form, - edit_interface_settings_form=edit_interface_settings_form, edit_notification_settings_form=edit_notification_settings_form, title='Settings' ) diff --git a/app/templates/admin/edit_user.html.j2 b/app/templates/admin/edit_user.html.j2 index 45c27c6a8b8c32f492791e6bf6046b3a722096b3..13e8a4730849f17dc9eef41b3e3fef8d2426c287 100644 --- a/app/templates/admin/edit_user.html.j2 +++ b/app/templates/admin/edit_user.html.j2 @@ -27,38 +27,6 @@ </div> </form> - <form method="POST"> - {{ edit_interface_settings_form.hidden_tag() }} - <div class="card"> - <div class="card-content"> - <span class="card-title">Interface settings</span> - <div class="row"> - <div class="col s12"><p> </p></div> - <div class="col s1"> - <p><i class="material-icons">brightness_3</i></p> - </div> - <div class="col s8"> - <p>{{ edit_interface_settings_form.dark_mode.label.text }}</p> - <p class="light">Enable dark mode to ease your eyes.</p> - </div> - <div class="col s3 right-align"> - <div class="switch"> - <label> - {{ edit_interface_settings_form.dark_mode() }} - <span class="lever"></span> - </label> - </div> - </div> - </div> - </div> - <div class="card-action"> - <div class="right-align"> - {{ wtf.render_field(edit_interface_settings_form.submit, material_icon='send') }} - </div> - </div> - </div> - </form> - <form method="POST"> {{ edit_notification_settings_form.hidden_tag() }} <div class="card"> diff --git a/app/templates/base.html.j2 b/app/templates/base.html.j2 index af8bc2d38bd0d10741c6229ad4a312c69da293e5..dbecd35e1e76419baff35b973af85bf4beb9b2bb 100644 --- a/app/templates/base.html.j2 +++ b/app/templates/base.html.j2 @@ -5,12 +5,6 @@ {% block head %} {{ super() }} <link href="{{ url_for('static', filename='images/nopaque_-_favicon.png') }}" rel="icon"> -{% if current_user.setting_dark_mode %} -<script src="https://cdnjs.cloudflare.com/ajax/libs/darkreader/4.9.40/darkreader.min.js" integrity="sha512-0Jbi9gWSyU5SvNS16za0aILl6l+MgM8N+TGlZxy4qPQEzqKoU9egh4h56Kz0xp2R+ZFPQMfeDn26Gh6cqu2WAg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> -<script> - DarkReader.enable(); -</script> -{% endif %} {% endblock head %} {% block metas %} diff --git a/app/templates/settings/settings.html.j2 b/app/templates/settings/settings.html.j2 index 441cd367834a78ee6692aa86799db87578d8328f..e229a382656dd738cd3627ac72056355ec3395ad 100644 --- a/app/templates/settings/settings.html.j2 +++ b/app/templates/settings/settings.html.j2 @@ -27,38 +27,6 @@ </div> </form> - <form method="POST"> - {{ edit_interface_settings_form.hidden_tag() }} - <div class="card"> - <div class="card-content"> - <span class="card-title">Interface settings</span> - <div class="row"> - <div class="col s12"><p> </p></div> - <div class="col s1"> - <p><i class="material-icons">brightness_3</i></p> - </div> - <div class="col s8"> - <p>{{ edit_interface_settings_form.dark_mode.label.text }}</p> - <p class="light">Enable dark mode to ease your eyes.</p> - </div> - <div class="col s3 right-align"> - <div class="switch"> - <label> - {{ edit_interface_settings_form.dark_mode() }} - <span class="lever"></span> - </label> - </div> - </div> - </div> - </div> - <div class="card-action"> - <div class="right-align"> - {{ wtf.render_field(edit_interface_settings_form.submit, material_icon='send') }} - </div> - </div> - </div> - </form> - <form method="POST"> {{ edit_notification_settings_form.hidden_tag() }} <div class="card"> diff --git a/migrations/versions/89e9526089bf_.py b/migrations/versions/89e9526089bf_.py new file mode 100644 index 0000000000000000000000000000000000000000..3abd65af17ac64adb5b8b5407b6873be5166f463 --- /dev/null +++ b/migrations/versions/89e9526089bf_.py @@ -0,0 +1,26 @@ +"""Remove setting_dark_mode column from users table + +Revision ID: 89e9526089bf +Revises: 721829b5dd25 +Create Date: 2022-11-17 09:47:27.724692 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '89e9526089bf' +down_revision = '721829b5dd25' +branch_labels = None +depends_on = None + + +def upgrade(): + op.drop_column('users', 'setting_dark_mode') + + +def downgrade(): + op.add_column('users', + sa.Column('setting_dark_mode', sa.Boolean(), nullable=True) + )