manager: replace "verified email" column by a checkmark next to email (#45335)
This commit is contained in:
parent
89323afd6c
commit
757b823236
|
@ -48,6 +48,12 @@ table#user-table td {
|
|||
word-break: break-word;
|
||||
}
|
||||
|
||||
table td span.verified::after {
|
||||
content: "✔";
|
||||
color: #0a0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.main th.name, table.main td.name, #user-table .link, #user-table .username, #user-table
|
||||
.email, #user-table .first_name, #user-table .last_name, #user-table .ou {
|
||||
text-align: left;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.utils import html
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext_noop
|
||||
|
||||
|
@ -43,6 +44,18 @@ class PermissionLinkColumn(tables.LinkColumn):
|
|||
return super(PermissionLinkColumn, self).render(value, record, bound_column)
|
||||
|
||||
|
||||
class VerifiableEmailColumn(tables.Column):
|
||||
def render(self, **kwargs):
|
||||
user = kwargs['record']
|
||||
verified = user.email_verified
|
||||
value = user.email
|
||||
if value and verified:
|
||||
return html.format_html(
|
||||
'<span class="verified">{value}</span>',
|
||||
value=value)
|
||||
return value
|
||||
|
||||
|
||||
class UserTable(tables.Table):
|
||||
link = PermissionLinkColumn(
|
||||
viewname='a2-manager-user-detail',
|
||||
|
@ -52,14 +65,14 @@ class UserTable(tables.Table):
|
|||
order_by=('first_name', 'last_name', 'email', 'username'),
|
||||
kwargs={'pk': A('pk')})
|
||||
username = tables.Column()
|
||||
email = tables.Column()
|
||||
email = VerifiableEmailColumn()
|
||||
ou = tables.Column()
|
||||
|
||||
class Meta:
|
||||
model = User
|
||||
attrs = {'class': 'main', 'id': 'user-table'}
|
||||
fields = ('username', 'email', 'first_name',
|
||||
'last_name', 'is_active', 'email_verified', 'ou')
|
||||
'last_name', 'is_active', 'ou')
|
||||
sequence = ('link', '...')
|
||||
empty_text = _('None')
|
||||
order_by = ('first_name', 'last_name', 'email', 'username')
|
||||
|
|
|
@ -722,3 +722,15 @@ def test_manager_edit_user_email_verified(app, simple_user, superuser_or_admin):
|
|||
|
||||
user = User.objects.get(id=simple_user.id)
|
||||
assert not user.email_verified
|
||||
|
||||
|
||||
def test_manager_email_verified_column_user(app, simple_user, superuser_or_admin):
|
||||
login(app, superuser_or_admin, '/manage/')
|
||||
|
||||
resp = app.get('/manage/users/')
|
||||
assert not resp.html.find('span', {'class': 'verified'})
|
||||
|
||||
simple_user.email_verified = True
|
||||
simple_user.save()
|
||||
resp = app.get('/manage/users/')
|
||||
assert resp.html.find('span', {'class': 'verified'}).text == simple_user.email
|
||||
|
|
Loading…
Reference in New Issue