45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from markupsafe import Markup
|
|
|
|
|
|
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)
|