mirror of
https://github.com/minetest/contentdb.git
synced 2024-11-08 08:33:45 +01:00
Add locale to user model
This commit is contained in:
parent
d4903f04f1
commit
7b4254da58
@ -121,16 +121,19 @@ def page_not_found(e):
|
||||
|
||||
@babel.localeselector
|
||||
def get_locale():
|
||||
if not request:
|
||||
return None
|
||||
|
||||
locales = app.config["LANGUAGES"].keys()
|
||||
|
||||
if request:
|
||||
locale = request.cookies.get("locale")
|
||||
if locale in locales:
|
||||
return locale
|
||||
if current_user.is_authenticated and current_user.locale in locales:
|
||||
return current_user.locale
|
||||
|
||||
return request.accept_languages.best_match(locales)
|
||||
locale = request.cookies.get("locale")
|
||||
if locale in locales:
|
||||
return locale
|
||||
|
||||
return None
|
||||
return request.accept_languages.best_match(locales)
|
||||
|
||||
|
||||
@app.route("/set-locale/", methods=["POST"])
|
||||
@ -152,4 +155,8 @@ def set_locale():
|
||||
expire_date = expire_date + datetime.timedelta(days=5*365)
|
||||
resp.set_cookie("locale", locale, expires=expire_date)
|
||||
|
||||
if current_user.is_authenticated:
|
||||
current_user.locale = locale
|
||||
models.db.session.commit()
|
||||
|
||||
return resp
|
||||
|
@ -117,8 +117,8 @@ class ForumTopic(db.Model):
|
||||
author_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False)
|
||||
author = db.relationship("User", back_populates="forum_topics")
|
||||
|
||||
wip = db.Column(db.Boolean, server_default="0")
|
||||
discarded = db.Column(db.Boolean, server_default="0")
|
||||
wip = db.Column(db.Boolean, default=False, nullable=False)
|
||||
discarded = db.Column(db.Boolean, default=False, nullable=False)
|
||||
|
||||
type = db.Column(db.Enum(PackageType), nullable=False)
|
||||
title = db.Column(db.String(200), nullable=False)
|
||||
|
@ -148,6 +148,8 @@ class User(db.Model, UserMixin):
|
||||
email = db.Column(db.String(255), nullable=True, unique=True)
|
||||
email_confirmed_at = db.Column(db.DateTime(), nullable=True, server_default=None)
|
||||
|
||||
locale = db.Column(db.String(10), nullable=True, default="")
|
||||
|
||||
# User information
|
||||
profile_pic = db.Column(db.String(255), nullable=True, server_default=None)
|
||||
is_active = db.Column("is_active", db.Boolean, nullable=False, server_default="0")
|
||||
|
24
migrations/versions/6e57b2b4dcdf_.py
Normal file
24
migrations/versions/6e57b2b4dcdf_.py
Normal file
@ -0,0 +1,24 @@
|
||||
"""empty message
|
||||
|
||||
Revision ID: 6e57b2b4dcdf
|
||||
Revises: 17b303f33f68
|
||||
Create Date: 2022-01-22 20:35:25.494712
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '6e57b2b4dcdf'
|
||||
down_revision = '17b303f33f68'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.add_column('user', sa.Column('locale', sa.String(length=10), nullable=True))
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_column('user', 'locale')
|
Loading…
Reference in New Issue
Block a user