Allow usernames with non-English characters
Bug #1828923 reported by
GunChleoc
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Widelands Website |
Won't Fix
|
Undecided
|
Unassigned | ||
widelands |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
We currently only allow a subset of ASCII in usernames. It would be nice if speakers of languages other than English were more free in their choice, e.g. allow them to add äßé or a Username in Cyrillic or Chinese script.
See also the website bug 1784693 "Using Unicode literals cause a server error"
Related branches
lp:~widelands-dev/widelands-website/wlwebsite_py36
- GunChleoc: Approve
-
Diff: 8078 lines (+2625/-2509)141 files modifiedREADME.txt (+11/-11)
check_input/migrations/0001_initial.py (+1/-1)
check_input/models.py (+1/-1)
documentation/conf.py (+2/-2)
documentation/management/commands/create_docs.py (+1/-1)
local_settings.py.sample (+0/-2)
mainpage/admin.py (+2/-2)
mainpage/online_users_middleware.py (+1/-1)
mainpage/settings.py (+15/-15)
mainpage/sitemap_urls.py (+1/-1)
mainpage/templatetags/wl_markdown.py (+8/-8)
mainpage/urls.py (+1/-1)
mainpage/utest/test_wl_markdown.py (+67/-67)
mainpage/views.py (+7/-5)
mainpage/wlwebsite_wsgi.py (+1/-1)
news/migrations/0001_initial.py (+1/-1)
news/migrations/0002_auto_20170417_1857.py (+1/-1)
news/models.py (+4/-4)
news/templatetags/news_extras.py (+2/-2)
notification/engine.py (+5/-3)
notification/lockfile.py (+3/-3)
notification/migrations/0001_initial.py (+1/-1)
notification/migrations/0002_auto_20170417_1857.py (+1/-1)
notification/migrations/0003_auto_20190409_0924.py (+1/-1)
notification/models.py (+14/-12)
notification/views.py (+1/-1)
privacy_policy/admin.py (+1/-1)
privacy_policy/apps.py (+1/-1)
privacy_policy/migrations/0001_initial.py (+1/-1)
privacy_policy/models.py (+2/-2)
privacy_policy/views.py (+1/-1)
pybb/lib/phpserialize.py (+10/-10)
pybb/management/__init__.py (+1/-1)
pybb/management/commands/pybb_resave_post.py (+1/-1)
pybb/management/pybb_notifications.py (+1/-1)
pybb/markups/postmarkup.py (+125/-125)
pybb/migrations/0001_initial.py (+1/-1)
pybb/migrations/0002_auto_20161001_2046.py (+1/-1)
pybb/migrations/0003_remove_post_user_ip.py (+1/-1)
pybb/migrations/0004_auto_20181209_1334.py (+1/-1)
pybb/migrations/0005_auto_20181221_1047.py (+1/-1)
pybb/models.py (+8/-8)
pybb/orm.py (+2/-2)
pybb/templates/pybb/last_posts.html (+1/-1)
pybb/templatetags/pybb_extras.py (+3/-3)
pybb/util.py (+4/-4)
pybb/views.py (+2/-2)
python3.txt (+104/-0)
threadedcomments/admin.py (+1/-1)
threadedcomments/migrations/0001_initial.py (+1/-1)
threadedcomments/migrations/0002_auto_20181003_1238.py (+1/-1)
threadedcomments/models.py (+2/-2)
threadedcomments/templatetags/gravatar.py (+10/-10)
threadedcomments/templatetags/threadedcommentstags.py (+19/-19)
threadedcomments/utils.py (+2/-2)
threadedcomments/views.py (+1/-1)
widelandslib/make_flow_diagram.py (+26/-26)
widelandslib/test/test_conf.py (+1/-1)
widelandslib/test/test_map.py (+3/-3)
widelandslib/tribe.py (+13/-14)
wiki/diff_match_patch.py (+1872/-1891)
wiki/feeds.py (+2/-2)
wiki/management.py (+1/-1)
wiki/migrations/0001_initial.py (+1/-1)
wiki/migrations/0002_auto_20161218_1056.py (+1/-1)
wiki/migrations/0003_auto_20180918_0836.py (+1/-1)
wiki/models.py (+28/-28)
wiki/static/css/wiki.css (+13/-0)
wiki/templatetags/restructuredtext.py (+1/-1)
wiki/templatetags/wiki_extras.py (+2/-2)
wiki/views.py (+2/-2)
wlevents/admin.py (+1/-1)
wlevents/migrations/0001_initial.py (+1/-1)
wlevents/templatetags/wlevents_extras.py (+1/-1)
wlevents/tests.py (+1/-1)
wlggz/admin.py (+1/-1)
wlggz/forms.py (+2/-2)
wlggz/migrations/0001_initial.py (+1/-1)
wlggz/migrations/0002_auto_20160805_2004.py (+1/-1)
wlggz/urls.py (+1/-1)
wlggz/views.py (+1/-1)
wlhelp/management/commands/update_help.py (+37/-36)
wlhelp/management/commands/update_help_pdf.py (+6/-6)
wlhelp/migrations/0001_initial.py (+1/-1)
wlhelp/migrations/0002_auto_20190410_1734.py (+1/-1)
wlhelp/models.py (+11/-11)
wlhelp/tests.py (+1/-1)
wlhelp/urls.py (+1/-1)
wlimages/admin.py (+2/-2)
wlimages/forms.py (+1/-1)
wlimages/migrations/0001_initial.py (+1/-1)
wlimages/migrations/0002_remove_image_url.py (+1/-1)
wlimages/migrations/0003_remove_image_editor_ip.py (+1/-1)
wlimages/models.py (+1/-1)
wlimages/templatetags/wlimages_extras.py (+3/-3)
wlimages/tests.py (+4/-4)
wlimages/urls.py (+1/-1)
wlimages/views.py (+3/-3)
wlmaps/admin.py (+1/-1)
wlmaps/management.py (+1/-1)
wlmaps/migrations/0001_initial.py (+1/-1)
wlmaps/migrations/0002_auto_20181119_1855.py (+1/-1)
wlmaps/models.py (+2/-2)
wlmaps/tests/__init__.py (+2/-2)
wlmaps/urls.py (+2/-2)
wlmaps/views.py (+2/-2)
wlpoll/admin.py (+1/-1)
wlpoll/migrations/0001_initial.py (+1/-1)
wlpoll/models.py (+3/-3)
wlpoll/templatetags/wlpoll_extras.py (+3/-3)
wlpoll/tests.py (+1/-1)
wlpoll/urls.py (+1/-1)
wlpoll/views.py (+1/-1)
wlprofile/admin.py (+1/-1)
wlprofile/fields.py (+4/-4)
wlprofile/forms.py (+1/-1)
wlprofile/gravatar.py (+6/-6)
wlprofile/management/commands/profile_fetch_gravatars.py (+2/-2)
wlprofile/migrations/0001_initial.py (+1/-1)
wlprofile/migrations/0002_profile_deleted.py (+1/-1)
wlprofile/models.py (+1/-1)
wlprofile/templatetags/custom_date.py (+34/-19)
wlprofile/templatetags/wlprofile_extras.py (+1/-1)
wlprofile/tests.py (+6/-6)
wlprofile/urls.py (+1/-1)
wlprofile/views.py (+1/-1)
wlscheduling/migrations/0001_initial.py (+1/-1)
wlscheduling/urls.py (+1/-1)
wlscheduling/views.py (+1/-1)
wlscreens/admin.py (+1/-1)
wlscreens/migrations/0001_initial.py (+1/-1)
wlscreens/migrations/0002_auto_20190410_1737.py (+1/-1)
wlscreens/models.py (+8/-9)
wlscreens/tests/__init__.py (+2/-2)
wlscreens/tests/test_models.py (+1/-1)
wlscreens/urls.py (+2/-2)
wlscreens/views.py (+1/-1)
wlsearch/urls.py (+1/-1)
wlsearch/views.py (+2/-2)
wlwebchat/tests.py (+1/-1)
wlwebchat/urls.py (+1/-1)
This is a restriction of Django in combination python2:
"... Unicode characters have always been accepted when using Python 3. Django 1.10 officially added Unicode support in usernames, keeping the ASCII-only behavior on Python 2."
See: https:/ /docs.djangopro ject.com/ en/1.11/ ref/contrib/ auth/#django. contrib. auth.models. User.username
So the switch to python 3 will accept a wide range of additional characters. Tested 'ß' in usernames, also polish characters in the python3 branch.
But we need to change the database encoding to fully support unicode (e.g. chinese characters), which means the length of text columns shrinks and thus there is a possibility to loose some of text in old entries. So this has to be done carefully.