nopaque/web/app/admin/tables.py

46 lines
1.7 KiB
Python
Raw Normal View History

2019-11-12 11:07:34 +00:00
from flask_table import Table, Col, LinkCol
2019-07-10 12:36:31 +00:00
class AdminUserTable(Table):
"""
Declares the table describing colum by column.
"""
classes = ['highlight', 'responsive-table']
2019-09-09 13:02:17 +00:00
username = Col('Username', column_html_attrs={'class': 'username'},
th_html_attrs={'class': 'sort',
'data-sort': 'username'})
email = Col('Email', column_html_attrs={'class': 'email'},
th_html_attrs={'class': 'sort',
'data-sort': 'email'})
role_id = Col('Role', column_html_attrs={'class': 'role'},
th_html_attrs={'class': 'sort',
'data-sort': 'role'})
2020-06-10 13:10:23 +00:00
confirmed = Col('Confrimed Status', column_html_attrs={'class': 'confirmed'}, # noqa
2019-09-09 13:02:17 +00:00
th_html_attrs={'class': 'sort',
'data-sort': 'confirmed'})
id = Col('User Id', column_html_attrs={'class': 'id'},
th_html_attrs={'class': 'sort',
'data-sort': 'id'})
2019-11-15 10:45:04 +00:00
url = LinkCol('Profile', 'admin.user',
2019-09-09 13:02:17 +00:00
url_kwargs=dict(user_id='id'),
2020-06-10 13:10:23 +00:00
anchor_attrs={'class': 'waves-effect waves-light btn-floating'}, # noqa
text_fallback='<i class="material-icons">edit</i>')
2019-07-10 12:36:31 +00:00
class AdminUserItem(object):
"""
Describes one item like one row per table.
"""
def __init__(self, username, email, role_id, confirmed, id):
2019-07-10 12:36:31 +00:00
self.username = username
self.email = email
self.role_id = role_id
self.confirmed = confirmed
self.id = id
2019-07-10 12:36:31 +00:00
if self.role_id == 1:
self.role_id = 'User'
elif self.role_id == 2:
self.role_id = 'Admin'