AIdeaText commited on
Commit
c017e55
verified
1 Parent(s): 2782f11

Update modules/studentact/current_situation_interface.py

Browse files
modules/studentact/current_situation_interface.py CHANGED
@@ -80,19 +80,18 @@ def show_recommendations(feedback, t):
80
  feedback: Diccionario con retroalimentaci贸n y ejercicios recomendados
81
  t: Diccionario de traducciones
82
  """
83
- try:
84
- st.markdown("### " + t.get('recommendations_title', "Recomendaciones para mejorar"))
85
-
86
- # Obtener el historial de ejercicios del estudiante
87
- from ..database.current_situation_mongo_db import get_student_exercises_history
88
- exercises_history = get_student_exercises_history(st.session_state.username)
89
-
90
- # Organizar las recomendaciones por 谩rea
91
- for area, exercises in feedback['recommendations'].items():
92
- with st.expander(f"馃挕 {area}"):
93
  # Descripci贸n del 谩rea de mejora
94
  st.markdown(exercises['description'])
95
 
 
 
 
 
96
  # Separar ejercicios en completados y pendientes
97
  completed = exercises_history.get(area, [])
98
 
@@ -116,28 +115,31 @@ def show_recommendations(feedback, t):
116
  key=generate_unique_key("exercise", area),
117
  type="primary"
118
  ):
119
- from ..database.current_situation_mongo_db import update_exercise_status
120
-
121
- # Actualizar estado del ejercicio
122
- success = update_exercise_status(
123
- username=st.session_state.username,
124
- area=area,
125
- exercise=exercises['activity'],
126
- completed=True
127
- )
128
-
129
- if success:
130
- st.success(t.get(
131
- 'exercise_completed',
132
- "隆Ejercicio marcado como completado!"
133
- ))
134
- # Recargar la p谩gina para actualizar el estado
135
- st.rerun()
136
- else:
137
- st.error(t.get(
138
- 'exercise_error',
139
- "Error al actualizar el estado del ejercicio"
140
- ))
 
 
 
141
 
142
  # Mostrar recursos adicionales si existen
143
  if 'resources' in exercises:
@@ -153,10 +155,10 @@ def show_recommendations(feedback, t):
153
  t.get('completed_on', "Completado el") +
154
  f": {completion_date.strftime('%d/%m/%Y %H:%M')}"
155
  )
156
-
157
- except Exception as e:
158
- logger.error(f"Error mostrando recomendaciones: {str(e)}")
159
- st.error(t.get(
160
- 'recommendations_error',
161
- "Error al mostrar las recomendaciones"
162
- ))
 
80
  feedback: Diccionario con retroalimentaci贸n y ejercicios recomendados
81
  t: Diccionario de traducciones
82
  """
83
+ st.markdown("### " + t.get('recommendations_title', "Recomendaciones para mejorar"))
84
+
85
+ for area, exercises in feedback['recommendations'].items():
86
+ with st.expander(f"馃挕 {area}"):
87
+ try:
 
 
 
 
 
88
  # Descripci贸n del 谩rea de mejora
89
  st.markdown(exercises['description'])
90
 
91
+ # Obtener el historial de ejercicios del estudiante
92
+ from ..database.current_situation_mongo_db import get_student_exercises_history
93
+ exercises_history = get_student_exercises_history(st.session_state.username)
94
+
95
  # Separar ejercicios en completados y pendientes
96
  completed = exercises_history.get(area, [])
97
 
 
115
  key=generate_unique_key("exercise", area),
116
  type="primary"
117
  ):
118
+ try:
119
+ from ..database.current_situation_mongo_db import update_exercise_status
120
+
121
+ # Actualizar estado del ejercicio
122
+ success = update_exercise_status(
123
+ username=st.session_state.username,
124
+ area=area,
125
+ exercise=exercises['activity'],
126
+ completed=True
127
+ )
128
+
129
+ if success:
130
+ st.success(t.get(
131
+ 'exercise_completed',
132
+ "隆Ejercicio marcado como completado!"
133
+ ))
134
+ st.rerun()
135
+ else:
136
+ st.error(t.get(
137
+ 'exercise_error',
138
+ "Error al actualizar el estado del ejercicio"
139
+ ))
140
+ except Exception as e:
141
+ logger.error(f"Error actualizando estado del ejercicio: {str(e)}")
142
+ st.error(t.get('update_error', "Error al actualizar el ejercicio"))
143
 
144
  # Mostrar recursos adicionales si existen
145
  if 'resources' in exercises:
 
155
  t.get('completed_on', "Completado el") +
156
  f": {completion_date.strftime('%d/%m/%Y %H:%M')}"
157
  )
158
+
159
+ except Exception as e:
160
+ logger.error(f"Error mostrando recomendaciones para {area}: {str(e)}")
161
+ st.error(t.get(
162
+ 'recommendations_error',
163
+ f"Error al mostrar las recomendaciones para {area}"
164
+ ))