فهرست منبع

Form field type defaults to single line text (#243)

Kevin Cummings 5 سال پیش
والد
کامیت
651daf34d9

+ 7 - 1
coderedcms/forms.py

@@ -146,7 +146,13 @@ class CoderedFormField(AbstractFormField):
     class Meta:
         abstract = True
 
-    field_type = models.CharField(verbose_name=_('field type'), max_length=16, choices=FORM_FIELD_CHOICES, blank=True)  # noqa
+    field_type = models.CharField(
+        verbose_name=_('field type'),
+        max_length=16,
+        choices=FORM_FIELD_CHOICES,
+        blank=False,
+        default='Single line text'
+    )
 
 
 class SearchForm(forms.Form):

+ 2 - 2
coderedcms/project_template/basic/website/migrations/0001_initial.py

@@ -5,7 +5,7 @@
  """
 {% endcomment %}
 {% verbatim %}
-# Generated by Django 2.2.4 on 2019-08-03 16:14
+# Generated by Django 2.2.4 on 2019-08-12 14:12
 
 import coderedcms.blocks.base_blocks
 import coderedcms.blocks.html_blocks
@@ -94,7 +94,7 @@ class Migration(migrations.Migration):
                 ('choices', models.TextField(blank=True, help_text='Comma separated list of choices. Only applicable in checkboxes, radio and dropdown.', verbose_name='choices')),
                 ('default_value', models.CharField(blank=True, help_text='Default value. Comma separated values supported for checkboxes.', max_length=255, verbose_name='default value')),
                 ('help_text', models.CharField(blank=True, max_length=255, verbose_name='help text')),
-                ('field_type', models.CharField(blank=True, choices=[('Text', (('singleline', 'Single line text'), ('multiline', 'Multi-line text'), ('email', 'Email'), ('number', 'Number - only allows integers'), ('url', 'URL'))), ('Choice', (('checkboxes', 'Checkboxes'), ('dropdown', 'Drop down'), ('radio', 'Radio buttons'), ('multiselect', 'Multiple select'), ('checkbox', 'Single checkbox'))), ('Date & Time', (('date', 'Date'), ('time', 'Time'), ('datetime', 'Date and time'))), ('File Upload', (('file', 'Secure File - login required to access uploaded files'),)), ('Other', (('hidden', 'Hidden field'),))], max_length=16, verbose_name='field type')),
+                ('field_type', models.CharField(choices=[('Text', (('singleline', 'Single line text'), ('multiline', 'Multi-line text'), ('email', 'Email'), ('number', 'Number - only allows integers'), ('url', 'URL'))), ('Choice', (('checkboxes', 'Checkboxes'), ('dropdown', 'Drop down'), ('radio', 'Radio buttons'), ('multiselect', 'Multiple select'), ('checkbox', 'Single checkbox'))), ('Date & Time', (('date', 'Date'), ('time', 'Time'), ('datetime', 'Date and time'))), ('File Upload', (('file', 'Secure File - login required to access uploaded files'),)), ('Other', (('hidden', 'Hidden field'),))], default='Single line text', max_length=16, verbose_name='field type')),
                 ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='form_fields', to='website.FormPage')),
             ],
             options={

+ 2 - 2
coderedcms/project_template/sass/website/migrations/0001_initial.py

@@ -5,7 +5,7 @@
  """
 {% endcomment %}
 {% verbatim %}
-# Generated by Django 2.2.4 on 2019-08-03 16:14
+# Generated by Django 2.2.4 on 2019-08-12 14:12
 
 import coderedcms.blocks.base_blocks
 import coderedcms.blocks.html_blocks
@@ -94,7 +94,7 @@ class Migration(migrations.Migration):
                 ('choices', models.TextField(blank=True, help_text='Comma separated list of choices. Only applicable in checkboxes, radio and dropdown.', verbose_name='choices')),
                 ('default_value', models.CharField(blank=True, help_text='Default value. Comma separated values supported for checkboxes.', max_length=255, verbose_name='default value')),
                 ('help_text', models.CharField(blank=True, max_length=255, verbose_name='help text')),
-                ('field_type', models.CharField(blank=True, choices=[('Text', (('singleline', 'Single line text'), ('multiline', 'Multi-line text'), ('email', 'Email'), ('number', 'Number - only allows integers'), ('url', 'URL'))), ('Choice', (('checkboxes', 'Checkboxes'), ('dropdown', 'Drop down'), ('radio', 'Radio buttons'), ('multiselect', 'Multiple select'), ('checkbox', 'Single checkbox'))), ('Date & Time', (('date', 'Date'), ('time', 'Time'), ('datetime', 'Date and time'))), ('File Upload', (('file', 'Secure File - login required to access uploaded files'),)), ('Other', (('hidden', 'Hidden field'),))], max_length=16, verbose_name='field type')),
+                ('field_type', models.CharField(choices=[('Text', (('singleline', 'Single line text'), ('multiline', 'Multi-line text'), ('email', 'Email'), ('number', 'Number - only allows integers'), ('url', 'URL'))), ('Choice', (('checkboxes', 'Checkboxes'), ('dropdown', 'Drop down'), ('radio', 'Radio buttons'), ('multiselect', 'Multiple select'), ('checkbox', 'Single checkbox'))), ('Date & Time', (('date', 'Date'), ('time', 'Time'), ('datetime', 'Date and time'))), ('File Upload', (('file', 'Secure File - login required to access uploaded files'),)), ('Other', (('hidden', 'Hidden field'),))], default='Single line text', max_length=16, verbose_name='field type')),
                 ('page', modelcluster.fields.ParentalKey(on_delete=django.db.models.deletion.CASCADE, related_name='form_fields', to='website.FormPage')),
             ],
             options={

+ 1 - 0
docs/releases/index.rst

@@ -17,6 +17,7 @@ CodeRed CMS follows the ``[major].[minor].[maintenance]`` versioning scheme.
 .. toctree::
     :maxdepth: 1
 
+    v0.17.0
     v0.16.2
     v0.16.1
     v0.16.0

+ 13 - 0
docs/releases/v0.17.0.rst

@@ -0,0 +1,13 @@
+CodeRed CMS 0.17.0 release notes
+================================
+
+
+Bug fixes
+---------
+
+* Fix bug where form field without a selected type would cause a 500 error.
+
+Upgrade considerations
+----------------------
+
+* You will need to run ``python manage.py makemigrations website`` and ``python manage.py migrate`` after upgrading.