diff --git a/app/models/trophies.py b/app/models/trophies.py index 6a56d25..4ff388b 100644 --- a/app/models/trophies.py +++ b/app/models/trophies.py @@ -1,11 +1,13 @@ from app import db - +# Trophy: Achievements granted to users for performing specific actions class Trophy(db.Model): __tablename__ = 'trophy' + id = db.Column(db.Integer, primary_key=True) # Trophy type (polymorphic discriminator) type = db.Column(db.String(20)) + __mapper_args__ = { 'polymorphic_identity': __tablename__, 'polymorphic_on': type @@ -19,13 +21,14 @@ class Trophy(db.Model): def __init__(self, name): self.name = name +# Title: Rare trophies that can be displayed along one's name class Title(Trophy): __tablename__ = 'title' __mapper_args__ = {'polymorphic_identity': __tablename__} id = db.Column(db.Integer, db.ForeignKey('trophy.id'), primary_key=True) title = db.Column(db.Unicode(64)) - css = db.Column(db.Text(convert_unicode=True)) + css = db.Column(db.UnicodeText) def __init__(self, name, title, css): self.name = name diff --git a/app/routes/admin/trophies.py b/app/routes/admin/trophies.py index dda263c..b722bbd 100644 --- a/app/routes/admin/trophies.py +++ b/app/routes/admin/trophies.py @@ -61,11 +61,12 @@ def adm_delete_trophy(trophy_id): del_form = DeleteTrophyForm() if request.method == "POST": if del_form.validate_on_submit(): + # TODO: Remove relationship with users that have the trophy db.session.delete(trophy) db.session.commit() flash('Trophée supprimé', 'ok') return redirect(url_for('adm_trophies')) else: flash('Erreur lors de la suppression du trophée', 'error') - del_form.delete.data = False # Force to tick to delete the account + del_form.delete.data = False # Force to tick to delete the trophy return render('admin/delete_trophy.html', trophy=trophy, del_form=del_form) diff --git a/app/templates/admin/index.html b/app/templates/admin/index.html index f4f37ee..561f434 100644 --- a/app/templates/admin/index.html +++ b/app/templates/admin/index.html @@ -8,8 +8,8 @@

Pages générales du panneau d'administration :

{% endblock %} diff --git a/app/templates/admin/trophies.html b/app/templates/admin/trophies.html index 80e628f..4b27f88 100644 --- a/app/templates/admin/trophies.html +++ b/app/templates/admin/trophies.html @@ -11,7 +11,7 @@

Titres et trophées

- + {% for trophy in trophies %} @@ -19,7 +19,7 @@ - + @@ -40,16 +40,16 @@
{{ form.title.label }} - {{ form.title }}
{{ form.title.description }}
+ {{ form.title }} {% for error in form.title.errors %} {{ error }} {% endfor %}
{{ form.css.label }} - {{ form.css }}
{{ form.css.description }}
+ {{ form.css }} {% for error in form.css.errors %} {{ error }} {% endfor %}
idIcôneNomTitre
IDIcôneNomTitre StyleModifierSupprimer
{{ trophy.name }} {{ trophy.name }} {{ trophy.title }}{{ trophy.css }}{{ trophy.css }} Modifier Supprimer