14
14
UPDATE_EMPLOYEE_PAGE2 = 6
15
15
EMPLOYEE_LIST_PAGE = 7
16
16
ADMIN_TOTAL_MONEY = 8
17
+ EMPLOYEE_MENU_PAGE = 9
17
18
# -------------------------------------------------------------------------------------------------------------
18
19
# === Reusable UI Component Functions ===
19
20
# -------------------------------------------------------------------------------------------------------------
@@ -525,6 +526,31 @@ def show_total_money(parent, title):
525
526
main_layout .addWidget (content_frame )
526
527
return page
527
528
529
+ def create_employee_menu_page (parent , title ):
530
+ page , main_layout = create_page_with_header (parent , title )
531
+
532
+ button_frame = create_styled_frame (page )
533
+ button_frame .setSizePolicy (QtWidgets .QSizePolicy .Preferred , QtWidgets .QSizePolicy .Expanding )
534
+ button_layout = QtWidgets .QVBoxLayout (button_frame )
535
+
536
+ button_container = create_styled_frame (button_frame , min_size = (300 , 0 ), style = "background-color: #ffffff; border-radius: 15px; padding: 20px;" )
537
+ button_container_layout = QtWidgets .QVBoxLayout (button_container )
538
+ button_container_layout .setSpacing (15 )
539
+
540
+ # Define button labels
541
+ button_labels = ["Create Account " , "Show Details" , "Add Balance" , "Withdraw Money" , "Chack Balanace" , "Update Account" , "list of all Members" , "Delete Account" , "Back" ]
542
+ buttons = []
543
+
544
+ for label in button_labels :
545
+ btn :QtWidgets .QPushButton = create_styled_button (button_container , label )
546
+ button_container_layout .addWidget (btn )
547
+ buttons .append (btn )
548
+
549
+ button_layout .addWidget (button_container , 0 , QtCore .Qt .AlignHCenter | QtCore .Qt .AlignVCenter )
550
+ main_layout .addWidget (button_frame )
551
+
552
+ return page , * buttons # Unpack as add_button, update_employee, etc.
553
+
528
554
# -------------------------------------------------------------------------------------------------------------
529
555
# === Main Window Setup ===
530
556
# -------------------------------------------------------------------------------------------------------------
@@ -601,7 +627,9 @@ def update_employee_data(name, password, salary, position, name_to_update):
601
627
switch_to_employee ,
602
628
exit_app
603
629
)
604
-
630
+ # ------------------------------------------------------------------------------------------------
631
+ # -------------------------------------Admin panel page ---------------------------------------
632
+ # ------------------------------------------------------------------------------------------------
605
633
# Create Admin Login Page
606
634
admin_page , admin_name , admin_password , admin_submit = create_login_page (
607
635
stacked_widget ,
@@ -708,13 +736,28 @@ def update_employee_data(name, password, salary, position, name_to_update):
708
736
)
709
737
# show employee list page
710
738
employee_list_page = show_employee_list_page (stacked_widget ,"Employee List" )
739
+ admin_total_money = show_total_money (stacked_widget ,"Total Money" )
740
+ # ------------------------------------------------------------------------------------------------
741
+ # -------------------------------------Employee panel page ---------------------------------------
742
+ # ------------------------------------------------------------------------------------------------
711
743
712
744
# Create Employee Login Page
713
745
employee_page , employee_name , employee_password , employee_submit = create_login_page (
714
746
stacked_widget ,
715
747
title = "Employee Login"
716
748
)
717
- admin_total_money = show_total_money (stacked_widget ,"Total Money" )
749
+
750
+ employee_menu_page , E_Create_Account , E_Show_Details , E_add_Balance , E_Withdraw_Money , E_Chack_Balanace , E_Update_Account , E_list_of_all_Members , E_Delete_Account , E_Back = create_employee_menu_page (stacked_widget ,"Employee Menu" )
751
+ # List of all page
752
+ # E_Create_Account.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_CREATE_ACCOUNT_PAGE))
753
+ # E_Show_Details.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_SHOW_DETAILS_PAGE))
754
+ # E_add_Balance.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_ADD_BALANCE_PAGE))
755
+ # E_Withdraw_Money.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_WITHDRAW_MONEY_PAGE))
756
+ # E_Chack_Balanace.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_CHECK_BALANCE_PAGE))
757
+ # E_Update_Account.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_UPDATE_ACCOUNT_PAGE))
758
+ # E_list_of_all_Members.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_LIST_OF_ALL_MEMBERS_PAGE))
759
+ # E_Delete_Account.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_DELETE_ACCOUNT_PAGE))
760
+ # E_Back.clicked.connect(lambda: stacked_widget.setCurrentIndex(EMPLOYEE_MENU_PAGE))
718
761
719
762
# Add pages to stacked widget
720
763
stacked_widget .addWidget (home_page )#0
@@ -726,14 +769,15 @@ def update_employee_data(name, password, salary, position, name_to_update):
726
769
stacked_widget .addWidget (u_employee_page2 )#6
727
770
stacked_widget .addWidget (employee_list_page )#7
728
771
stacked_widget .addWidget (admin_total_money )#8
772
+ stacked_widget .addWidget (employee_menu_page )#9
729
773
730
774
731
775
732
776
main_layout .addWidget (stacked_widget )
733
777
main_window .setCentralWidget (central_widget )
734
778
735
779
# Set initial page
736
- stacked_widget .setCurrentIndex (EMPLOYEE_PAGE )
780
+ stacked_widget .setCurrentIndex (EMPLOYEE_MENU_PAGE )
737
781
738
782
return stacked_widget , {
739
783
"admin_name" : admin_name ,
0 commit comments