@@ -1106,62 +1106,86 @@ def show_bank_user_data_page1_submit_btn(name:int):
1106
1106
else :
1107
1107
show_popup_message (stacked_widget , "Account not found" , EMPLOYEE_SHOW_DETAILS_PAGE1 )
1108
1108
1109
- # Add balance page
1110
- add_balance_search_page ,add_balance_search_other = search_result (stacked_widget , "Add Balance" ,"Enter Account Number: " )
1111
- add_balance_search_other [1 ].clicked .connect (lambda : add_balance_page_submit_btn (int (add_balance_search_other [0 ].text ().strip ())))
1112
-
1113
-
1114
- add_balance_page ,add_balance_other = update_user (stacked_widget , "Add Balance User Account" ,"Enter Ammount: " )
1115
- add_balance_other [3 ].clicked .connect (lambda :update_user_account_balance (add_balance_other [2 ].text ().strip ()))
1116
-
1117
-
1118
- def add_balance_page_submit_btn (account_number :int ):
1119
- check = backend .check_acc_no (account_number )
1120
- if check :
1121
- account_data = backend .get_details (account_number )
1122
- add_balance_other [0 ].setText (str (account_data [1 ]))
1123
- add_balance_other [1 ].setText (str (account_data [4 ]))
1124
- stacked_widget .setCurrentIndex (14 )
1125
- return account_data
1126
- else :
1127
- show_popup_message (stacked_widget , "Account not found" , EMPLOYEE_ADD_BALANCE_SEARCH ,show_cancel = True ,cancel_page = EMPLOYEE_MENU_PAGE )
1128
-
1129
- def update_user_account_balance (add_money :int ):
1130
- account_number = int (add_balance_search_other [0 ].text ().strip ())
1131
- backend .update_balance (add_money ,account_number )
1132
- add_balance_other [0 ].setText ("" )
1133
- add_balance_other [1 ].setText ("" )
1134
- show_popup_message (stacked_widget , "Balance updated successfully" , EMPLOYEE_MENU_PAGE )
1135
- add_balance_search_other [0 ].setText ("" )
1136
-
1137
- # Withdraw money page
1138
- withdraw_money_search_page ,withdraw_money_search_other = search_result (stacked_widget , "Withdraw Money" ,"Enter Account Number: " )
1139
- withdraw_money_search_other [1 ].clicked .connect (lambda : withdraw_money_page_submit_btn (int (withdraw_money_search_other [0 ].text ().strip ())))
1140
-
1141
-
1142
- withdraw_money_page ,withdraw_money_other = update_user (stacked_widget , "Withdraw Money From User Account" ,"Withdraw Amount: " )
1143
- withdraw_money_other [3 ].clicked .connect (lambda :update_user_account_withdraw (withdraw_money_other [2 ].text ().strip ()))
1144
-
1145
- def withdraw_money_page_submit_btn (account_number :int ):
1146
- print (account_number )
1147
- check = backend .check_acc_no (account_number )
1148
- print (check )
1149
- if check :
1150
- account_data = backend .get_details (account_number )
1151
- withdraw_money_other [0 ].setText (str (account_data [1 ]))
1152
- withdraw_money_other [1 ].setText (str (account_data [4 ]))
1153
- stacked_widget .setCurrentIndex (16 )
1154
- return account_data
1155
- else :
1156
- show_popup_message (stacked_widget , "Account not found" , EMPLOYEE_WITHDRAW_MONEY_SEARCH ,show_cancel = True ,cancel_page = EMPLOYEE_MENU_PAGE )
1157
-
1158
- def update_user_account_withdraw (withdraw_money :int ):
1159
- account_number = int (withdraw_money_search_other [0 ].text ().strip ())
1160
- backend .deduct_balance (int (withdraw_money ),int (account_number ))
1161
- withdraw_money_other [0 ].setText ("" )
1162
- withdraw_money_other [1 ].setText ("" )
1163
- show_popup_message (stacked_widget , "Balance updated successfully" , EMPLOYEE_MENU_PAGE )
1164
- withdraw_money_search_other [0 ].setText ("" )
1109
+ def setup_balance_operation_flow (
1110
+ stacked_widget ,
1111
+ title_search ,
1112
+ placeholder ,
1113
+ title_form ,
1114
+ action_button_text ,
1115
+ success_message ,
1116
+ backend_action_fn ,
1117
+ stacked_page_index ,
1118
+ search_index ,
1119
+ page_index
1120
+ ):
1121
+ # Create search UI
1122
+ search_page , search_widgets = search_result (stacked_widget , title_search , placeholder )
1123
+ search_input = search_widgets [0 ]
1124
+ search_button = search_widgets [1 ]
1125
+
1126
+ # Create update UI
1127
+ form_page , form_widgets = update_user (stacked_widget , title_form , action_button_text )
1128
+ name_field , balance_field , amount_field , action_button = form_widgets
1129
+
1130
+ def on_search_submit ():
1131
+ try :
1132
+ account_number = int (search_input .text ().strip ())
1133
+ except ValueError :
1134
+ show_popup_message (stacked_widget , "Please enter a valid account number." , search_index )
1135
+ return
1136
+
1137
+ if backend .check_acc_no (account_number ):
1138
+ account_data = backend .get_details (account_number )
1139
+ name_field .setText (str (account_data [1 ]))
1140
+ balance_field .setText (str (account_data [4 ]))
1141
+ stacked_widget .setCurrentIndex (page_index )
1142
+ else :
1143
+ show_popup_message (stacked_widget , "Account not found" , search_index , show_cancel = True , cancel_page = EMPLOYEE_MENU_PAGE )
1144
+
1145
+ def on_action_submit ():
1146
+ try :
1147
+ account_number = int (search_input .text ().strip ())
1148
+ amount = int (amount_field .text ().strip ())
1149
+ backend_action_fn (amount , account_number )
1150
+ name_field .setText ("" )
1151
+ balance_field .setText ("" )
1152
+ search_input .setText ("" )
1153
+ show_popup_message (stacked_widget , success_message , EMPLOYEE_MENU_PAGE )
1154
+ except ValueError :
1155
+ show_popup_message (stacked_widget , "Enter valid numeric amount." , page_index )
1156
+
1157
+ search_button .clicked .connect (on_search_submit )
1158
+ action_button .clicked .connect (on_action_submit )
1159
+
1160
+ return search_page , form_page
1161
+ # Add Balance Flow
1162
+ add_balance_search_page , add_balance_page = setup_balance_operation_flow (
1163
+ stacked_widget = stacked_widget ,
1164
+ title_search = "Add Balance" ,
1165
+ placeholder = "Enter Account Number: " ,
1166
+ title_form = "Add Balance User Account" ,
1167
+ action_button_text = "Enter Amount: " ,
1168
+ success_message = "Balance updated successfully" ,
1169
+ backend_action_fn = backend .update_balance ,
1170
+ stacked_page_index = EMPLOYEE_ADD_BALANCE_SEARCH ,
1171
+ search_index = EMPLOYEE_ADD_BALANCE_SEARCH ,
1172
+ page_index = EMPLOYEE_ADD_BALANCE_PAGE ,
1173
+ )
1174
+
1175
+ # Withdraw Money Flow
1176
+ withdraw_money_search_page , withdraw_money_page = setup_balance_operation_flow (
1177
+ stacked_widget = stacked_widget ,
1178
+ title_search = "Withdraw Money" ,
1179
+ placeholder = "Enter Account Number: " ,
1180
+ title_form = "Withdraw Money From User Account" ,
1181
+ action_button_text = "Withdraw Amount: " ,
1182
+ success_message = "Amount withdrawn successfully" ,
1183
+ backend_action_fn = backend .deduct_balance ,
1184
+ stacked_page_index = EMPLOYEE_WITHDRAW_MONEY_SEARCH ,
1185
+ search_index = EMPLOYEE_WITHDRAW_MONEY_SEARCH ,
1186
+ page_index = EMPLOYEE_WITHDRAW_MONEY_PAGE ,
1187
+ )
1188
+
1165
1189
1166
1190
stacked_widget .addWidget (home_page )#0
1167
1191
stacked_widget .addWidget (admin_page )#1
0 commit comments