diff --git a/tildes/alembic/versions/347859b0355e_added_account_default_theme_setting.py b/tildes/alembic/versions/347859b0355e_added_account_default_theme_setting.py index b188a0c..abe68c4 100644 --- a/tildes/alembic/versions/347859b0355e_added_account_default_theme_setting.py +++ b/tildes/alembic/versions/347859b0355e_added_account_default_theme_setting.py @@ -11,19 +11,14 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. revision = "347859b0355e" -down_revision = "fab922a8bb04" +down_revision = "50c251c4a19c" branch_labels = None depends_on = None def upgrade(): - op.add_column( - "users", - sa.Column( - "theme_account_default", sa.Text(), server_default="", nullable=False - ), - ) + op.add_column("users", sa.Column("theme_default", sa.Text())) def downgrade(): - op.drop_column("users", "theme_account_default") + op.drop_column("users", "theme_default") diff --git a/tildes/scss/modules/_form.scss b/tildes/scss/modules/_form.scss index 72b86bf..1c473b3 100644 --- a/tildes/scss/modules/_form.scss +++ b/tildes/scss/modules/_form.scss @@ -38,10 +38,6 @@ select.form-select:not([multiple]) { } } -.form-buttons.no-flex-reverse { - flex-direction: row; -} - textarea.form-input { height: 8rem; line-height: 1.5; diff --git a/tildes/scss/modules/_tab.scss b/tildes/scss/modules/_tab.scss index 91e0286..9bd7a19 100644 --- a/tildes/scss/modules/_tab.scss +++ b/tildes/scss/modules/_tab.scss @@ -28,7 +28,3 @@ } } } - -.tab-listing-order.tab-flex-2 { - flex: 2; -} diff --git a/tildes/static/js/behaviors/theme-selector.js b/tildes/static/js/behaviors/theme-selector.js index 8704863..2050585 100644 --- a/tildes/static/js/behaviors/theme-selector.js +++ b/tildes/static/js/behaviors/theme-selector.js @@ -3,9 +3,9 @@ $.onmount('[data-js-theme-selector]', function() { event.preventDefault(); var new_theme = $(this).val(); - var selected_text = $(this).find('option:selected').text() - var $setDefaultLink = $('#button-set-default-theme') - var $formDefaultValue = $('#input-set-default-theme') + var selected_text = $(this).find('option:selected').text(); + var $setDefaultLink = $('#button-set-default-theme'); + var $formDefaultValue = $('#input-set-default-theme'); // persist the new theme for the user in their cookie document.cookie = 'theme=' + new_theme + ';' + @@ -27,13 +27,13 @@ $.onmount('[data-js-theme-selector]', function() { } // set the IC hidden input with the new value - $formDefaultValue.val(new_theme) + $formDefaultValue.val(new_theme); // set visibility of 'Set as account default' link if (selected_text.indexOf('(account default)') !== -1) { - $setDefaultLink.css('visibility', 'hidden') + $setDefaultLink.css('visibility', 'hidden'); } else { - $setDefaultLink.css('visibility', 'visible') + $setDefaultLink.css('visibility', 'visible'); } }); }); diff --git a/tildes/tests/conftest.py b/tildes/tests/conftest.py index 36617fb..e27c2c6 100644 --- a/tildes/tests/conftest.py +++ b/tildes/tests/conftest.py @@ -202,7 +202,11 @@ def webtest(base_app): base_app, # This "tm.active" is a temporary fix around this fixture failing to rollback # data after the tests are complete. - extra_environ={"wsgi.url_scheme": "https", "tm.active": True}, + extra_environ={ + "wsgi.url_scheme": "https", + "tm.active": True, + "REMOTE_ADDR": "0.0.0.0", + }, cookiejar=CookieJar(), ) @@ -212,7 +216,7 @@ def webtest(base_app): login_page.form["password"] = "session user password" # The login process requires a non-None IP address; this # populates `request.client_addr`. - login_page.form.submit(extra_environ={"HTTP_X_FORWARDED_FOR": "0.0.0.0"}) + login_page.form.submit() yield app diff --git a/tildes/tildes/models/user/user.py b/tildes/tildes/models/user/user.py index 68dd620..7763123 100644 --- a/tildes/tildes/models/user/user.py +++ b/tildes/tildes/models/user/user.py @@ -87,7 +87,7 @@ class User(DatabaseModel): Boolean, nullable=False, server_default="false" ) open_new_tab_text: bool = Column(Boolean, nullable=False, server_default="false") - theme_account_default: str = Column(Text, nullable=False, server_default="") + theme_default: str = Column(Text) is_banned: bool = Column(Boolean, nullable=False, server_default="false") permissions: Any = Column(JSONB) home_default_order: Optional[TopicSortOption] = Column(ENUM(TopicSortOption)) diff --git a/tildes/tildes/templates/base.jinja2 b/tildes/tildes/templates/base.jinja2 index a33cdcb..274fd56 100644 --- a/tildes/tildes/templates/base.jinja2 +++ b/tildes/tildes/templates/base.jinja2 @@ -38,8 +38,8 @@ {% block body_tag %} {% if request.cookies.get('theme', '') %}
- {% elif request.user and request.user.theme_account_default %} - + {% elif request.user and request.user.theme_default %} + {% else %} {% endif %} diff --git a/tildes/tildes/templates/base_no_sidebar.jinja2 b/tildes/tildes/templates/base_no_sidebar.jinja2 index 85e5ae3..8d98d78 100644 --- a/tildes/tildes/templates/base_no_sidebar.jinja2 +++ b/tildes/tildes/templates/base_no_sidebar.jinja2 @@ -3,8 +3,8 @@ {% block body_tag %} {% if request.cookies.get('theme', '') %} - {% elif request.user and request.user.theme_account_default %} - + {% elif request.user and request.user.theme_default %} + {% else %} {% endif %} diff --git a/tildes/tildes/templates/settings.jinja2 b/tildes/tildes/templates/settings.jinja2 index 431e6d0..22d8c82 100644 --- a/tildes/tildes/templates/settings.jinja2 +++ b/tildes/tildes/templates/settings.jinja2 @@ -8,8 +8,13 @@