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'\n' + + # Table header + html += ' \n \n' + html += ' \n' + html += ' \n' + html += ' \n' + html += ' \n' + html += ' \n' + html += ' \n \n' + + # Table body + html += ' \n' + for item in self.items: + html += ' \n' + html += f' \n' + html += f' \n' + html += f' \n' + html += f' \n' + html += f' \n' + html += ' \n' + html += ' \n' + + # End table + html += '
Player NumberNicknameSurnameForenamesDelete
{item.get("playerNumber", "")}{item.get("playerNickname", "")}{item.get("playerSurname", "")}{item.get("playerForenames", "")}
\n' + + return Markup(html) diff --git a/requirements.txt b/requirements.txt index ac26a94..1b1ac76 100644 --- a/requirements.txt +++ b/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