Fix flask table error
This commit is contained in:
parent
2cf4e923f3
commit
fa37916440
@ -1,7 +1,6 @@
|
|||||||
Flask
|
Flask>=2.0.0,<3.0.0
|
||||||
Werkzeug
|
Werkzeug>=2.0.0
|
||||||
email-validator
|
email-validator
|
||||||
flask_table
|
|
||||||
flask-mysql
|
flask-mysql
|
||||||
flask_login
|
flask_login
|
||||||
Flask-BasicAuth
|
Flask-BasicAuth
|
||||||
@ -9,4 +8,5 @@ Flask-Bootstrap
|
|||||||
flask_wtf
|
flask_wtf
|
||||||
wtforms>=3.0.0
|
wtforms>=3.0.0
|
||||||
wtforms_components
|
wtforms_components
|
||||||
|
MarkupSafe>=2.0.0
|
||||||
pymysql
|
pymysql
|
||||||
|
|||||||
@ -1,9 +1,44 @@
|
|||||||
from flask_table import Table, Col, LinkCol, ButtonCol
|
from markupsafe import Markup
|
||||||
|
|
||||||
|
|
||||||
class matchSquadTable(Table):
|
class matchSquadTable:
|
||||||
playerNumber = Col('Player Number')
|
def __init__(self, items):
|
||||||
playerNickname = Col('Nickname')
|
self.items = items
|
||||||
playerSurname = Col('Surname')
|
self.border = True
|
||||||
playerForenames = Col('Forenames')
|
self.classes = []
|
||||||
delete = ButtonCol('Delete', 'motm.delPlayerFromSquad', url_kwargs=dict(playerNumber='playerNumber'), button_attrs={"type" : "submit", "class" : "btn btn-danger"})
|
|
||||||
|
def __html__(self):
|
||||||
|
"""Generate HTML table from items"""
|
||||||
|
if not self.items:
|
||||||
|
return Markup('<p>No players in squad</p>')
|
||||||
|
|
||||||
|
# Start table
|
||||||
|
classes_str = ' '.join(self.classes) if self.classes else ''
|
||||||
|
border_attr = 'border="1"' if self.border else ''
|
||||||
|
html = f'<table class="table {classes_str}" {border_attr}>\n'
|
||||||
|
|
||||||
|
# Table header
|
||||||
|
html += ' <thead>\n <tr>\n'
|
||||||
|
html += ' <th>Player Number</th>\n'
|
||||||
|
html += ' <th>Nickname</th>\n'
|
||||||
|
html += ' <th>Surname</th>\n'
|
||||||
|
html += ' <th>Forenames</th>\n'
|
||||||
|
html += ' <th>Delete</th>\n'
|
||||||
|
html += ' </tr>\n </thead>\n'
|
||||||
|
|
||||||
|
# Table body
|
||||||
|
html += ' <tbody>\n'
|
||||||
|
for item in self.items:
|
||||||
|
html += ' <tr>\n'
|
||||||
|
html += f' <td>{item.get("playerNumber", "")}</td>\n'
|
||||||
|
html += f' <td>{item.get("playerNickname", "")}</td>\n'
|
||||||
|
html += f' <td>{item.get("playerSurname", "")}</td>\n'
|
||||||
|
html += f' <td>{item.get("playerForenames", "")}</td>\n'
|
||||||
|
html += f' <td><form method="post" action="/admin/squad/remove?playerNumber={item.get("playerNumber", "")}"><button type="submit" class="btn btn-danger">Delete</button></form></td>\n'
|
||||||
|
html += ' </tr>\n'
|
||||||
|
html += ' </tbody>\n'
|
||||||
|
|
||||||
|
# End table
|
||||||
|
html += '</table>\n'
|
||||||
|
|
||||||
|
return Markup(html)
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
Flask
|
Flask>=2.0.0,<3.0.0
|
||||||
Werkzeug
|
Werkzeug>=2.0.0
|
||||||
email-validator
|
email-validator
|
||||||
flask_table
|
|
||||||
flask-mysql
|
flask-mysql
|
||||||
flask_login
|
flask_login
|
||||||
Flask-BasicAuth
|
Flask-BasicAuth
|
||||||
@ -9,4 +8,5 @@ Flask-Bootstrap
|
|||||||
flask_wtf
|
flask_wtf
|
||||||
wtforms>=3.0.0
|
wtforms>=3.0.0
|
||||||
wtforms_components
|
wtforms_components
|
||||||
|
MarkupSafe>=2.0.0
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user