Dhruv-Ty commited on
Commit
3981eaa
·
verified ·
1 Parent(s): 512261e

Update src/report_generator.py

Browse files
Files changed (1) hide show
  1. 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
- # Option to start over
565
- if st.button("New Report", use_container_width=True):
566
- # Reset report step
567
- st.session_state.report_step = 1
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()