1010from src .models import User , AuditLog , Settings , log_action
1111from src .models import GoldTransaction , SilverTransaction , JewellerDetails , Settings
1212
13- admin_bp = Blueprint ('admin ' , __name__ )
13+ admin_bp = Blueprint ('admin_ ' , __name__ )
1414
15- @admin_bp .route ('/manage_users' , methods = ['GET' , 'POST' ])
16- @login_required
17- def manage_users ():
18- system_settings = Settings .query .first ()
19- if current_user .user_level != 'admin' :
20- return redirect (url_for ('additional.permission_denied' ))
21-
22- users = User .query .all ()
23-
24- if request .method == 'POST' :
25- user_id = request .form .get ('user_id' )
26- new_level = request .form .get ('user_level' )
27-
28- user = User .query .get (user_id )
29- if user :
30- user .user_level = new_level
31- db .session .commit ()
32- flash (f"User { user .username } 's level updated to { new_level } ." , 'success' )
33- else :
34- flash ("User not found." , 'danger' )
35-
36- return render_template ('manage_users.html' , users = users , settings = system_settings )
3715
3816@admin_bp .route ('/settings' , methods = ['GET' , 'POST' ])
3917@login_required
@@ -94,7 +72,7 @@ def str_to_bool(value):
9472 # if not settings changes add no changed done message, and dont't commit
9573 if not logs :
9674 flash ("No changes made." , 'info' )
97- return redirect (url_for ('admin .settings' ))
75+ return redirect (url_for ('admin_ .settings' ))
9876
9977 log_action (current_user .id , current_user .username , 'System Settings Change' , details = logs )
10078
@@ -120,10 +98,10 @@ def str_to_bool(value):
12098 db .session .commit ()
12199 for log in logs :
122100 flash (log , 'success' )
123- return redirect (url_for ('admin .settings' ))
101+ return redirect (url_for ('admin_ .settings' ))
124102
125103 settings = Settings .query .first ()
126- return render_template ('settings.html' , settings = settings )
104+ return render_template ('dashboard/ settings.html' , settings = settings )
127105
128106
129107@admin_bp .route ('/audit_log' )
@@ -133,7 +111,7 @@ def audit_log():
133111 return redirect (url_for ('home' ))
134112
135113 logs = AuditLog .query .order_by (AuditLog .timestamp .desc ()).all ()
136- return render_template ('audit_log.html' , logs = logs )
114+ return render_template ('dashboard/ audit_log.html' , logs = logs )
137115
138116
139117@admin_bp .route ("/dashboard" )
@@ -158,7 +136,7 @@ def dashboard():
158136 else :
159137 system_health = "Good"
160138
161- return render_template ('admin_dashboard.html' ,
139+ return render_template ('dashboard/ admin_dashboard.html' ,
162140 total_users = total_users ,
163141 active_sessions = active_sessions ,
164142 system_health = system_health ,
@@ -168,7 +146,8 @@ def dashboard():
168146 settings = system_settings ,
169147 current_user = current_user )
170148 elif current_user .user_level == 'customer' :
171- return render_template ('customer_dashboard.html' , audit_logs = audit_logs )
149+ audit_logs = AuditLog .query .filter_by (user_id = current_user .id )
150+ return render_template ('dashboard/customer_dashboard.html' , settings = system_settings )
172151
173152# Silver calculator route
174153@admin_bp .route ('/history' , methods = ['GET' ])
@@ -200,7 +179,7 @@ def history():
200179 'purity' : t .purity , 'service_charge' : t .service_charge , 'tax' : t .tax , 'total' : t .total , 'currency' : t .currency ,
201180 'timestamp' : t .timestamp } for t in silver_transactions ]
202181
203- return render_template ('history.html' , transactions = transactions , selected_type = selected_type )
182+ return render_template ('dashboard/ history.html' , transactions = transactions , selected_type = selected_type )
204183
205184@admin_bp .route ('/download_audit_log' , methods = ['POST' ])
206185def download_audit_log ():
@@ -284,7 +263,7 @@ def update_jeweller_details():
284263 db .session .commit ()
285264
286265 flash ('Jeweller details updated successfully!' , 'success' )
287- return redirect (url_for ('admin .update_jeweller_details' ))
266+ return redirect (url_for ('admin_ .update_jeweller_details' ))
288267
289268 jeweller = JewellerDetails .query .first ()
290- return render_template ('config.html' , jeweller = jeweller , settings = system_settings )
269+ return render_template ('dashboard/ config.html' , jeweller = jeweller , settings = system_settings )
0 commit comments