fix(planning): validate room schedule provenance scope
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run

This commit is contained in:
root 2026-08-22 22:59:51 +00:00
parent 20acfa9d18
commit e006f4f496
2 changed files with 5 additions and 2 deletions

View file

@ -92,7 +92,9 @@ def sync_pronote_schedules(room_id, entries, *, synced_at=None):
if not external_id: if not external_id:
continue continue
seen.add(external_id) seen.add(external_id)
row = RoomSchedule.query.filter_by(source="pronote", external_id=external_id).first() row = RoomSchedule.query.filter_by(
room_id=room_id, source="pronote", external_id=external_id
).first()
if not row: if not row:
row = RoomSchedule(room_id=room_id, source="pronote", external_id=external_id) row = RoomSchedule(room_id=room_id, source="pronote", external_id=external_id)
db.session.add(row) db.session.add(row)

View file

@ -42,7 +42,8 @@ def room_schedule_new():
except (KeyError, TypeError, ValueError): except (KeyError, TypeError, ValueError):
flash('Salle, date et horaires sont obligatoires.', 'danger') flash('Salle, date et horaires sont obligatoires.', 'danger')
return render_template('planning/room_schedule_form.html', rooms=rooms, schedule=None), 400 return render_template('planning/room_schedule_form.html', rooms=rooms, schedule=None), 400
if start_time >= end_time or not Room.query.get(room_id): if (start_time >= end_time or not Room.query.get(room_id)
or day_of_week < 0 or day_of_week > 6):
flash('Vérifiez la salle et lordre des horaires.', 'danger') flash('Vérifiez la salle et lordre des horaires.', 'danger')
return render_template('planning/room_schedule_form.html', rooms=rooms, schedule=None), 400 return render_template('planning/room_schedule_form.html', rooms=rooms, schedule=None), 400
schedule = RoomSchedule( schedule = RoomSchedule(