2052man commited on
Commit
e7e332a
1 Parent(s): 79ce894

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
app.py CHANGED
@@ -74,6 +74,8 @@ if 'authenticated' not in st.session_state:
74
  st.session_state.authenticated = False
75
  if 'is_admin' not in st.session_state:
76
  st.session_state.is_admin = False
 
 
77
 
78
  # Register Page
79
  def register_page():
@@ -83,16 +85,19 @@ def register_page():
83
  new_password = st.text_input("رمز عبور جدید", type='password')
84
 
85
  if st.button("ثبت نام"):
86
- user_details = load_user_details()
 
87
 
88
- if new_username in user_details['username'].values:
89
- st.error("این نام کاربری قبلاً ثبت شده است.")
 
 
 
 
 
 
90
  else:
91
- new_user = pd.DataFrame([[new_username, new_password]], columns=['username', 'password'])
92
- user_details = pd.concat([user_details, new_user], ignore_index=True)
93
- save_user_details(user_details)
94
- st.success("ثبت نام با موفقیت انجام شد! اکنون می‌توانید وارد شوید.")
95
- st.session_state.page = "login"
96
 
97
  # Login Page
98
  def login_page():
@@ -111,12 +116,14 @@ def login_page():
111
  st.session_state.is_admin = (st.session_state.username == "armin")
112
  # Load schedule data again after login
113
  st.session_state.schedule_data = load_schedule()
 
114
  st.experimental_rerun()
115
  else:
116
  st.error("نام کاربری یا رمز عبور اشتباه است. لطفا دوباره تلاش کنید.")
117
 
118
  if st.button("ثبت نام"):
119
  st.session_state.page = "register"
 
120
 
121
  # Class Schedule Page
122
  def schedule_page():
@@ -140,7 +147,7 @@ def schedule_page():
140
 
141
  if st.button("اضافه کردن کلاس"):
142
  class_datetime = get_class_datetime(day_selected, start_time_selected)
143
- if class_datetime - datetime.now() < timedelta(hours=90):
144
  st.error("کلاس‌ها باید حداقل ۳۰ ساعت قبل رزرو شوند.")
145
  elif not has_system_availability(st.session_state.schedule_data, class_selected, day_selected, start_time_selected, system_selected):
146
  st.error(f"سیستم '{system_selected}' در زمان '{start_time_selected}' در روز '{day_selected}' برای '{class_selected}' موجود نیست.")
@@ -193,12 +200,10 @@ def schedule_page():
193
  st.session_state['username'] = ""
194
  st.session_state['password'] = ""
195
  st.session_state['is_admin'] = False
 
196
  st.experimental_rerun()
197
 
198
  # Page navigation
199
- if 'page' not in st.session_state:
200
- st.session_state.page = "login"
201
-
202
  if st.session_state.page == "login":
203
  login_page()
204
  elif st.session_state.page == "register":
 
74
  st.session_state.authenticated = False
75
  if 'is_admin' not in st.session_state:
76
  st.session_state.is_admin = False
77
+ if 'page' not in st.session_state:
78
+ st.session_state.page = "login"
79
 
80
  # Register Page
81
  def register_page():
 
85
  new_password = st.text_input("رمز عبور جدید", type='password')
86
 
87
  if st.button("ثبت نام"):
88
+ if new_username and new_password:
89
+ user_details = load_user_details()
90
 
91
+ if new_username in user_details['username'].values:
92
+ st.error("این نام کاربری قبلاً ثبت شده است.")
93
+ else:
94
+ new_user = pd.DataFrame([[new_username, new_password]], columns=['username', 'password'])
95
+ user_details = pd.concat([user_details, new_user], ignore_index=True)
96
+ save_user_details(user_details)
97
+ st.success("ثبت نام با موفقیت انجام شد! اکنون می‌توانید وارد شوید.")
98
+ st.session_state.page = "login"
99
  else:
100
+ st.error("لطفاً نام کاربری و رمز عبور را وارد کنید.")
 
 
 
 
101
 
102
  # Login Page
103
  def login_page():
 
116
  st.session_state.is_admin = (st.session_state.username == "armin")
117
  # Load schedule data again after login
118
  st.session_state.schedule_data = load_schedule()
119
+ st.session_state.page = "schedule"
120
  st.experimental_rerun()
121
  else:
122
  st.error("نام کاربری یا رمز عبور اشتباه است. لطفا دوباره تلاش کنید.")
123
 
124
  if st.button("ثبت نام"):
125
  st.session_state.page = "register"
126
+ st.experimental_rerun()
127
 
128
  # Class Schedule Page
129
  def schedule_page():
 
147
 
148
  if st.button("اضافه کردن کلاس"):
149
  class_datetime = get_class_datetime(day_selected, start_time_selected)
150
+ if class_datetime - datetime.now() < timedelta(hours=30):
151
  st.error("کلاس‌ها باید حداقل ۳۰ ساعت قبل رزرو شوند.")
152
  elif not has_system_availability(st.session_state.schedule_data, class_selected, day_selected, start_time_selected, system_selected):
153
  st.error(f"سیستم '{system_selected}' در زمان '{start_time_selected}' در روز '{day_selected}' برای '{class_selected}' موجود نیست.")
 
200
  st.session_state['username'] = ""
201
  st.session_state['password'] = ""
202
  st.session_state['is_admin'] = False
203
+ st.session_state.page = "login"
204
  st.experimental_rerun()
205
 
206
  # Page navigation
 
 
 
207
  if st.session_state.page == "login":
208
  login_page()
209
  elif st.session_state.page == "register":