Update src/report_generator.py
Browse files- src/report_generator.py +8 -13
src/report_generator.py
CHANGED
@@ -561,22 +561,15 @@ def generate_and_download_report():
|
|
561 |
if st.session_state.show_email_form:
|
562 |
show_email_form()
|
563 |
|
564 |
-
#
|
565 |
-
|
566 |
-
|
567 |
-
st.session_state.report_step =
|
568 |
-
# Clear PDF data
|
569 |
-
if 'pdf_data' in st.session_state:
|
570 |
-
del st.session_state.pdf_data
|
571 |
-
# Reset patient info
|
572 |
-
st.session_state.patient_info = {"name": "", "age": "", "gender": ""}
|
573 |
-
# Hide email form if shown
|
574 |
-
st.session_state.show_email_form = False
|
575 |
-
# Force refresh
|
576 |
-
st.rerun()
|
577 |
|
578 |
except Exception as e:
|
579 |
st.error(f"Error generating report: {str(e)}")
|
|
|
|
|
580 |
st.button("Try Again", on_click=lambda: setattr(st.session_state, "report_step", 1))
|
581 |
|
582 |
|
@@ -616,6 +609,7 @@ def show_email_form():
|
|
616 |
st.success(message)
|
617 |
# Hide the form after successful send
|
618 |
st.session_state.show_email_form = False
|
|
|
619 |
st.rerun()
|
620 |
else:
|
621 |
st.error(message)
|
@@ -623,4 +617,5 @@ def show_email_form():
|
|
623 |
# Cancel button to hide email form
|
624 |
if st.button("Cancel"):
|
625 |
st.session_state.show_email_form = False
|
|
|
626 |
st.rerun()
|
|
|
561 |
if st.session_state.show_email_form:
|
562 |
show_email_form()
|
563 |
|
564 |
+
# After displaying download/email options, reset report_step to prevent re-generation
|
565 |
+
# UNLESS an email form is active, in which case, it will be reset by show_email_form or cancel.
|
566 |
+
if not st.session_state.get('show_email_form', False):
|
567 |
+
st.session_state.report_step = 0 # Reset to neutral state
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
|
569 |
except Exception as e:
|
570 |
st.error(f"Error generating report: {str(e)}")
|
571 |
+
# Ensure report_step is reset even on error to allow trying again from step 1
|
572 |
+
st.session_state.report_step = 1
|
573 |
st.button("Try Again", on_click=lambda: setattr(st.session_state, "report_step", 1))
|
574 |
|
575 |
|
|
|
609 |
st.success(message)
|
610 |
# Hide the form after successful send
|
611 |
st.session_state.show_email_form = False
|
612 |
+
st.session_state.report_step = 0 # Reset report step
|
613 |
st.rerun()
|
614 |
else:
|
615 |
st.error(message)
|
|
|
617 |
# Cancel button to hide email form
|
618 |
if st.button("Cancel"):
|
619 |
st.session_state.show_email_form = False
|
620 |
+
st.session_state.report_step = 0 # Reset report step
|
621 |
st.rerun()
|