diff --git a/motm_app/requirements.txt b/motm_app/requirements.txt index 31fa8e3..c467632 100644 --- a/motm_app/requirements.txt +++ b/motm_app/requirements.txt @@ -1,7 +1,6 @@ -Flask -Werkzeug +Flask>=2.0.0,<3.0.0 +Werkzeug>=2.0.0 email-validator -flask_table flask-mysql flask_login Flask-BasicAuth @@ -9,4 +8,5 @@ Flask-Bootstrap flask_wtf wtforms>=3.0.0 wtforms_components +MarkupSafe>=2.0.0 pymysql diff --git a/motm_app/tables.py b/motm_app/tables.py index 54f8617..4bba77f 100644 --- a/motm_app/tables.py +++ b/motm_app/tables.py @@ -1,9 +1,44 @@ -from flask_table import Table, Col, LinkCol, ButtonCol +from markupsafe import Markup -class matchSquadTable(Table): - playerNumber = Col('Player Number') - playerNickname = Col('Nickname') - playerSurname = Col('Surname') - playerForenames = Col('Forenames') - delete = ButtonCol('Delete', 'motm.delPlayerFromSquad', url_kwargs=dict(playerNumber='playerNumber'), button_attrs={"type" : "submit", "class" : "btn btn-danger"}) +class matchSquadTable: + def __init__(self, items): + self.items = items + self.border = True + self.classes = [] + + def __html__(self): + """Generate HTML table from items""" + if not self.items: + return Markup('
No players in squad
') + + # Start table + classes_str = ' '.join(self.classes) if self.classes else '' + border_attr = 'border="1"' if self.border else '' + html = f'| Player Number | \n' + html += 'Nickname | \n' + html += 'Surname | \n' + html += 'Forenames | \n' + html += 'Delete | \n' + html += '
|---|---|---|---|---|
| {item.get("playerNumber", "")} | \n' + html += f'{item.get("playerNickname", "")} | \n' + html += f'{item.get("playerSurname", "")} | \n' + html += f'{item.get("playerForenames", "")} | \n' + html += f'\n' + html += ' |