Debug device tabs when receiving incompatible data from server

This commit is contained in:
Adrien Ufferte
2025-10-31 14:21:03 +01:00
parent eee5ee65e6
commit aa1f99694d
2 changed files with 12 additions and 5 deletions
+11 -1
View File
@@ -168,10 +168,20 @@ func get_student_device(student_code: int) -> int:
func set_data_student_with_code(student_code: int, new_device_id: int, new_name: String, new_age: int, new_last_modified: String) -> void:
update_student_device(student_code, new_device_id)
if not students.has(new_device_id):
students.set(new_device_id, [])
var found: bool = false
for student_data: StudentData in students[new_device_id]:
if student_data.code == student_code:
student_data.name = new_name
student_data.age = new_age
student_data.last_modified = new_last_modified
return
Log.error("TeacherSettings: Student %d not found to set data on it" % student_code)
if not found:
Log.warn("TeacherSettings: Student %d not found to set data on it. Creating new student data" % student_code)
var new_student_data: StudentData = StudentData.new()
new_student_data.code = student_code
new_student_data.name = new_name
new_student_data.age = new_age
new_student_data.last_modified = new_last_modified
students[new_device_id].append(new_student_data)
+1 -4
View File
@@ -6,7 +6,7 @@ signal student_pressed(code: int)
const STUDENT_PANEL_SCENE: PackedScene = preload("res://sources/menus/settings/student_panel.tscn")
@export var device_id: int
@export var students: Array[StudentData] = []
@export var students: Array = [] # Array[StudentData]. Not hard-typed because of an incompatibility in teacher_settings/refresh_devices_tabs
@onready var students_container: GridContainer = %StudentsContainer
@@ -27,9 +27,6 @@ func refresh() -> void:
var student_panel: StudentPanel = STUDENT_PANEL_SCENE.instantiate()
student_panel.student_count = student_count
student_panel.student_data = student
student_panel.pressed.connect(func() -> void: student_pressed.emit(student.code))
students_container.add_child(student_panel)
student_count += 1