Use the same form for problems and questions

This commit is contained in:
Chris Hill-Scott
2020-03-24 17:48:11 +00:00
parent 61ab9661fb
commit 11cdf58256
4 changed files with 12 additions and 16 deletions
+2
View File
@@ -92,6 +92,7 @@ from app.url_converters import (
LetterFileExtensionConverter, LetterFileExtensionConverter,
SimpleDateTypeConverter, SimpleDateTypeConverter,
TemplateTypeConverter, TemplateTypeConverter,
TicketTypeConverter,
) )
from app.utils import format_thousands, get_logo_cdn_domain, id_safe 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['uuid'].to_python = lambda self, value: value
application.url_map.converters['template_type'] = TemplateTypeConverter 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['letter_file_extension'] = LetterFileExtensionConverter
application.url_map.converters['simple_date'] = SimpleDateTypeConverter application.url_map.converters['simple_date'] = SimpleDateTypeConverter
+1 -5
View File
@@ -903,16 +903,12 @@ class SupportRedirect(StripWhitespaceForm):
) )
class Feedback(StripWhitespaceForm): class FeedbackOrProblem(StripWhitespaceForm):
name = StringField('Name (optional)') name = StringField('Name (optional)')
email_address = email_address(label='Email address', gov_user=False, required=True) email_address = email_address(label='Email address', gov_user=False, required=True)
feedback = TextAreaField('Your message', validators=[DataRequired(message="Cannot be empty")]) 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): class Triage(StripWhitespaceForm):
severe = RadioField( severe = RadioField(
'Is it an emergency?', 'Is it an emergency?',
+4 -11
View File
@@ -1,15 +1,14 @@
from datetime import datetime from datetime import datetime
import pytz 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 flask_login import current_user
from app import convert_to_boolean, current_service, service_api_client from app import convert_to_boolean, current_service, service_api_client
from app.extensions import zendesk_client from app.extensions import zendesk_client
from app.main import main from app.main import main
from app.main.forms import ( from app.main.forms import (
Feedback, FeedbackOrProblem,
Problem,
SupportRedirect, SupportRedirect,
SupportType, SupportType,
Triage, 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): def feedback(ticket_type):
try: form = FeedbackOrProblem()
form = {
QUESTION_TICKET_TYPE: Feedback,
PROBLEM_TICKET_TYPE: Problem,
}[ticket_type]()
except KeyError:
abort(404)
if not form.feedback.data: if not form.feedback.data:
form.feedback.data = session.pop('feedback_message', '') form.feedback.data = session.pop('feedback_message', '')
+5
View File
@@ -6,6 +6,11 @@ class TemplateTypeConverter(BaseConverter):
regex = '(?:email|sms|letter)' regex = '(?:email|sms|letter)'
class TicketTypeConverter(BaseConverter):
regex = '(?:ask-question-give-feedback|report-problem)'
class LetterFileExtensionConverter(BaseConverter): class LetterFileExtensionConverter(BaseConverter):
regex = '(?:pdf|png)' regex = '(?:pdf|png)'