validate value counts in metadata + fix multiple values
[redakcja.git] / apps / forms_builder / forms / migrations / 0001_initial.py
1 # -*- coding: utf-8 -*-
2 from __future__ import unicode_literals
3
4 from django.db import models, migrations
5
6 from forms_builder.forms import settings
7
8
9 class Migration(migrations.Migration):
10
11     dependencies = [
12         ('sites', '0001_initial'),
13     ]
14
15     operations = [
16         migrations.CreateModel(
17             name='Field',
18             fields=[
19                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
20                 ('label', models.CharField(max_length=200, verbose_name='Label')),
21                 ('slug', models.SlugField(default='', max_length=100, verbose_name='Slug', blank=True)),
22                 ('field_type', models.IntegerField(verbose_name='Type', choices=[(1, 'Single line text'), (2, 'Multi line text'), (3, 'Email'), (13, 'Number'), (14, 'URL'), (4, 'Check box'), (5, 'Check boxes'), (6, 'Drop down'), (7, 'Multi select'), (8, 'Radio buttons'), (9, 'File upload'), (10, 'Date'), (11, 'Date/time'), (15, 'Date of birth'), (12, 'Hidden')])),
23                 ('required', models.BooleanField(default=True, verbose_name='Required')),
24                 ('visible', models.BooleanField(default=True, verbose_name='Visible')),
25                 ('choices', models.CharField(help_text='Comma separated options where applicable. If an option itself contains commas, surround the option starting with the `character and ending with the ` character.', max_length=1000, verbose_name='Choices', blank=True)),
26                 ('default', models.CharField(max_length=2000, verbose_name='Default value', blank=True)),
27                 ('placeholder_text', models.CharField(max_length=100, null=True, verbose_name='Placeholder Text', blank=True)),
28                 ('help_text', models.CharField(max_length=100, verbose_name='Help text', blank=True)),
29                 ('order', models.IntegerField(null=True, verbose_name='Order', blank=True)),
30             ],
31             options={
32                 'ordering': ('order',),
33                 'abstract': False,
34                 'verbose_name': 'Field',
35                 'verbose_name_plural': 'Fields',
36             },
37             bases=(models.Model,),
38         ),
39         migrations.CreateModel(
40             name='FieldEntry',
41             fields=[
42                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
43                 ('field_id', models.IntegerField()),
44                 ('value', models.CharField(max_length=2000, null=True)),
45             ],
46             options={
47                 'abstract': False,
48                 'verbose_name': 'Form field entry',
49                 'verbose_name_plural': 'Form field entries',
50             },
51             bases=(models.Model,),
52         ),
53         migrations.CreateModel(
54             name='Form',
55             fields=[
56                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
57                 ('title', models.CharField(max_length=50, verbose_name='Title')),
58                 ('slug', models.SlugField(verbose_name='Slug', unique=True, max_length=100, editable=False)),
59                 ('intro', models.TextField(verbose_name='Intro', blank=True)),
60                 ('button_text', models.CharField(default='Submit', max_length=50, verbose_name='Button text')),
61                 ('response', models.TextField(verbose_name='Response', blank=True)),
62                 ('redirect_url', models.CharField(help_text='An alternate URL to redirect to after form submission', max_length=200, null=True, verbose_name='Redirect url', blank=True)),
63                 ('status', models.IntegerField(default=2, verbose_name='Status', choices=[(1, 'Draft'), (2, 'Published')])),
64                 ('publish_date', models.DateTimeField(help_text="With published selected, won't be shown until this time", null=True, verbose_name='Published from', blank=True)),
65                 ('expiry_date', models.DateTimeField(help_text="With published selected, won't be shown after this time", null=True, verbose_name='Expires on', blank=True)),
66                 ('login_required', models.BooleanField(default=False, help_text='If checked, only logged in users can view the form', verbose_name='Login required')),
67                 ('send_email', models.BooleanField(default=True, help_text='If checked, the person entering the form will be sent an email', verbose_name='Send email')),
68                 ('email_from', models.EmailField(help_text='The address the email will be sent from', max_length=75, verbose_name='From address', blank=True)),
69                 ('email_copies', models.CharField(help_text='One or more email addresses, separated by commas', max_length=200, verbose_name='Send copies to', blank=True)),
70                 ('email_subject', models.CharField(max_length=200, verbose_name='Subject', blank=True)),
71                 ('email_message', models.TextField(verbose_name='Message', blank=True)),
72                 ('sites', models.ManyToManyField(default=[settings.SITE_ID], related_name='forms_form_forms', to='sites.Site')),
73             ],
74             options={
75                 'abstract': False,
76                 'verbose_name': 'Form',
77                 'verbose_name_plural': 'Forms',
78             },
79             bases=(models.Model,),
80         ),
81         migrations.CreateModel(
82             name='FormEntry',
83             fields=[
84                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
85                 ('entry_time', models.DateTimeField(verbose_name='Date/time')),
86                 ('form', models.ForeignKey(related_name='entries', to='forms.Form')),
87             ],
88             options={
89                 'abstract': False,
90                 'verbose_name': 'Form entry',
91                 'verbose_name_plural': 'Form entries',
92             },
93             bases=(models.Model,),
94         ),
95         migrations.AddField(
96             model_name='fieldentry',
97             name='entry',
98             field=models.ForeignKey(related_name='fields', to='forms.FormEntry'),
99             preserve_default=True,
100         ),
101         migrations.AddField(
102             model_name='field',
103             name='form',
104             field=models.ForeignKey(related_name='fields', to='forms.Form'),
105             preserve_default=True,
106         ),
107     ]