Skip to content

Commit d68430e

Browse files
19.12.2024_ajout description event and edition en markdowm
1 parent efb6473 commit d68430e

27 files changed

Lines changed: 1090 additions & 192 deletions

File tree

.vscode/extensions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"github.vscode-pull-request-github"
4+
]
5+
}

.vscode/settings.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

flask_app/admin/__init__.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
from flask import Blueprint, render_template
1+
from flask import Blueprint, render_template, flash
22
from flask_login import login_required, current_user
3-
from flask_app import admin_required, set_route
3+
from flask_app import admin_required, set_route, db
44
from flask_app.models import Event
5+
from .form import EventForm
56
from flask_app.admin.editions import editions
67
from flask_app.admin.parcours import parcours_bp
78
from flask_app.admin.coureurs import coureurs
@@ -12,12 +13,22 @@
1213
admin.register_blueprint(coureurs)
1314

1415

15-
@set_route(admin, '/event/<event_name>')
16+
@set_route(admin, '/event/<event_name>', methods=['POST', 'GET'])
1617
@login_required
1718
@admin_required
1819
def home_event(event_name):
1920
#* page to access and modify an event
20-
event_data = Event.query.filter_by(name=event_name).first()
21+
event_data:Event = Event.query.filter_by(name=event_name).first()
2122
user = current_user
22-
return render_template("home_event.html", user_data=user, event_data=event_data, event_modif=True)
23+
24+
event_form = EventForm(data={
25+
'description':event_data.description
26+
})
27+
28+
if event_form.validate_on_submit():
29+
event_data.description = event_form.description.data
30+
db.session.commit()
31+
flash('l\'évenement a bien été mise a jour.', 'success')
32+
33+
return render_template("home_event.html", user_data=user, event_data=event_data, form=event_form, event_modif=True)
2334

flask_app/admin/coureurs/templates/view_coureur.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% extends 'layout.html' %} {% block content %}
22
<div>
3-
<h3>info</h3>
3+
<h3>{{ _('admin.view.info') }}</h3>
44
<div class="card mb-4">
55
<div class="card-body">
66
<div class="row">
@@ -60,11 +60,11 @@ <h3>{{ _('admin.view.participation') }}</h3>
6060
<table class="table">
6161
<thead>
6262
<tr>
63-
<th scope="col">parcours</th>
64-
<th scope="col">edition</th>
65-
<th scope="col">date</th>
66-
<th scope="col">dossard</th>
67-
<th scope="col">rank</th>
63+
<th scope="col">{{ _('admin.view.parcours') }}</th>
64+
<th scope="col">{{ _('admin.view.edition') }}</th>
65+
<th scope="col">{{ _('admin.view.date') }}</th>
66+
<th scope="col">{{ _('admin.view.dossard') }}</th>
67+
<th scope="col">{{ _('admin.view.rank') }}</th>
6868
</tr>
6969
</thead>
7070
<tbody>

flask_app/admin/editions/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from flask import Blueprint, flash, render_template, redirect, request
22
from flask_app import admin_required, db, set_route, lang_url_for as url_for
3-
from flask_app.admin.editions.forms import Edition_form
3+
from flask_app.admin.editions.form import Edition_form
44
from flask_login import login_required, current_user
55
from flask_app.models import Event, Parcours, Edition
66
from datetime import datetime
@@ -32,6 +32,7 @@ def editions_page(event_name):
3232
event_id=event.id,
3333
parcours=event.parcours.filter(Parcours.name.in_(form.parcours.data)).all(),
3434
edition_date=form.edition_date.data,
35+
description = form.description,
3536
first_inscription=form.first_inscription.data,
3637
last_inscription=form.last_inscription.data,
3738
rdv_lat=form.rdv_lat.data,
@@ -69,6 +70,7 @@ def modify_edition_page(event_name, edition_name):
6970
user = current_user
7071
form = Edition_form(data={'name':edition.name,
7172
'edition_date':edition.edition_date,
73+
'description':edition.description,
7274
'first_inscription':edition.first_inscription,
7375
'last_inscription':edition.last_inscription,
7476
'rdv_lat':edition.rdv_lat,
@@ -98,10 +100,10 @@ def modify_edition_page(event_name, edition_name):
98100
#? fin desactivation des champs
99101

100102
if form.validate_on_submit():
101-
print(form.parcours.data)
102103
if form.name.data == edition.name or not event.editions.filter_by(name=form.name.data).first():
103104
edition.name = form.name.data
104105
edition.edition_date = form.edition_date.data
106+
edition.description = form.description.data
105107
edition.parcours = event.parcours.filter(Parcours.name.in_([eval(p)[0] for p in form.parcours.data])).all()
106108
edition.first_inscription = form.first_inscription.data
107109
edition.last_inscription = form.last_inscription.data

flask_app/admin/editions/dossard/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from flask import Blueprint, flash, render_template, redirect, url_for, request, session
22
from flask_app import admin_required, db, set_route, socketio
3-
from flask_app.admin.editions.forms import Edition_form
3+
from flask_app.admin.editions.form import Edition_form
44
from flask_login import login_required, current_user
55
from flask_app.models import Event, Parcours, Edition, Inscription
66
from datetime import datetime

flask_app/admin/editions/form.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from flask_wtf import FlaskForm
2+
from wtforms import StringField, DateTimeLocalField, FloatField, SubmitField, TextAreaField
3+
from flask_app.custom_validators import DataRequired, Length, DateTimeNotPast, DateTimeBefore, InputRequired
4+
from flask_app.custom_field import MultiCheckboxFieldWithDescription
5+
from flask_babel import lazy_gettext as _
6+
7+
class Edition_form(FlaskForm):
8+
name = StringField(_('form.edition_name'), validators=[DataRequired(), Length(max=40)])
9+
edition_date = DateTimeLocalField(_('form.edition_date'), format='%Y-%m-%dT%H:%M', render_kw={}, validators=[DataRequired(), DateTimeNotPast()])
10+
description = TextAreaField(_('form.description'), render_kw={'style':'height:200px'})
11+
parcours = MultiCheckboxFieldWithDescription(_('form.parcours'), validators=[DataRequired()])
12+
first_inscription = DateTimeLocalField(_('form.firstinscriptiondate'), format='%Y-%m-%dT%H:%M', render_kw={}, validators=[DataRequired(), DateTimeNotPast(), DateTimeBefore('last_inscription')])
13+
last_inscription = DateTimeLocalField(_('form.lastinscriptiondate'), format='%Y-%m-%dT%H:%M', render_kw={}, validators=[DataRequired(), DateTimeNotPast(), DateTimeBefore('edition_date')])
14+
rdv_lat= FloatField(_('form.rdvlng'), validators=[DataRequired()], default=0)
15+
rdv_lng= FloatField(_('form.rdvlat'), validators=[DataRequired()], default=0)
16+
submit_btn = SubmitField(_('form.save'))

flask_app/admin/editions/forms.py

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
from flask_wtf import FlaskForm
22
from wtforms import StringField, SelectField, SubmitField, DateTimeField, IntegerField, FloatField, FieldList
33
from flask_app.custom_validators import DataRequired, Length, DateTimeNotPast, DateTimeBefore, InputRequired
4+
from flask_babel import lazy_gettext as _
45

56
class NewKeyForm(FlaskForm):
6-
name = StringField('nom', validators=[DataRequired(), Length(max=40)])
7-
stands = FieldList(SelectField('stand'))
8-
submit_btn= SubmitField('créer')
7+
name = StringField(_('form.lastname'), validators=[DataRequired(), Length(max=40)])
8+
stands = FieldList(SelectField(_('form.stand')))
9+
submit_btn= SubmitField('form.create')
910

1011
class ChronoLoginForm(FlaskForm):
11-
key = StringField('clé', validators=[DataRequired()])
12-
submit_btn= SubmitField('valider')
12+
key = StringField(_('form.key'), validators=[DataRequired()])
13+
submit_btn= SubmitField(_('form.validate'))

flask_app/admin/editions/passages/templates/chrono.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
{% endblock %}
55
{% block content %}
66
<div>
7-
<p>clé: {{ key.name }} ({{ key.key }})</p>
8-
<p>événement: {{ key.event.name }}</p>
7+
<p>{{ _('admin.editions.passages.key') }}: {{ key.name }} ({{ key.key }})</p>
8+
<p>{{ _('admin.editions.passages.événement') }}: {{ key.event.name }}</p>
99
<ul class="list-group">
1010
{% for stand in key.stands.all() %}
11-
<li class="list-group-item">stand: {{ stand.name }}, parcours: {{ stand.parcours.name }}</li>
11+
<li class="list-group-item">{{ _('admin.editions.passages.stand') }}: {{ stand.name }}, {{ _('admin.editions.passages.parcours') }}: {{ stand.parcours.name }}</li>
1212
{% endfor %}
1313
</ul>
1414
</div>
1515
<br>
16-
<input type="number" class="form-control form-control-lg" id="dossard_input" placeholder="enter dossard number">
16+
<input type="number" class="form-control form-control-lg" id="dossard_input" placeholder="{{ _('admin.editions.passages.enterdossardnb') }}">
1717
<br>
1818
<div class="d-flex w-100">
1919
<div class="w-50">

0 commit comments

Comments
 (0)