diff --git a/user_managment/app.py b/user_managment/app.py index 60be639..5921baa 100644 --- a/user_managment/app.py +++ b/user_managment/app.py @@ -16,6 +16,8 @@ import datetime, time from flask_babelex import Babel import libscrc import random +from flask_mail import Message, Mail + try: from gen_script_template import gen_script except: @@ -106,6 +108,7 @@ def create_app(): """ Flask application factory """ # Create Flask app load app.config + mail = Mail() app = Flask(__name__) app.config.from_object(__name__+'.ConfigClass') @@ -427,7 +430,10 @@ def create_app(): @login_required # User must be authenticated @roles_required('Admin') def mmdvm_auth_list(): - content = '''
User | @@ -437,18 +443,53 @@ def create_app():|||
''' + str(i[1]) + ''' | ''' + str(i[0]) + ''' | Value: ''' + str(i[2]) + '''\n DB: ''' + str(i[3]) + ''' |
''' + datetime.datetime.fromtimestamp(i[4]).strftime(time_format) + ''' |
+ |
''' + elif request.method == 'POST': # and request.form.get('callsign') and request.form.get('subject') and request.form.get('message'): + u = User.query.filter_by(username=request.args.get('callsign')).first() + msg = Message(recipients=[u.email], + subject=request.form.get('subject'), + body=request.form.get('message')) + mail.send(msg) + content = '
Sent email to: ' + u.email + '
' + else: + content = '''Find user in "List Users", then click on the email link.'
''' + return render_template('flask_user_layout.html', markup_content = Markup(content)) + + + @app.route('/list_users') @roles_required('Admin') @login_required # User must be authenticated @@ -575,6 +616,10 @@ def create_app(): edit_user.active = True edit_user.initial_admin_approved = True db.session.commit() + msg = Message(recipients=[edit_user.email], + subject='Account Approval - ' + title, + body='''You are receiving this message because an administrator has approved your account. You may now login and view your MMDVM passphrase(s).''') + mail.send(msg) content = '''User approved: ''' + str(request.args.get('callsign')) + '''
\n''' elif request.method == 'GET' and request.args.get('callsign') and request.args.get('email_verified') == 'true': @@ -627,6 +672,9 @@ def create_app():Update user information from RadioID.net
+ + +