web2019/server/app/api/routes.py

49 lines
1.2 KiB
Python

from flask import current_app
from flask import json
from flask import jsonify
from flask import make_response
from flask import request
from flask_mail import Message
from app.api import bp
from app import mail
@bp.after_request
def after(response):
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Headers"] = "*"
return response
@bp.route("/rfq", methods=["POST"])
def send_rfq():
payload = request.json
payload = json.loads(json.htmlsafe_dumps(payload))
if payload is None:
resp = jsonify(error="invalid data")
return make_response(resp, 400)
if "email" not in payload:
resp = jsonify(error="missing email")
return make_response(resp, 400)
if "body" not in payload:
resp = jsonify(error="missing body")
return make_response(resp, 400)
recipient = current_app.config["MAIL_RECIPIENT"]
msg = Message(
"[ORDER HARDWARE - RFQ from %s]" % payload['email'],
reply_to=recipient,
sender=payload["email"],
recipients=[recipient])
msg.body = payload["body"]
msg.html = payload["body"]
mail.send(msg)
return jsonify("ok")