Use the same form for problems and questions

This commit is contained in:
Chris Hill-Scott
2020-03-24 15:13:53 +00:00
parent 61ab9661fb
commit 11cdf58256
4 changed files with 12 additions and 16 deletions

View File

@@ -92,6 +92,7 @@ from app.url_converters import (
LetterFileExtensionConverter,
SimpleDateTypeConverter,
TemplateTypeConverter,
TicketTypeConverter,
)
from app.utils import format_thousands, get_logo_cdn_domain, id_safe
@@ -227,6 +228,7 @@ def init_app(application):
application.url_map.converters['uuid'].to_python = lambda self, value: value
application.url_map.converters['template_type'] = TemplateTypeConverter
application.url_map.converters['ticket_type'] = TicketTypeConverter
application.url_map.converters['letter_file_extension'] = LetterFileExtensionConverter
application.url_map.converters['simple_date'] = SimpleDateTypeConverter

View File

@@ -903,16 +903,12 @@ class SupportRedirect(StripWhitespaceForm):
)
class Feedback(StripWhitespaceForm):
class FeedbackOrProblem(StripWhitespaceForm):
name = StringField('Name (optional)')
email_address = email_address(label='Email address', gov_user=False, required=True)
feedback = TextAreaField('Your message', validators=[DataRequired(message="Cannot be empty")])
class Problem(Feedback):
email_address = email_address(label='Email address', gov_user=False)
class Triage(StripWhitespaceForm):
severe = RadioField(
'Is it an emergency?',

View File

@@ -1,15 +1,14 @@
from datetime import datetime
import pytz
from flask import abort, redirect, render_template, request, session, url_for
from flask import redirect, render_template, request, session, url_for
from flask_login import current_user
from app import convert_to_boolean, current_service, service_api_client
from app.extensions import zendesk_client
from app.main import main
from app.main.forms import (
Feedback,
Problem,
FeedbackOrProblem,
SupportRedirect,
SupportType,
Triage,
@@ -79,15 +78,9 @@ def triage():
)
@main.route('/support/<ticket_type>', methods=['GET', 'POST'])
@main.route('/support/<ticket_type:ticket_type>', methods=['GET', 'POST'])
def feedback(ticket_type):
try:
form = {
QUESTION_TICKET_TYPE: Feedback,
PROBLEM_TICKET_TYPE: Problem,
}[ticket_type]()
except KeyError:
abort(404)
form = FeedbackOrProblem()
if not form.feedback.data:
form.feedback.data = session.pop('feedback_message', '')

View File

@@ -6,6 +6,11 @@ class TemplateTypeConverter(BaseConverter):
regex = '(?:email|sms|letter)'
class TicketTypeConverter(BaseConverter):
regex = '(?:ask-question-give-feedback|report-problem)'
class LetterFileExtensionConverter(BaseConverter):
regex = '(?:pdf|png)'