File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/blueprints/issue/views.py
from flask import (
Blueprint,
flash,
redirect,
url_for,
render_template)
from flask_login import current_user, login_required
from flask_babel import gettext as _
from buyercall.blueprints.issue.models import Issue
from buyercall.blueprints.issue.forms import SupportForm
from buyercall.blueprints.user.decorators import role_required
issue = Blueprint('issue', __name__, template_folder='templates')
@issue.route('/support', methods=['GET', 'POST'])
@login_required
@role_required('admin', 'agent')
def support():
# Pre-populate the email field if the user is signed in.
form = SupportForm(obj=current_user)
if form.validate_on_submit():
i = Issue()
i.partnership_id = current_user.partnership_id
i.partnership_account_id = current_user.partnership_account_id
form.populate_obj(i)
i.save()
# This prevents circular imports.
from buyercall.blueprints.issue.tasks import deliver_support_email
deliver_support_email.delay(i.id)
flash(_('Help is on the way, expect a response shortly.'), 'success')
return redirect(url_for('issue.support'))
return render_template('issue/support.jinja2', form=form)