From 17ec31a2aac8aad9797dba0eb31819b13e95e183 Mon Sep 17 00:00:00 2001 From: Eric Theise Date: Mon, 11 May 2020 11:27:34 -0700 Subject: [PATCH] feat: toward #17 and #21, survey models, etc --- surveys/forms.py | 46 ++++- surveys/migrations/0001_initial.py | 166 +++++++++--------- surveys/migrations/0002_auto_20200508_0056.py | 18 ++ surveys/models.py | 166 +++++++++--------- surveys/static/surveys/css/surveys.css | 2 +- 5 files changed, 229 insertions(+), 169 deletions(-) create mode 100644 surveys/migrations/0002_auto_20200508_0056.py diff --git a/surveys/forms.py b/surveys/forms.py index e921103..d28cdf0 100644 --- a/surveys/forms.py +++ b/surveys/forms.py @@ -5,6 +5,48 @@ from django.template.defaultfilters import safe from accounts.models import User, Role from mdi.models import Organization, OrganizationSocialNetwork, Sector, SocialNetwork, Stage +from datetime import date +from django.utils import timezone + + +class DateSelectorWidget(forms.MultiWidget): + def __init__(self, attrs=None): + years = [(0, 'Select a year…')] + [(year, year) for year in reversed(range(1844, timezone.now().year + 2))] + months = [ + (0, 'Select a month…'), + (1, 'January'), + (2, 'February'), + (3, 'March'), + (4, 'April'), + (5, 'May'), + (6, 'June'), + (7, 'July'), + (8, 'August'), + (9, 'September'), + (10, 'October'), + (11, 'November'), + (12, 'December'), + ] + days = [(0, 'Select a day…')] + [(day, day) for day in range(1, 32)] + widgets = [ + forms.Select(attrs={'class': 'required'}, choices=years), + forms.Select(attrs=attrs, choices=months), + forms.Select(attrs=attrs, choices=days), + ] + super().__init__(widgets, attrs) + + def decompress(self, value): + if isinstance(value, date): + return [value.year, value.month, value.day] + elif isinstance(value, str): + year, month, day = value.split('-') + return [year, month, day] + return [None, None, None] + + def value_from_datadict(self, data, files, name): + year, month, day = super().value_from_datadict(data, files, name) + # DateField expects a single string that it can parse into a date. + return '{}-{}-{}'.format(year, month, day) class BaseForm(forms.Form): @@ -60,7 +102,7 @@ class Meta: 'socialnetworks': _('What are the social media handles of your enterprise or project?'), 'address': _(safe('What is the physical address of the headquarters of your enterprise or project?
Street')), 'state': _('State or province'), - 'founded': _('When was your enterprise or project founded?'), + 'founded': _(safe('When was your enterprise or project founded? (Year required. *)')), 'media_url': _('Paste a link to photos or any introductory video about your enterprise or project:'), 'logo_url': _('Paste a link to the logo for your enterprise or project:'), } @@ -68,7 +110,7 @@ class Meta: } widgets = { 'url': URLInput(attrs={'placeholder': 'e.g., https://example.coop/'}), - 'founded': DateTimeInput(format="%d/%m/%Y", attrs={'placeholder': "MM/DD/YYYY"}), + 'founded': DateSelectorWidget(), 'media_url': URLInput(attrs={'placeholder': 'e.g., https://www.youtube.com/watch?v=qcPUARqRsVM'}), 'logo_url': URLInput(attrs={'placeholder': 'e.g., https://example.coop/logo.png'}), } diff --git a/surveys/migrations/0001_initial.py b/surveys/migrations/0001_initial.py index 7da654d..d868d23 100644 --- a/surveys/migrations/0001_initial.py +++ b/surveys/migrations/0001_initial.py @@ -27,89 +27,89 @@ class Migration(migrations.Migration): name='Ecosystem2020', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('a', models.DateTimeField(auto_now=True, db_column='A')), - ('b', models.CharField(blank=True, db_column='B', max_length=254)), - ('c', models.CharField(blank=True, db_column='C', max_length=254)), - ('d', models.CharField(blank=True, db_column='D', max_length=254)), - ('e', models.CharField(blank=True, db_column='E', max_length=254)), - ('f', models.CharField(blank=True, db_column='F', max_length=254)), - ('g', models.CharField(blank=True, db_column='G', max_length=254)), - ('h', models.CharField(blank=True, db_column='H', max_length=254)), - ('i', models.CharField(blank=True, db_column='I', max_length=254)), - ('j', models.CharField(blank=True, db_column='J', max_length=254)), - ('k', models.CharField(blank=True, db_column='K', max_length=254)), - ('l', models.CharField(blank=True, db_column='L', max_length=254)), - ('m', models.CharField(blank=True, db_column='M', max_length=254)), - ('n', models.CharField(blank=True, db_column='N', max_length=254)), - ('o', models.CharField(blank=True, db_column='O', max_length=254)), - ('p', models.CharField(blank=True, db_column='P', max_length=254)), - ('q', models.CharField(blank=True, db_column='Q', max_length=254)), - ('r', models.CharField(blank=True, db_column='R', max_length=254)), - ('s', models.CharField(blank=True, db_column='S', max_length=254)), - ('t', models.CharField(blank=True, db_column='T', max_length=254)), - ('u', models.CharField(blank=True, db_column='U', max_length=254)), - ('v', models.CharField(blank=True, db_column='V', max_length=254)), - ('w', models.CharField(blank=True, db_column='W', max_length=254)), - ('x', models.CharField(blank=True, db_column='X', max_length=254)), - ('y', models.CharField(blank=True, db_column='Y', max_length=254)), - ('z', models.CharField(blank=True, db_column='Z', max_length=254)), - ('aa', models.CharField(blank=True, db_column='AA', max_length=254)), - ('ab', models.CharField(blank=True, db_column='AB', max_length=254)), - ('ac', models.CharField(blank=True, db_column='AC', max_length=254)), - ('ad', models.CharField(blank=True, db_column='AD', max_length=254)), - ('ae', models.CharField(blank=True, db_column='AE', max_length=254)), - ('af', models.CharField(blank=True, db_column='AF', max_length=254)), - ('ag', models.CharField(blank=True, db_column='AG', max_length=254)), - ('ah', models.CharField(blank=True, db_column='AH', max_length=254)), - ('ai', models.CharField(blank=True, db_column='AI', max_length=254)), - ('aj', models.CharField(blank=True, db_column='AJ', max_length=254)), - ('ak', models.CharField(blank=True, db_column='AK', max_length=254)), - ('al', models.CharField(blank=True, db_column='AL', max_length=254)), - ('am', models.CharField(blank=True, db_column='AM', max_length=254)), - ('an', models.CharField(blank=True, db_column='AN', max_length=254)), - ('ao', models.CharField(blank=True, db_column='AO', max_length=254)), - ('ap', models.CharField(blank=True, db_column='AP', max_length=254)), - ('aq', models.CharField(blank=True, db_column='AQ', max_length=254)), - ('ar', models.CharField(blank=True, db_column='AR', max_length=254)), - ('as_field', models.CharField(blank=True, db_column='AS', max_length=254)), - ('at', models.CharField(blank=True, db_column='AT', max_length=254)), - ('au', models.CharField(blank=True, db_column='AU', max_length=254)), - ('av', models.CharField(blank=True, db_column='AV', max_length=254)), - ('aw', models.CharField(blank=True, db_column='AW', max_length=254)), - ('ax', models.CharField(blank=True, db_column='AX', max_length=254)), - ('ay', models.CharField(blank=True, db_column='AY', max_length=254)), - ('az', models.CharField(blank=True, db_column='AZ', max_length=254)), - ('ba', models.CharField(blank=True, db_column='BA', max_length=254)), - ('bb', models.CharField(blank=True, db_column='BB', max_length=254)), - ('bc', models.CharField(blank=True, db_column='BC', max_length=254)), - ('bd', models.CharField(blank=True, db_column='BD', max_length=254)), - ('be', models.CharField(blank=True, db_column='BE', max_length=254)), - ('bf', models.CharField(blank=True, db_column='BF', max_length=254)), - ('bg', models.CharField(blank=True, db_column='BG', max_length=254)), - ('bh', models.CharField(blank=True, db_column='BH', max_length=254)), - ('bi', models.CharField(blank=True, db_column='BI', max_length=254)), - ('bj', models.CharField(blank=True, db_column='BJ', max_length=254)), - ('bk', models.CharField(blank=True, db_column='BK', max_length=254)), - ('bl', models.CharField(blank=True, db_column='BL', max_length=254)), - ('bm', models.CharField(blank=True, db_column='BM', max_length=254)), - ('bn', models.CharField(blank=True, db_column='BN', max_length=254)), - ('bo', models.CharField(blank=True, db_column='BO', max_length=254)), - ('bp', models.CharField(blank=True, db_column='BP', max_length=254)), - ('bq', models.CharField(blank=True, db_column='BQ', max_length=254)), - ('br', models.CharField(blank=True, db_column='BR', max_length=254)), - ('bs', models.CharField(blank=True, db_column='BS', max_length=254)), - ('bt', models.CharField(blank=True, db_column='BT', max_length=254)), - ('bu', models.CharField(blank=True, db_column='BU', max_length=254)), - ('bv', models.CharField(blank=True, db_column='BV', max_length=254)), - ('bw', models.CharField(blank=True, db_column='BW', max_length=254)), - ('bx', models.CharField(blank=True, db_column='BX', max_length=254)), - ('by', models.CharField(blank=True, db_column='BY', max_length=254)), - ('bz', models.CharField(blank=True, db_column='BZ', max_length=254)), - ('ca', models.CharField(blank=True, db_column='CA', max_length=254)), - ('cb', models.CharField(blank=True, db_column='CB', max_length=254)), - ('cc', models.CharField(blank=True, db_column='CC', max_length=254)), - ('cd', models.CharField(blank=True, db_column='CD', max_length=254)), - ('ce', models.CharField(blank=True, db_column='CE', max_length=254)), + ('a', models.DateTimeField(auto_now=True)), + ('b', models.CharField(blank=True, max_length=254)), + ('c', models.CharField(blank=True, max_length=254)), + ('d', models.CharField(blank=True, max_length=254)), + ('e', models.CharField(blank=True, max_length=254)), + ('f', models.CharField(blank=True, max_length=254)), + ('g', models.CharField(blank=True, max_length=254)), + ('h', models.CharField(blank=True, max_length=254)), + ('i', models.CharField(blank=True, max_length=254)), + ('j', models.CharField(blank=True, max_length=254)), + ('k', models.CharField(blank=True, max_length=254)), + ('l', models.CharField(blank=True, max_length=254)), + ('m', models.CharField(blank=True, max_length=254)), + ('n', models.CharField(blank=True, max_length=254)), + ('o', models.CharField(blank=True, max_length=254)), + ('p', models.CharField(blank=True, max_length=254)), + ('q', models.CharField(blank=True, max_length=254)), + ('r', models.CharField(blank=True, max_length=254)), + ('s', models.CharField(blank=True, max_length=254)), + ('t', models.CharField(blank=True, max_length=254)), + ('u', models.CharField(blank=True, max_length=254)), + ('v', models.CharField(blank=True, max_length=254)), + ('w', models.CharField(blank=True, max_length=254)), + ('x', models.CharField(blank=True, max_length=254)), + ('y', models.CharField(blank=True, max_length=254)), + ('z', models.CharField(blank=True, max_length=254)), + ('aa', models.CharField(blank=True, max_length=254)), + ('ab', models.CharField(blank=True, max_length=254)), + ('ac', models.CharField(blank=True, max_length=254)), + ('ad', models.CharField(blank=True, max_length=254)), + ('ae', models.CharField(blank=True, max_length=254)), + ('af', models.CharField(blank=True, max_length=254)), + ('ag', models.CharField(blank=True, max_length=254)), + ('ah', models.CharField(blank=True, max_length=254)), + ('ai', models.CharField(blank=True, max_length=254)), + ('aj', models.CharField(blank=True, max_length=254)), + ('ak', models.CharField(blank=True, max_length=254)), + ('al', models.CharField(blank=True, max_length=254)), + ('am', models.CharField(blank=True, max_length=254)), + ('an', models.CharField(blank=True, max_length=254)), + ('ao', models.CharField(blank=True, max_length=254)), + ('ap', models.CharField(blank=True, max_length=254)), + ('aq', models.CharField(blank=True, max_length=254)), + ('ar', models.CharField(blank=True, max_length=254)), + ('as_field', models.CharField(blank=True, max_length=254)), + ('at', models.CharField(blank=True, max_length=254)), + ('au', models.CharField(blank=True, max_length=254)), + ('av', models.CharField(blank=True, max_length=254)), + ('aw', models.CharField(blank=True, max_length=254)), + ('ax', models.CharField(blank=True, max_length=254)), + ('ay', models.CharField(blank=True, max_length=254)), + ('az', models.CharField(blank=True, max_length=254)), + ('ba', models.CharField(blank=True, max_length=254)), + ('bb', models.CharField(blank=True, max_length=254)), + ('bc', models.CharField(blank=True, max_length=254)), + ('bd', models.CharField(blank=True, max_length=254)), + ('be', models.CharField(blank=True, max_length=254)), + ('bf', models.CharField(blank=True, max_length=254)), + ('bg', models.CharField(blank=True, max_length=254)), + ('bh', models.CharField(blank=True, max_length=254)), + ('bi', models.CharField(blank=True, max_length=254)), + ('bj', models.CharField(blank=True, max_length=254)), + ('bk', models.CharField(blank=True, max_length=254)), + ('bl', models.CharField(blank=True, max_length=254)), + ('bm', models.CharField(blank=True, max_length=254)), + ('bn', models.CharField(blank=True, max_length=254)), + ('bo', models.CharField(blank=True, max_length=254)), + ('bp', models.CharField(blank=True, max_length=254)), + ('bq', models.CharField(blank=True, max_length=254)), + ('br', models.CharField(blank=True, max_length=254)), + ('bs', models.CharField(blank=True, max_length=254)), + ('bt', models.CharField(blank=True, max_length=254)), + ('bu', models.CharField(blank=True, max_length=254)), + ('bv', models.CharField(blank=True, max_length=254)), + ('bw', models.CharField(blank=True, max_length=254)), + ('bx', models.CharField(blank=True, max_length=254)), + ('by', models.CharField(blank=True, max_length=254)), + ('bz', models.CharField(blank=True, max_length=254)), + ('ca', models.CharField(blank=True, max_length=254)), + ('cb', models.CharField(blank=True, max_length=254)), + ('cc', models.CharField(blank=True, max_length=254)), + ('cd', models.CharField(blank=True, max_length=254)), + ('ce', models.CharField(blank=True, max_length=254)), ], options={ 'db_table': 'surveys_ecosystem2020', diff --git a/surveys/migrations/0002_auto_20200508_0056.py b/surveys/migrations/0002_auto_20200508_0056.py new file mode 100644 index 0000000..b42e7ec --- /dev/null +++ b/surveys/migrations/0002_auto_20200508_0056.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.3 on 2020-05-08 00:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('surveys', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='ecosystem2020', + name='bg', + field=models.TextField(blank=True), + ), + ] diff --git a/surveys/models.py b/surveys/models.py index 278018e..258d311 100644 --- a/surveys/models.py +++ b/surveys/models.py @@ -11,89 +11,89 @@ class Meta: class Ecosystem2020(models.Model): - a = models.DateTimeField(db_column='A', auto_now=True) - b = models.CharField(db_column='B', max_length=254, blank=True,) - c = models.CharField(db_column='C', max_length=254, blank=True,) - d = models.CharField(db_column='D', max_length=254, blank=True,) - e = models.CharField(db_column='E', max_length=254, blank=True,) - f = models.CharField(db_column='F', max_length=254, blank=True,) - g = models.CharField(db_column='G', max_length=254, blank=True,) - h = models.CharField(db_column='H', max_length=254, blank=True,) - i = models.CharField(db_column='I', max_length=254, blank=True,) - j = models.CharField(db_column='J', max_length=254, blank=True,) - k = models.CharField(db_column='K', max_length=254, blank=True,) - l = models.CharField(db_column='L', max_length=254, blank=True,) - m = models.CharField(db_column='M', max_length=254, blank=True,) - n = models.CharField(db_column='N', max_length=254, blank=True,) - o = models.CharField(db_column='O', max_length=254, blank=True,) - p = models.CharField(db_column='P', max_length=254, blank=True,) - q = models.CharField(db_column='Q', max_length=254, blank=True,) - r = models.CharField(db_column='R', max_length=254, blank=True,) - s = models.CharField(db_column='S', max_length=254, blank=True,) - t = models.CharField(db_column='T', max_length=254, blank=True,) - u = models.CharField(db_column='U', max_length=254, blank=True,) - v = models.CharField(db_column='V', max_length=254, blank=True,) - w = models.CharField(db_column='W', max_length=254, blank=True,) - x = models.CharField(db_column='X', max_length=254, blank=True,) - y = models.CharField(db_column='Y', max_length=254, blank=True,) - z = models.CharField(db_column='Z', max_length=254, blank=True,) - aa = models.CharField(db_column='AA', max_length=254, blank=True,) - ab = models.CharField(db_column='AB', max_length=254, blank=True,) - ac = models.CharField(db_column='AC', max_length=254, blank=True,) - ad = models.CharField(db_column='AD', max_length=254, blank=True,) - ae = models.CharField(db_column='AE', max_length=254, blank=True,) - af = models.CharField(db_column='AF', max_length=254, blank=True,) - ag = models.CharField(db_column='AG', max_length=254, blank=True,) - ah = models.CharField(db_column='AH', max_length=254, blank=True,) - ai = models.CharField(db_column='AI', max_length=254, blank=True,) - aj = models.CharField(db_column='AJ', max_length=254, blank=True,) - ak = models.CharField(db_column='AK', max_length=254, blank=True,) - al = models.CharField(db_column='AL', max_length=254, blank=True,) - am = models.CharField(db_column='AM', max_length=254, blank=True,) - an = models.CharField(db_column='AN', max_length=254, blank=True,) - ao = models.CharField(db_column='AO', max_length=254, blank=True,) - ap = models.CharField(db_column='AP', max_length=254, blank=True,) - aq = models.CharField(db_column='AQ', max_length=254, blank=True,) - ar = models.CharField(db_column='AR', max_length=254, blank=True,) - as_field = models.CharField(db_column='AS', max_length=254, blank=True,) # Field renamed because it was a Python reserved word. - at = models.CharField(db_column='AT', max_length=254, blank=True,) - au = models.CharField(db_column='AU', max_length=254, blank=True,) - av = models.CharField(db_column='AV', max_length=254, blank=True,) - aw = models.CharField(db_column='AW', max_length=254, blank=True,) - ax = models.CharField(db_column='AX', max_length=254, blank=True,) - ay = models.CharField(db_column='AY', max_length=254, blank=True,) - az = models.CharField(db_column='AZ', max_length=254, blank=True,) - ba = models.CharField(db_column='BA', max_length=254, blank=True,) - bb = models.CharField(db_column='BB', max_length=254, blank=True,) - bc = models.CharField(db_column='BC', max_length=254, blank=True,) - bd = models.CharField(db_column='BD', max_length=254, blank=True,) - be = models.CharField(db_column='BE', max_length=254, blank=True,) - bf = models.CharField(db_column='BF', max_length=254, blank=True,) - bg = models.CharField(db_column='BG', max_length=254, blank=True,) - bh = models.CharField(db_column='BH', max_length=254, blank=True,) - bi = models.CharField(db_column='BI', max_length=254, blank=True,) - bj = models.CharField(db_column='BJ', max_length=254, blank=True,) - bk = models.CharField(db_column='BK', max_length=254, blank=True,) - bl = models.CharField(db_column='BL', max_length=254, blank=True,) - bm = models.CharField(db_column='BM', max_length=254, blank=True,) - bn = models.CharField(db_column='BN', max_length=254, blank=True,) - bo = models.CharField(db_column='BO', max_length=254, blank=True,) - bp = models.CharField(db_column='BP', max_length=254, blank=True,) - bq = models.CharField(db_column='BQ', max_length=254, blank=True,) - br = models.CharField(db_column='BR', max_length=254, blank=True,) - bs = models.CharField(db_column='BS', max_length=254, blank=True,) - bt = models.CharField(db_column='BT', max_length=254, blank=True,) - bu = models.CharField(db_column='BU', max_length=254, blank=True,) - bv = models.CharField(db_column='BV', max_length=254, blank=True,) - bw = models.CharField(db_column='BW', max_length=254, blank=True,) - bx = models.CharField(db_column='BX', max_length=254, blank=True,) - by = models.CharField(db_column='BY', max_length=254, blank=True,) - bz = models.CharField(db_column='BZ', max_length=254, blank=True,) - ca = models.CharField(db_column='CA', max_length=254, blank=True,) - cb = models.CharField(db_column='CB', max_length=254, blank=True,) - cc = models.CharField(db_column='CC', max_length=254, blank=True,) - cd = models.CharField(db_column='CD', max_length=254, blank=True,) - ce = models.CharField(db_column='CE', max_length=254, blank=True,) + a = models.DateTimeField(auto_now=True) + b = models.CharField(max_length=254, blank=True,) + c = models.CharField(max_length=254, blank=True,) + d = models.CharField(max_length=254, blank=True,) + e = models.CharField(max_length=254, blank=True,) + f = models.CharField(max_length=254, blank=True,) + g = models.CharField(max_length=254, blank=True,) + h = models.CharField(max_length=254, blank=True,) + i = models.CharField(max_length=254, blank=True,) + j = models.CharField(max_length=254, blank=True,) + k = models.CharField(max_length=254, blank=True,) + l = models.CharField(max_length=254, blank=True,) + m = models.CharField(max_length=254, blank=True,) + n = models.CharField(max_length=254, blank=True,) + o = models.CharField(max_length=254, blank=True,) + p = models.CharField(max_length=254, blank=True,) + q = models.CharField(max_length=254, blank=True,) + r = models.CharField(max_length=254, blank=True,) + s = models.CharField(max_length=254, blank=True,) + t = models.CharField(max_length=254, blank=True,) + u = models.CharField(max_length=254, blank=True,) + v = models.CharField(max_length=254, blank=True,) + w = models.CharField(max_length=254, blank=True,) + x = models.CharField(max_length=254, blank=True,) + y = models.CharField(max_length=254, blank=True,) + z = models.CharField(max_length=254, blank=True,) + aa = models.CharField(max_length=254, blank=True,) + ab = models.CharField(max_length=254, blank=True,) + ac = models.CharField(max_length=254, blank=True,) + ad = models.CharField(max_length=254, blank=True,) + ae = models.CharField(max_length=254, blank=True,) + af = models.CharField(max_length=254, blank=True,) + ag = models.CharField(max_length=254, blank=True,) + ah = models.CharField(max_length=254, blank=True,) + ai = models.CharField(max_length=254, blank=True,) + aj = models.CharField(max_length=254, blank=True,) + ak = models.CharField(max_length=254, blank=True,) + al = models.CharField(max_length=254, blank=True,) + am = models.CharField(max_length=254, blank=True,) + an = models.CharField(max_length=254, blank=True,) + ao = models.CharField(max_length=254, blank=True,) + ap = models.CharField(max_length=254, blank=True,) + aq = models.CharField(max_length=254, blank=True,) + ar = models.CharField(max_length=254, blank=True,) + as_field = models.CharField(max_length=254, blank=True,) # Field renamed because it was a Python reserved word. + at = models.CharField(max_length=254, blank=True,) + au = models.CharField(max_length=254, blank=True,) + av = models.CharField(max_length=254, blank=True,) + aw = models.CharField(max_length=254, blank=True,) + ax = models.CharField(max_length=254, blank=True,) + ay = models.CharField(max_length=254, blank=True,) + az = models.CharField(max_length=254, blank=True,) + ba = models.CharField(max_length=254, blank=True,) + bb = models.CharField(max_length=254, blank=True,) + bc = models.CharField(max_length=254, blank=True,) + bd = models.CharField(max_length=254, blank=True,) + be = models.CharField(max_length=254, blank=True,) + bf = models.CharField(max_length=254, blank=True,) + bg = models.TextField(blank=True,) + bh = models.CharField(max_length=254, blank=True,) + bi = models.CharField(max_length=254, blank=True,) + bj = models.CharField(max_length=254, blank=True,) + bk = models.CharField(max_length=254, blank=True,) + bl = models.CharField(max_length=254, blank=True,) + bm = models.CharField(max_length=254, blank=True,) + bn = models.CharField(max_length=254, blank=True,) + bo = models.CharField(max_length=254, blank=True,) + bp = models.CharField(max_length=254, blank=True,) + bq = models.CharField(max_length=254, blank=True,) + br = models.CharField(max_length=254, blank=True,) + bs = models.CharField(max_length=254, blank=True,) + bt = models.CharField(max_length=254, blank=True,) + bu = models.CharField(max_length=254, blank=True,) + bv = models.CharField(max_length=254, blank=True,) + bw = models.CharField(max_length=254, blank=True,) + bx = models.CharField(max_length=254, blank=True,) + by = models.CharField(max_length=254, blank=True,) + bz = models.CharField(max_length=254, blank=True,) + ca = models.CharField(max_length=254, blank=True,) + cb = models.CharField(max_length=254, blank=True,) + cc = models.CharField(max_length=254, blank=True,) + cd = models.CharField(max_length=254, blank=True,) + ce = models.CharField(max_length=254, blank=True,) class Meta: managed = True diff --git a/surveys/static/surveys/css/surveys.css b/surveys/static/surveys/css/surveys.css index d2671cc..9c9e45b 100644 --- a/surveys/static/surveys/css/surveys.css +++ b/surveys/static/surveys/css/surveys.css @@ -8,7 +8,7 @@ select.multiple { } /* Identifying required fields in forms. */ -.required { +span.required { color: red; }