|  | @@ -1,12 +1,13 @@
 | 
											
												
													
														|  | -from flask import flash, render_template, Blueprint, current_app, redirect, request, url_for, session
 |  | 
 | 
											
												
													
														|  | 
 |  | +from flask import flash, render_template, Blueprint, current_app, redirect, request, url_for, session, g
 | 
											
												
													
														|  |  from datetime import timezone
 |  |  from datetime import timezone
 | 
											
												
													
														|  |  from ownchatbot.db import get_db, reread_goals, reread_votes, rem_vote, reset_vote, reset_goal, clear_fulfilled_rewards, clear_reward_queue, rem_cool, rem_from_queue
 |  |  from ownchatbot.db import get_db, reread_goals, reread_votes, rem_vote, reset_vote, reset_goal, clear_fulfilled_rewards, clear_reward_queue, rem_cool, rem_from_queue
 | 
											
												
													
														|  |  from ownchatbot.reward_handlers import all_active_votes, all_active_goals, all_active_rewards, get_queue, fulfill_reward, save_rewards, activate_category, deactivate_category, refund_reward, reread_categories, save_config
 |  |  from ownchatbot.reward_handlers import all_active_votes, all_active_goals, all_active_rewards, get_queue, fulfill_reward, save_rewards, activate_category, deactivate_category, refund_reward, reread_categories, save_config
 | 
											
												
													
														|  | -from ownchatbot.user_handlers import get_all_users, get_all_users_by_name, refund_points, adjust_points, change_email
 |  | 
 | 
											
												
													
														|  | 
 |  | +from ownchatbot.user_handlers import get_all_users, get_all_users_by_name, refund_points, adjust_points, change_email, get_email_code
 | 
											
												
													
														|  |  from ownchatbot.bot_messages import save_announce
 |  |  from ownchatbot.bot_messages import save_announce
 | 
											
												
													
														|  |  import json
 |  |  import json
 | 
											
												
													
														|  |  import emoji
 |  |  import emoji
 | 
											
												
													
														|  |  from ownchatbot.kofi_handlers import save_kofi_settings, kofi_pngs
 |  |  from ownchatbot.kofi_handlers import save_kofi_settings, kofi_pngs
 | 
											
												
													
														|  | 
 |  | +import random
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  ocb = Blueprint('web_panels', __name__)
 |  |  ocb = Blueprint('web_panels', __name__)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -382,12 +383,17 @@ def add(reward_type):
 | 
											
												
													
														|  |  @ocb.route('/set_viewer_email', methods=['GET', 'POST'])
 |  |  @ocb.route('/set_viewer_email', methods=['GET', 'POST'])
 | 
											
												
													
														|  |  def set_viewer_email():
 |  |  def set_viewer_email():
 | 
											
												
													
														|  |      db = get_db()
 |  |      db = get_db()
 | 
											
												
													
														|  | 
 |  | +    mail_reg_code = int(request.form['code'])
 | 
											
												
													
														|  |      user_id = request.form['user_id']
 |  |      user_id = request.form['user_id']
 | 
											
												
													
														|  | 
 |  | +    db_mail_reg_code = get_email_code(db, user_id)
 | 
											
												
													
														|  |      new_email = request.form['new_email']
 |  |      new_email = request.form['new_email']
 | 
											
												
													
														|  |      instance = request.form['instance']
 |  |      instance = request.form['instance']
 | 
											
												
													
														|  |      user_name = request.form['user_name']
 |  |      user_name = request.form['user_name']
 | 
											
												
													
														|  | -    if change_email(db, user_id, new_email):
 |  | 
 | 
											
												
													
														|  | -        current_app.logger.info(f'Changed {user_id}\'s email to {new_email}')
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if mail_reg_code == db_mail_reg_code:
 | 
											
												
													
														|  | 
 |  | +        if change_email(db, user_id, new_email):
 | 
											
												
													
														|  | 
 |  | +            current_app.logger.info(f'Changed {user_id}\'s email to {new_email}')
 | 
											
												
													
														|  | 
 |  | +    else:
 | 
											
												
													
														|  | 
 |  | +        current_app.logger.info(f'The code entered, \"{mail_reg_code}\", does not match \"{db_mail_reg_code}\" found in database.')
 | 
											
												
													
														|  |      return redirect(url_for('web_panels.user_panel', instance=instance, username=user_name))
 |  |      return redirect(url_for('web_panels.user_panel', instance=instance, username=user_name))
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 |