admin: correctly sort roles with accents in their names (#14346)

This commit is contained in:
Frédéric Péters 2017-01-31 15:11:13 +01:00
parent d9667d6068
commit 9c22da7588
2 changed files with 15 additions and 4 deletions

View File

@ -1,13 +1,16 @@
# -*- coding: utf-8 -*-
import cPickle
from utilities import create_temporary_pub, clean_temporary_pub
from qommon.storage import StorableObject
from wcs.roles import Role
from wcs.roles import Role, get_user_roles
def setup_module(module):
pub = create_temporary_pub()
pub.cfg['language'] = {'language': 'en'}
pub.cfg['misc'] = {'charset': 'utf-8'}
def teardown_module(module):
clean_temporary_pub()
@ -36,3 +39,10 @@ def test_migrate():
cPickle.dump(obj, open(role.get_object_filename(), 'w'))
assert cPickle.load(open(role.get_object_filename())).slug is None
assert Role.get(role.id).slug == 'hello-world'
def test_get_user_roles():
Role.wipe()
Role(name='f1').store()
Role(name='é1').store()
Role(name='a1').store()
assert [x[1] for x in get_user_roles()] == ['a1', 'é1', 'f1']

View File

@ -23,7 +23,7 @@ from qommon.form import *
from qommon.backoffice.menu import html_top
from wcs.roles import Role
from wcs.roles import Role, get_user_roles
from wcs.formdef import FormDef
class RoleUI(object):
@ -210,9 +210,10 @@ class RolesDirectory(Directory):
r += htmltext('<h2>%s</h2>') % _('Roles')
r += htmltext('<ul class="biglist">')
for role in Role.select(order_by = 'name'):
for role_infos in get_user_roles():
role_id, role_name = role_infos[:2]
r += htmltext('<li>')
r += htmltext('<strong class="label"><a href="%s/">%s</a></strong>') % (role.id, role.name)
r += htmltext('<strong class="label"><a href="%s/">%s</a></strong>') % (role_id, role_name)
r += htmltext('</li>')
r += htmltext('</ul>')
return r.getvalue()