diff --git a/migrations/versions/3447b58b5c69_add_is_longform_question_to_question.py b/migrations/versions/3447b58b5c69_add_is_longform_question_to_question.py new file mode 100644 index 000000000..53e945ead --- /dev/null +++ b/migrations/versions/3447b58b5c69_add_is_longform_question_to_question.py @@ -0,0 +1,31 @@ +"""add is_longform_question to question + +Revision ID: 3447b58b5c69 +Revises: da154873f3ab +Create Date: 2024-06-17 21:31:27.252460 + +""" + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = "3447b58b5c69" +down_revision = "da154873f3ab" +branch_labels = None +depends_on = None + + +def upgrade(): + + with op.batch_alter_table("question", schema=None) as batch_op: + batch_op.add_column( + sa.Column( + "is_longform_question", sa.Boolean(), nullable=True, default=False + ) + ) + + +def downgrade(): + pass diff --git a/subscribie/blueprints/admin/choice_group.py b/subscribie/blueprints/admin/choice_group.py index f4ca28644..ddf365cbc 100644 --- a/subscribie/blueprints/admin/choice_group.py +++ b/subscribie/blueprints/admin/choice_group.py @@ -108,6 +108,11 @@ def add_question(): if form.validate_on_submit(): question = Question() question.title = request.form["title"] + if request.form.get("is_longform_question"): + question.is_longform_question = True + else: + question.is_longform_question = False + database.session.add(question) database.session.commit() flash("Added new question") @@ -122,6 +127,10 @@ def edit_question(id): question = Question.query.get(id) if request.method == "POST": question.title = request.form["title"] + if request.form.get("is_longform_question"): + question.is_longform_question = True + else: + question.is_longform_question = False database.session.commit() flash("Question updated") return render_template("admin/question/edit_question.html", question=question) diff --git a/subscribie/blueprints/admin/static/style.css b/subscribie/blueprints/admin/static/style.css index 01488a371..3d342e633 100644 --- a/subscribie/blueprints/admin/static/style.css +++ b/subscribie/blueprints/admin/static/style.css @@ -11601,3 +11601,8 @@ h3{ margin: .5em; padding: 0; } + + +.text-muted { + color: #717d84 !important; +} \ No newline at end of file diff --git a/subscribie/blueprints/admin/templates/admin/choice_group/add_question.html b/subscribie/blueprints/admin/templates/admin/choice_group/add_question.html index c1cd8f787..497e76937 100644 --- a/subscribie/blueprints/admin/templates/admin/choice_group/add_question.html +++ b/subscribie/blueprints/admin/templates/admin/choice_group/add_question.html @@ -31,6 +31,16 @@

Add Question

+ +
+
+ + +
+

A long-form question shows as a large text box rather than a small box.

+
diff --git a/subscribie/blueprints/admin/templates/admin/question/edit_question.html b/subscribie/blueprints/admin/templates/admin/question/edit_question.html index c277f3d68..a8645c292 100644 --- a/subscribie/blueprints/admin/templates/admin/question/edit_question.html +++ b/subscribie/blueprints/admin/templates/admin/question/edit_question.html @@ -1,5 +1,5 @@ {% extends "admin/layout.html" %} -{% block title %} {{ title }} {% endblock %} +{% block title %} Add Shop Admin{% endblock %} {% block body %} @@ -9,7 +9,7 @@

Edit Question

@@ -19,23 +19,38 @@

Edit Question

Edit Question

-

Edit the Question below.


-
-
- -
- + +
+ +
+
- +
+
+ + +
+

A long-form question shows as a large text box rather than a small box.

+
+ + -
-
+
+ -{% endblock body %} + + +{% endblock %} diff --git a/subscribie/models.py b/subscribie/models.py index 5e129ba89..3c8370313 100644 --- a/subscribie/models.py +++ b/subscribie/models.py @@ -1198,6 +1198,9 @@ class Question(database.Model): database.DateTime, default=datetime.datetime.now(datetime.UTC) ) options = relationship("QuestionOption", back_populates="question") + is_longform_question = database.Column( + database.Boolean(), default=False + ) title = database.Column(database.String()) diff --git a/subscribie/themes/theme-jesmond/jesmond/set_questions.html b/subscribie/themes/theme-jesmond/jesmond/set_questions.html index 3a86a3ab0..e9211a77c 100644 --- a/subscribie/themes/theme-jesmond/jesmond/set_questions.html +++ b/subscribie/themes/theme-jesmond/jesmond/set_questions.html @@ -37,7 +37,11 @@

{{ _('The') }} {{ plan.title }} {{ {% endfor %} {% else %} - + {% if plan_question_assoc.question.is_longform_question %} + + {% else %} + + {% endif %} {% endif %} {% endfor %}