You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

97 lines
6.6 KiB

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
import jsonfield.fields
import djangocms_forms.fields
import django.db.models.deletion
import cms.models.fields
from django.conf import settings
class Migration(migrations.Migration):
dependencies = [
('cms', '__first__'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Form',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(verbose_name='Name', max_length=255, editable=False, db_index=True)),
],
options={
'verbose_name': 'Form',
'verbose_name_plural': 'Forms',
},
bases=(models.Model,),
),
migrations.CreateModel(
name='FormDefinition',
fields=[
('cmsplugin_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='cms.CMSPlugin')),
('name', models.CharField(max_length=255, verbose_name='Form Name')),
('title', models.CharField(max_length=150, verbose_name='Title', blank=True)),
('description', models.TextField(verbose_name='Description', blank=True)),
('submit_btn_txt', models.CharField(default='Submit', help_text="Text for the Submit Button. The default is 'Submit'", max_length=100, verbose_name='Submit Button Text')),
('post_submit_msg', models.TextField(default='Thank You', help_text='Display this message to users after they submit your form.', verbose_name='Post Submit Message', blank=True)),
('success_redirect', models.BooleanField(default=False, help_text='HTTP redirect after successful submission', verbose_name='Redirect?')),
('external_redirect', models.URLField(help_text='e.g. http://example.com/thank-you', verbose_name='External URL', blank=True)),
('email_to', models.CharField(help_text='Separate several addresses with a comma.', max_length=255, verbose_name='Send form data to e-mail address', blank=True)),
('email_from', models.EmailField(max_length=255, verbose_name='Sender Email Address', blank=True)),
('email_subject', models.CharField(max_length=255, verbose_name='Email Subject', blank=True)),
('email_uploaded_files', models.BooleanField(default=True, verbose_name='Send uploaded files as email attachments')),
('save_data', models.BooleanField(default=True, help_text='Logs all form submissions to the database.', verbose_name='Save to database')),
('spam_protection', models.SmallIntegerField(default=0, verbose_name='Spam Protection', choices=[(0, 'None'), (1, 'Honeypot'), (2, 'ReCAPTCHA')])),
('form_template', models.CharField(default=b'djangocms_forms/form_template/default.html', max_length=150, verbose_name='Form Template', blank=True, choices=[(b'djangocms_forms/form_template/default.html', 'Default')])),
('page_redirect', cms.models.fields.PageField(on_delete=django.db.models.deletion.SET_NULL, blank=True, to='cms.Page', help_text='A page has priority over an external URL', null=True, verbose_name='Page URL')),
('plugin_reference', djangocms_forms.fields.PluginReferenceField(related_name='plugin', on_delete=django.db.models.deletion.SET_NULL, editable=False, to='djangocms_forms.Form', null=True)),
],
options={
'verbose_name': 'Form',
'verbose_name_plural': 'Forms',
},
bases=('cms.cmsplugin',),
),
migrations.CreateModel(
name='FormField',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('field_type', models.CharField(default=b'text', max_length=100, verbose_name='Field Type', choices=[(b'text', 'Text'), (b'textarea', 'Text Area'), (b'email', 'Email'), (b'number', 'Number'), (b'phone', 'Phone'), (b'url', 'URL'), (b'checkbox', 'Checkbox'), (b'checkbox_multiple', 'Multi Checkbox'), (b'select', 'Drop down'), (b'radio', 'Radio'), (b'file', 'File Upload'), (b'date', 'Date'), (b'time', 'Time'), (b'password', 'Password'), (b'hidden', 'Hidden')])),
('label', models.CharField(max_length=255, verbose_name='name')),
('placeholder_text', models.CharField(max_length=100, verbose_name='Placeholder Text', blank=True)),
('required', models.BooleanField(default=True, verbose_name='Required')),
('help_text', models.TextField(help_text='A description / instructions for this field.', verbose_name='Description', blank=True)),
('initial', models.CharField(max_length=255, verbose_name='Default Value', blank=True)),
('choice_values', models.TextField(help_text='Enter options one per line. For "File Upload" field type, enter allowed filetype (e.g .pdf) one per line.', verbose_name='Choices', blank=True)),
('position', models.PositiveIntegerField(null=True, verbose_name='Position', blank=True)),
('form', models.ForeignKey(related_name='fields', to='djangocms_forms.FormDefinition')),
],
options={
'ordering': ('position',),
'verbose_name': 'field',
'verbose_name_plural': 'fields',
},
bases=(models.Model,),
),
migrations.CreateModel(
name='FormSubmission',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('creation_date', models.DateTimeField(auto_now=True, verbose_name='Date')),
('ip', models.GenericIPAddressField(null=True, verbose_name=b'IP', blank=True)),
('form_data', jsonfield.fields.JSONField(verbose_name='Form Data')),
('created_by', models.ForeignKey(editable=False, to=settings.AUTH_USER_MODEL, null=True, verbose_name='User')),
('plugin', models.ForeignKey(related_name='submissions', editable=False, to='djangocms_forms.Form', verbose_name='Form')),
],
options={
'ordering': ('-creation_date',),
'verbose_name': 'Form Submission',
'verbose_name_plural': 'Form Submissions',
},
bases=(models.Model,),
),
]