Fix flask table error
This commit is contained in:
parent
2cf4e923f3
commit
fa37916440
@ -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
|
||||
|
||||
@ -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('<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
|
||||
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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user