forked from M-Labs/web2019
48 lines
1.2 KiB
Python
48 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'],
|
|
sender=payload["email"],
|
|
recipients=[recipient])
|
|
|
|
msg.body = payload["body"]
|
|
msg.html = payload["body"]
|
|
|
|
mail.send(msg)
|
|
|
|
return jsonify("ok")
|