11import os
22import datetime
33from flask import render_template , redirect , url_for , request , blueprints , flash
4- from flask_login import LoginManager , login_user , login_required , logout_user , current_user
4+ from flask_login import LoginManager , login_user , logout_user , current_user
55from werkzeug .security import generate_password_hash , check_password_hash
66
77from src .scripts .email_me import send_smpt_email
88from src .config import app , db
9- from src .models import UserProfile , UserCardSettings , FeatureToggleSettings , UserDashboardSettings
9+ from src .models import UserProfile , UserCardSettings , PageToggleSettings , UserDashboardSettings
1010from src .utils import render_template_from_file , ROOT_DIR
1111from src .routes .helper import get_email_addresses
1212
@@ -29,41 +29,41 @@ def login():
2929 if user and check_password_hash (user .password , password ):
3030 login_user (user )
3131 receiver_email = current_user .email
32- admin_email_address = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
33- # if receiver_email in admin_email_address don't send email to the admin
32+ admin_emails_with_alerts = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
33+ # if receiver_email in admin_emails_with_alerts don't send email to the admin
3434 # log in alert to admin
3535
36- if admin_email_address :
37- if receiver_email in admin_email_address :
38- admin_email_address .remove (receiver_email )
39- if admin_email_address :
36+ if admin_emails_with_alerts :
37+ if receiver_email in admin_emails_with_alerts :
38+ admin_emails_with_alerts .remove (receiver_email )
39+ if admin_emails_with_alerts :
4040 context = {"username" : current_user .username , "login_time" : datetime .datetime .now ()}
4141
4242 login_alert_template = os .path .join (ROOT_DIR , "src/templates/email_templates/admin_login_alert.html" )
43- html_body = render_template_from_file (login_alert_template , ** context )
43+ email_body = render_template_from_file (login_alert_template , ** context )
4444
45- send_smpt_email (admin_email_address , 'Login Alert' , html_body , is_html = True )
45+ send_smpt_email (admin_emails_with_alerts , 'Login Alert' , email_body , is_html = True )
4646
4747 # log in alert to user
4848 if receiver_email :
4949 context = {"username" : current_user .username , "login_time" : datetime .datetime .now ()}
5050
5151 login_message_template = os .path .join (ROOT_DIR , "src/templates/email_templates/login.html" )
52- html_body = render_template_from_file (login_message_template , ** context )
52+ email_body = render_template_from_file (login_message_template , ** context )
5353
54- send_smpt_email (receiver_email , 'Login Alert' , html_body , is_html = True )
54+ send_smpt_email (receiver_email , 'Login Alert' , email_body , is_html = True )
5555 return redirect (url_for ('dashboard' ))
5656 flash ('Invalid username or password' , 'danger' )
57- return render_template ('login.html' )
57+ return render_template ('auths/ login.html' )
5858
5959@app .route ('/logout' )
6060def logout ():
6161 receiver_email = current_user .email
6262 if receiver_email :
6363 context = {"username" : current_user .username }
6464 logout_message_template = os .path .join (ROOT_DIR , "src/templates/email_templates/logout.html" )
65- html_body = render_template_from_file (logout_message_template , ** context )
66- send_smpt_email (receiver_email , 'Logout Alert' , html_body , is_html = True )
65+ email_body = render_template_from_file (logout_message_template , ** context )
66+ send_smpt_email (receiver_email , 'Logout Alert' , email_body , is_html = True )
6767 logout_user ()
6868 return redirect (url_for ('login' ))
6969
@@ -96,18 +96,18 @@ def signup():
9696 profession = profession )
9797
9898 # Get Admin Emails with Alerts Enabled:
99- admin_email_address = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
100- if admin_email_address :
99+ admin_emails_with_alerts = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
100+ if admin_emails_with_alerts :
101101 subject = "New User Alert"
102102 context = {
103103 "username" : new_user .username ,
104104 "email" : new_user .email ,
105- "signup_time " : datetime .datetime .now (),
105+ "registration_time " : datetime .datetime .now (),
106106 "user_level" : new_user .user_level
107107 }
108108 new_user_alert_template = os .path .join (ROOT_DIR , "src/templates/email_templates/new_user_alert.html" )
109- html_body = render_template_from_file (new_user_alert_template , ** context )
110- send_smpt_email (admin_email_address , subject , html_body , is_html = True )
109+ email_body = render_template_from_file (new_user_alert_template , ** context )
110+ send_smpt_email (admin_emails_with_alerts , subject , email_body , is_html = True )
111111
112112 # Send email to the new user
113113 subject = "Welcome to the systemGuard"
@@ -116,75 +116,16 @@ def signup():
116116 "email" : new_user .email ,
117117 }
118118 welcome_template = os .path .join (ROOT_DIR , "src/templates/email_templates/welcome.html" )
119- html_body = render_template_from_file (welcome_template , ** context )
120- send_smpt_email (email , subject , html_body , is_html = True )
119+ email_body = render_template_from_file (welcome_template , ** context )
120+ send_smpt_email (email , subject , email_body , is_html = True )
121121
122122 db .session .add (new_user )
123123 db .session .commit ()
124124 db .session .add (UserDashboardSettings (user_id = new_user .id ))
125125 db .session .add (UserCardSettings (user_id = new_user .id ))
126- db .session .add (FeatureToggleSettings (user_id = new_user .id ))
126+ db .session .add (PageToggleSettings (user_id = new_user .id ))
127127 db .session .commit ()
128128 flash ('Account created successfully, please log in.' )
129129 return redirect (url_for ('login' ))
130130
131- return render_template ('signup.html' )
132-
133- @app .route ("/send_email" , methods = ["GET" , "POST" ])
134- @login_required
135- def send_email_page ():
136- dasboard_settings = UserCardSettings .query .first ()
137- receiver_email = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
138- if dasboard_settings :
139- enable_alerts = dasboard_settings .enable_alerts
140- if request .method == "POST" :
141- receiver_email = request .form .get ("recipient" )
142- subject = request .form .get ("subject" )
143- body = request .form .get ("body" )
144- priority = request .form .get ("priority" )
145- attachment = request .files .get ("attachment" )
146-
147- if not receiver_email or not subject or not body :
148- flash ("Please provide recipient, subject, and body." , "danger" )
149- return redirect (url_for ('send_email_page' ))
150-
151- print ("Priority:" , priority )
152- print ("receiver_email:" , receiver_email )
153-
154- # on high priority, send to all users or admin users even the receive_email_alerts is False
155- if priority == "high" and receiver_email == "all_users" :
156- print ("Sending to all users" )
157- receiver_email = get_email_addresses (fetch_all_users = True )
158- elif priority == "high" and receiver_email == "admin_users" :
159- print ("Sending to admin users" )
160- receiver_email = get_email_addresses (user_level = 'admin' , fetch_all_users = True )
161-
162- # priority is low, send to users with receive_email_alerts is True
163- if priority == "low" and receiver_email == "all_users" :
164- print ("Sending to all users with receive_email_alerts=True" )
165- receiver_email = get_email_addresses (receive_email_alerts = True )
166- elif priority == "low" and receiver_email == "admin_users" :
167- print ("Sending to admin users with receive_email_alerts=True" )
168- receiver_email = get_email_addresses (user_level = 'admin' , receive_email_alerts = True )
169-
170- if not receiver_email :
171- flash ("No users found to send email to." , "danger" )
172- return redirect (url_for ('send_email_page' ))
173-
174- # Save attachment if any
175- attachment_path = None
176- if attachment :
177- attachment_path = f"/tmp/{ attachment .filename } "
178- attachment .save (attachment_path )
179- try :
180- respose = send_smpt_email (receiver_email , subject , body , attachment_path )
181- print (respose )
182- if respose and respose .get ("status" ) == "success" :
183- flash (respose .get ("message" ), "success" )
184- except Exception as e :
185- flash (f"Failed to send email: { str (e )} " , "danger" )
186-
187- return redirect (url_for ('send_email_page' ))
188-
189- return render_template ("send_email.html" , enable_alerts = enable_alerts )
190-
131+ return render_template ('auths/signup.html' )
0 commit comments