def reply_registration_request(registration_request, action='deny'): status = 'Denied' if action == 'deny' else 'Approved' context = dict( approved=action != 'deny', app_name=current_app.config['APP_NAME'] ) msg = Message( 'Registration Request ' + status, sender=current_app.config['MAIL_DEFAULT_SENDER'], recipients=[registration_request.email]) if context['approved']: if registration_request.granted: return api_alert_response( '%s already been approved' % registration_request.email, 400, 'danger') context['register_link'] = url_for( 'index', filename='/register', token=registration_request.token, email=registration_request.email, _external=True) registration_request.granted = True registration_request.save() else: registration_request.delete() msg.body = render_template('email/registration_response.plain', **context) msg.html = render_template('email/registration_response.html', **context) mail_session.send(msg) return api_alert_response('%s has been %s.' % (registration_request.email, status))
def registration_request(email, ip): msg = Message( 'Registration Request', sender=current_app.config['MAIL_USERNAME'], recipients=current_app.config['REQUEST_REGISTRATION_EMAIL']) context = dict( request_email=email, request_ip=ip, approve_url=url_for( '.registration_request_action', action='approve', email=email, _external=True), deny_url=url_for( '.registration_request_action', action='deny', email=email, _external=True) ) msg.body = render_template('email/registration_request.plain', **context) msg.html = render_template('email/registration_request.html', **context) registration_request = UserRegistrationRequest(email, ip) registration_request.save() mail_session.send(msg) return jsonify(dict(request_received=True))