class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='AnnouncementPost',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('title', models.CharField(max_length=220)),
                ('body', models.TextField(max_length=60000)),
                ('featured_image',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=dashboard.models.upload_location)),
                ('extra_image_one',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=dashboard.models.upload_location)),
                ('extra_image_two',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=dashboard.models.upload_location)),
                ('extra_image_three',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=dashboard.models.upload_location)),
                ('date_published',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='date published')),
                ('date_updated',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='date updated')),
                ('is_approved', models.BooleanField(default=True)),
                ('slug', models.SlugField(blank=True, unique=True)),
                ('author',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
                ('viewed_by',
                 models.ManyToManyField(
                     related_name='announcement_post_viewed_by',
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
Example #2
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('contenttypes', '0002_remove_content_type_name'),
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     unique=True,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='Email')),
                ('phone_number',
                 models.CharField(
                     blank=True,
                     help_text=
                     'User Phone Number, example: 09123456790 (Optional)',
                     max_length=11,
                     null=True,
                     unique=True,
                     validators=[dashboard.models.phone_number_validator],
                     verbose_name='Phone Number')),
                ('is_premium',
                 models.BooleanField(default=False, verbose_name='Premium')),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Action',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('type',
                 models.CharField(choices=[('link created', 'Link Created'),
                                           ('link updated', 'Link Updated'),
                                           ('link reported', 'Link Reported'),
                                           ('contact_us', 'Contact Us')],
                                  max_length=20,
                                  verbose_name='Type of Action')),
                ('is_read', models.BooleanField(default=False)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('object_id',
                 models.PositiveIntegerField(db_index=True,
                                             verbose_name='object id')),
                ('content_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contenttypes.ContentType',
                                   verbose_name='content type')),
            ],
            options={
                'ordering': ('-updated', ),
            },
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('sites', '0002_alter_domain_unique'),
        ('auth', '0008_alter_user_username_max_length'),
        ('contenttypes', '0002_remove_content_type_name'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('email',
                 models.EmailField(max_length=255,
                                   unique=True,
                                   verbose_name='Email Address')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=50,
                                  verbose_name='First Name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=50,
                                  verbose_name='Last Name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('created_by',
                 models.ForeignKey(
                     blank=True,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     to=settings.AUTH_USER_MODEL)),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name_plural': 'users',
                'db_table': 'user',
                'verbose_name': 'user',
            },
            managers=[
                ('objects', dashboard.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='Page',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('page_name',
                 models.CharField(choices=[('index', 'Home'),
                                           ('privacy', 'Privacy'),
                                           ('terms', 'Terms')],
                                  max_length=100)),
                ('page_nav_name',
                 models.CharField(blank=True, max_length=500, null=True)),
                ('page_type',
                 models.CharField(choices=[('landing_page',
                                            'Static Landing Page')],
                                  default='landing_page',
                                  max_length=100)),
                ('title', models.TextField(blank=True, null=True)),
                ('sub_title', models.TextField(blank=True, null=True)),
                ('meta_description', models.TextField(blank=True, null=True)),
                ('meta_keywords', models.TextField(blank=True, null=True)),
                ('published', models.BooleanField(default=True)),
                ('date_published', models.DateTimeField(blank=True,
                                                        null=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('date_edited', models.DateTimeField(auto_now=True)),
            ],
            options={
                'ordering': ['site_info__site__id', 'page_name'],
            },
        ),
        migrations.CreateModel(
            name='PageItem',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('object_id', models.PositiveIntegerField()),
                ('configuration', models.TextField(blank=True, null=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('date_edited', models.DateTimeField(auto_now=True)),
                ('content_type',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='contenttypes.ContentType')),
                ('page',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='dashboard.Page')),
            ],
        ),
        migrations.CreateModel(
            name='SiteFormDataModel',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('domain_name', models.CharField(max_length=150)),
                ('zipcode', models.CharField(db_index=True, max_length=5)),
                ('DOB', models.DateField(verbose_name='Date of Birth')),
                ('gender',
                 models.CharField(choices=[('male', 'male'),
                                           ('female', 'female')],
                                  max_length=50)),
                ('type',
                 models.CharField(choices=[('Self', 'Self'),
                                           ('Family', 'Family')],
                                  max_length=50)),
                ('house_income',
                 models.DecimalField(decimal_places=2, max_digits=20)),
                ('phone', models.TextField()),
                ('firstname',
                 models.CharField(max_length=500, verbose_name='First Name')),
                ('lastname',
                 models.CharField(max_length=500, verbose_name='Last Name')),
                ('email', models.EmailField(db_index=True, max_length=254)),
                ('CSD', models.DateField(verbose_name='Coverage Start Date')),
                ('created', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='SiteInfo',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('site_title', models.TextField(blank=True, null=True)),
                ('title_separator',
                 models.CharField(choices=[('|', '|'), ('-', '-')],
                                  default='|',
                                  max_length=10)),
                ('phone_number',
                 models.CharField(blank=True, max_length=20, null=True)),
                ('email_id',
                 models.EmailField(blank=True, max_length=254, null=True)),
                ('main_heading', models.TextField(blank=True, null=True)),
                ('main_heading_sub', models.TextField(blank=True, null=True)),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('date_edited', models.DateTimeField(auto_now=True)),
                ('published', models.BooleanField(default=True)),
                ('site',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='sites.Site',
                                   unique=True)),
            ],
            options={
                'ordering': ['site__id'],
                'verbose_name': 'Site Info',
            },
        ),
        migrations.AddField(
            model_name='page',
            name='site_info',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='dashboard.SiteInfo'),
        ),
        migrations.AlterUniqueTogether(
            name='pageitem',
            unique_together=set([('page', 'object_id')]),
        ),
        migrations.AlterUniqueTogether(
            name='page',
            unique_together=set([('site_info', 'page_name')]),
        ),
    ]
Example #4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     unique=True,
                     validators=[
                         django.contrib.auth.validators.ASCIIUsernameValidator(
                         )
                     ],
                     verbose_name='username')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='last name')),
                ('email',
                 models.EmailField(blank=True,
                                   max_length=254,
                                   verbose_name='email address')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('user_type',
                 models.PositiveSmallIntegerField(choices=[(1, 'Private User'),
                                                           (2, 'Company User'),
                                                           (3, 'Employee User')
                                                           ],
                                                  editable=False,
                                                  null=True)),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'abstract': False,
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
            },
            managers=[
                ('objects', django.contrib.auth.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='AudioFile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('upload_datetime', models.DateTimeField(auto_now_add=True)),
                ('file',
                 models.FileField(
                     editable=False,
                     upload_to=dashboard.models._get_relative_file_path)),
                ('is_public', models.BooleanField(default=False)),
                ('name', models.CharField(max_length=256)),
                ('description', models.CharField(blank=True, max_length=500)),
                ('language_spoken',
                 models.CharField(choices=[
                     ('af', 'Afrikaans'), ('ar', 'Arabic'),
                     ('ast', 'Asturian'), ('az', 'Azerbaijani'),
                     ('bg', 'Bulgarian'), ('be', 'Belarusian'),
                     ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'),
                     ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'),
                     ('da', 'Danish'), ('de', 'German'),
                     ('dsb', 'Lower Sorbian'), ('el', 'Greek'),
                     ('en', 'English'), ('en-au', 'Australian English'),
                     ('en-gb', 'British English'), ('eo', 'Esperanto'),
                     ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'),
                     ('es-co', 'Colombian Spanish'),
                     ('es-mx', 'Mexican Spanish'),
                     ('es-ni', 'Nicaraguan Spanish'),
                     ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'),
                     ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'),
                     ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'),
                     ('gd', 'Scottish Gaelic'), ('gl', 'Galician'),
                     ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'),
                     ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'),
                     ('ia', 'Interlingua'),
                     ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'),
                     ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'),
                     ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'),
                     ('ko', 'Korean'), ('lb', 'Luxembourgish'),
                     ('lt', 'Lithuanian'), ('lv', 'Latvian'),
                     ('mk', 'Macedonian'), ('ml', 'Malayalam'),
                     ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'),
                     ('nb', 'Norwegian Bokm\xe5l'), ('ne', 'Nepali'),
                     ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'),
                     ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'),
                     ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'),
                     ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'),
                     ('sl', 'Slovenian'), ('sq', 'Albanian'),
                     ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'),
                     ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'),
                     ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'),
                     ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'),
                     ('ur', 'Urdu'), ('vi', 'Vietnamese'),
                     ('zh-hans', 'Simplified Chinese'),
                     ('zh-hant', 'Traditional Chinese')
                 ],
                                  editable=False,
                                  max_length=5)),
                ('duration', models.DurationField(editable=False)),
                ('uploader',
                 models.ForeignKey(editable=False,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   related_name='files',
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Company',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
                ('vat_no',
                 models.CharField(
                     max_length=30,
                     unique=True,
                     validators=[vatno_validator.validators.VATNoValidator()
                                 ])),
            ],
        ),
        migrations.CreateModel(
            name='CompanyUser',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('phone_number',
                 phonenumber_field.modelfields.PhoneNumberField(
                     max_length=128)),
                ('company',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='contact_person',
                     to='dashboard.Company')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='company_user',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='CreditsPacketOffer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('date_start', models.DateField(default=datetime.date.today)),
                ('date_end', models.DateField(blank=True, null=True)),
                ('minutes_per_credit',
                 models.PositiveSmallIntegerField(validators=[
                     django.core.validators.MinValueValidator(
                         5, 'Cannot set minutes per credit value less than 5'),
                     django.core.validators.MaxValueValidator(
                         60,
                         'Cannot set minutes per credit value greater than 60')
                 ])),
                ('cost_per_credit', models.FloatField()),
            ],
        ),
        migrations.CreateModel(
            name='CreditsPacketPurchase',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('datetime', models.DateTimeField(auto_now_add=True)),
                ('expiration_date', models.DateField()),
                ('credits_purchased',
                 models.PositiveSmallIntegerField(validators=[
                     django.core.validators.MinValueValidator(
                         1, 'You cannot buy less than 1 credit')
                 ])),
                ('credits_remaining', models.PositiveSmallIntegerField()),
                ('customer',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='purchases',
                     to=settings.AUTH_USER_MODEL)),
                ('offer',
                 models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,
                                   related_name='purchases',
                                   to='dashboard.CreditsPacketOffer')),
            ],
        ),
        migrations.CreateModel(
            name='EmployeeUser',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('company',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='employees',
                                   to='dashboard.Company')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='employee_user',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='PrivateUser',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='private_user',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Transcription',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('offset', models.DurationField()),
                ('confidence', models.FloatField()),
                ('text', models.TextField(blank=True)),
                ('file',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='transcriptions',
                                   to='dashboard.AudioFile')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Address',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('street',
                 models.CharField(default='38 Windsor Street', max_length=85)),
                ('zip', models.CharField(default='06001', max_length=12)),
            ],
        ),
        migrations.CreateModel(
            name='DeviceModels',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='generic device', max_length=50)),
                ('max_life', models.PositiveIntegerField()),
                ('warranty_days', models.PositiveIntegerField()),
                ('image',
                 models.ImageField(blank=True,
                                   default='default.jpg',
                                   null=True,
                                   upload_to='device_catalogue')),
                ('energy_rating',
                 models.PositiveIntegerField(validators=[
                     django.core.validators.MinValueValidator(1),
                     django.core.validators.MaxValueValidator(10)
                 ])),
                ('safety_rating',
                 models.IntegerField(validators=[
                     django.core.validators.MinValueValidator(1),
                     django.core.validators.MaxValueValidator(10)
                 ])),
                ('current_consumption', models.IntegerField()),
                ('model_number', models.CharField(max_length=50)),
                ('serial_number', models.CharField(max_length=50)),
            ],
        ),
        migrations.CreateModel(
            name='Home',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('address',
                 models.ForeignKey(default=dashboard.models.Address(),
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='dashboard.Address')),
                ('owner',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='SubscribersList',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='my coffee machine',
                                  max_length=150)),
                ('email', models.EmailField(max_length=254)),
            ],
        ),
        migrations.CreateModel(
            name='ValueStream',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('description',
                 models.CharField(default='value stream description',
                                  max_length=50)),
                ('property_name',
                 models.CharField(default='default property name',
                                  max_length=25)),
                ('value', models.FloatField(default=0.0)),
                ('ts', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='Thing',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('description',
                 models.CharField(default='my smart coffee machine',
                                  max_length=120)),
                ('purchase_date', models.DateField()),
                ('life_used', models.IntegerField()),
                ('device_model_info',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='dashboard.DeviceModels')),
                ('installed_home_id',
                 models.ManyToManyField(to='dashboard.Home')),
                ('owner',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to=settings.AUTH_USER_MODEL)),
                ('value_stream_id',
                 models.ManyToManyField(to='dashboard.ValueStream')),
            ],
        ),
        migrations.CreateModel(
            name='ServiceProvider',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='generic manufacturer',
                                  max_length=150)),
                ('phone_number', models.CharField(default='0000',
                                                  max_length=14)),
                ('address',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='dashboard.Address')),
                ('type_of_device_handled',
                 models.ManyToManyField(to='dashboard.DeviceModels')),
            ],
        ),
        migrations.CreateModel(
            name='ServiceDetails',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('receipt_email', models.EmailField(max_length=254)),
                ('date_of_service',
                 models.DateField(default=django.utils.timezone.now)),
                ('remarks', models.TextField(default='Service completed')),
                ('service_provider',
                 models.ForeignKey(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='dashboard.ServiceProvider')),
                ('thing',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to='dashboard.Thing')),
            ],
        ),
        migrations.CreateModel(
            name='Seller',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='generic seller', max_length=150)),
                ('phone_number', models.CharField(default='007',
                                                  max_length=14)),
                ('address',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.PROTECT,
                     to='dashboard.Address')),
                ('type_of_device_sold',
                 models.ManyToManyField(to='dashboard.DeviceModels')),
            ],
        ),
        migrations.CreateModel(
            name='Manufacturer',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(default='generic manufacturer',
                                  max_length=50)),
                ('is_certified', models.BooleanField(default=True)),
                ('phone_number', models.CharField(default='007',
                                                  max_length=14)),
                ('address',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.DO_NOTHING,
                     to='dashboard.Address')),
            ],
        ),
        migrations.AddField(
            model_name='devicemodels',
            name='mfg',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.DO_NOTHING,
                to='dashboard.Manufacturer'),
        ),
    ]
Example #6
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name='Attachment',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('file',
                 models.FileField(
                     blank=True,
                     upload_to=dashboard.models.attachment_directory_path)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='Group',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('title', models.CharField(blank=True, max_length=20)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='Message',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('content', models.TextField(blank=True, max_length=2000)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
        ),
        migrations.CreateModel(
            name='MessageState',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('read', models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name='MessageThread',
            fields=[
                ('id',
                 models.BigAutoField(auto_created=True,
                                     primary_key=True,
                                     serialize=False,
                                     verbose_name='ID')),
                ('content', models.TextField(blank=True, max_length=2000)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('attachments',
                 models.ManyToManyField(to='dashboard.Attachment')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(default='default', max_length=100)),
                ('description', models.TextField(default='')),
                ('version', models.CharField(default='1', max_length=100)),
                ('arch', models.CharField(default='x86-64', max_length=100)),
                ('type', models.CharField(default='prod', max_length=100)),
                ('created_date', models.DateTimeField(auto_now_add=True)),
                ('modified_date', models.DateTimeField(auto_now=True)),
                ('props',
                 django.contrib.postgres.fields.jsonb.JSONField(
                     blank=True,
                     default=dashboard.models.get_default_data,
                     null=True)),
            ],
            options={
                'ordering': ('name', 'version'),
            },
        ),
        migrations.CreateModel(
            name='Run',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('run_start',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('run_stop',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('run_duration',
                 models.CharField(default='d:0 h:0 m:0: s:0', max_length=500)),
                ('jenkins',
                 models.CharField(
                     default=
                     'https://pit-stg-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/Carbon/view/POC/job/MPQE-Runner/14/',
                     max_length=500)),
                ('report',
                 models.CharField(default='http://report', max_length=500)),
                ('run_step',
                 models.CharField(choices=[('INITIALIZING', 'Initializing'),
                                           ('PROVISIONING', 'Provisioning'),
                                           ('ORCHESTRATION', 'Orchestration'),
                                           ('EXECUTION', 'Execution'),
                                           ('REPORTING', 'Reporting'),
                                           ('COMPLETE', 'Complete')],
                                  default='INITIALIZING',
                                  max_length=13)),
                ('run_status',
                 models.CharField(choices=[('RUNNING', 'Running'),
                                           ('COMPLETE', 'Complete'),
                                           ('ERROR', 'Error'),
                                           ('ABORT', 'Abort')],
                                  default='RUNNING',
                                  max_length=8)),
            ],
        ),
        migrations.CreateModel(
            name='Solution',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('solution_name',
                 models.CharField(default='default',
                                  max_length=100,
                                  unique=True)),
                ('solution_description',
                 models.TextField(default='description')),
                ('solution_version',
                 models.CharField(default='1.0', max_length=100)),
                ('created_date', models.DateTimeField(auto_now_add=True)),
                ('modified_date', models.DateTimeField(auto_now=True)),
                ('carbon_service_checks',
                 models.TextField(
                     default=
                     'dep_check:\n  - ci-rhos\n  - zabbix-sysops\n  - brew\n  - covscan\n  - polarion\n  - rpmdiff\n  - umb\n  - errata\n  - rdo-cloud\n  - gerrit:gerrit.host.prod.eng.bos.redhat.com\n'
                 )),
                ('carbon_provision',
                 models.TextField(
                     default=
                     'provision:\n  - name: test_machine_01\n    role: hypervisor\n    description: "bare metal server to host OCP_CNS test environment"\n    provider: beaker\n    credential: beaker\n    bkr_jobgroup: ci-ops-pit\n    bkr_arch: x86_64\n    bkr_tag: "RTT_ACCEPTED"\n    bkr_whiteboard: Carbon bare metal server to host OCP_CNS test environment (Internal) - SJM\n    bkr_distro: RHEL-7.4\n    bkr_variant: Server\n    bkr_host_requires_options: ["arch=x86_64", "memory>=65000", "processors>=400"]\n    bkr_key_values: ["DISKSPACE>=100000", "HVM=1"]\n    bkr_taskparam: [ "RESERVETIME=345600" ]\n    ansible_params:\n      ansible_user: root\n      ansible_ssh_private_key_file: keys/carbon\n\n'
                 )),
                ('carbon_orchestration',
                 models.TextField(
                     default=
                     '#orchestrate:\n\n# system configuration\n# product(s) install\n# product(s) configuration\n# test setup\n\norchestrate:\n  - name: ansible/ssh_connect.yml\n    description: "setup ssh keys for key based authentication to hypervisor"\n    orchestrator: ansible\n    hosts: localhost\n    ansible_options:\n      extra_vars:\n        username: root\n        password: ci-ops-pit\n    ansible_galaxy_options:\n      roles:\n        - rywillia.ssh-copy-id\n\n  - name: ansible/find_nic.yml\n    description: "find the active network interface card on the hypervisor"\n    orchestrator: ansible\n    hosts: hypervisor\n\n  - name: ansible/master.yml\n    description: "install and configure OCP and CNS"\n    orchestrator: ansible\n    hosts: hypervisor\n\n'
                 )),
                ('testtype',
                 models.CharField(choices=[
                     ('INTEROP', 'Interop'), ('SCENARIO', 'Scenario'),
                     ('SYSTEM-LOAD', 'System-Load'),
                     ('SYSTEM-RELIABILITY', 'System-Reliability'),
                     ('SYSTEM-STRESS', 'System-Stress'),
                     ('SYSTEM-LONGEVITY', 'System-Longevity')
                 ],
                                  default='INTEROP',
                                  max_length=18)),
                ('carbon_execution',
                 models.TextField(
                     default=
                     'execute:\n  - name: OCP System Test\n    description: "Load Tests"\n    function: STR\n    type: non-functional\n    objective: load\n    ansible_options:\n      extra_vars:\n        str_key: rhhi_key.key\n        str_profile: /rhhi_profile.yml \n        username: root\n        password: password\n\n'
                 )),
                ('carbon_report',
                 models.TextField(
                     default=
                     'report:\n  - name: Report Portal\n    description: "Dashboard"\n    ansible_options:\n      extra_vars:\n        username: root\n        password: password\n'
                 )),
                ('carbon_cfg',
                 models.TextField(
                     default=
                     '# carbon config file\n# ==================\n# default settings\n\n[defaults]\nlog_level=debug\ndata_folder=/var/local/carbon\nworkspace=.\ninternal=True\ndep_check_endpoint=http://semaphore.op.redhat.com/api/v1\n\n# credentials settings\n[credentials:beaker]\nkeytab=<keytab>\nkeytab_principal=<keytab_principal>\nusername=<username>\npassword=<password>\n\n[credentials:openstack]\nauth_url=<auth_url>\ntenant_name=<tenant_name>\nusername=<username>\npassword=<password>\n\n'
                 )),
                ('solution_repo',
                 models.CharField(
                     blank=True,
                     default=
                     'https://gitlab.cee.redhat.com/PIT/CSS_OCP_CNS.git',
                     max_length=1000,
                     null=True)),
                ('solution_link',
                 models.CharField(
                     blank=True,
                     default=
                     'https://docs.engineering.redhat.com/display/MPQE/MPQE+Home',
                     max_length=1000,
                     null=True)),
                ('jira_link',
                 models.CharField(
                     blank=True,
                     default=
                     'https://projects.engineering.redhat.com/secure/Dashboard.jspa',
                     max_length=1000,
                     null=True)),
                ('defect_link',
                 models.CharField(blank=True,
                                  default='https://bugzilla.redhat.com/',
                                  max_length=1000,
                                  null=True)),
                ('tcms_link',
                 models.CharField(
                     blank=True,
                     default=
                     'https://polarion.engineering.redhat.com/polarion/',
                     max_length=1000,
                     null=True)),
            ],
            options={
                'ordering': ('solution_name', 'solution_version'),
            },
        ),
        migrations.CreateModel(
            name='Stack',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('stack_name',
                 models.CharField(default='default',
                                  max_length=100,
                                  unique=True)),
                ('products', models.ManyToManyField(to='dashboard.Product')),
            ],
            options={
                'ordering': ('stack_name', ),
            },
        ),
        migrations.AddField(
            model_name='solution',
            name='product_stack',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.DO_NOTHING,
                to='dashboard.Stack'),
        ),
        migrations.AddField(
            model_name='run',
            name='solution',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.DO_NOTHING,
                to='dashboard.Solution'),
        ),
        migrations.AddField(
            model_name='run',
            name='tester',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
Example #8
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0009_alter_user_last_name_max_length'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('username',
                 models.CharField(
                     error_messages={
                         'unique': 'A user with that username already exists.'
                     },
                     help_text=
                     'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.',
                     max_length=150,
                     unique=True,
                     validators=[
                         django.contrib.auth.validators.
                         UnicodeUsernameValidator()
                     ],
                     verbose_name='username')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('email', models.CharField(max_length=200, unique=True)),
                ('c_credentials', models.TextField()),
                ('salt', models.CharField(max_length=512)),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
                'abstract': False,
            },
            managers=[
                ('objects', dashboard.models.UserManager()),
            ],
        ),
        migrations.CreateModel(
            name='App',
            fields=[
                ('id',
                 models.CharField(default=cloud.shortuuid.uuid,
                                  editable=False,
                                  max_length=255,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('name', models.CharField(max_length=255)),
                ('vendor', models.CharField(default='aws', max_length=255)),
                ('user',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id',
                 models.CharField(default=cloud.shortuuid.uuid,
                                  editable=False,
                                  max_length=255,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('description', models.CharField(editable=False,
                                                 max_length=255)),
                ('target', models.CharField(editable=False, max_length=255)),
                ('action', models.CharField(max_length=255)),
                ('amount', models.FloatField(default=0)),
            ],
        ),
        migrations.CreateModel(
            name='Log',
            fields=[
                ('id',
                 models.CharField(default=cloud.shortuuid.uuid,
                                  editable=False,
                                  max_length=255,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('level', models.CharField(max_length=255)),
                ('event', models.TextField()),
                ('user',
                 models.ForeignKey(null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='MarketplaceLogic',
            fields=[
                ('id',
                 models.CharField(default=cloud.shortuuid.uuid,
                                  editable=False,
                                  max_length=255,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('title', models.CharField(max_length=255)),
                ('category', models.CharField(max_length=255)),
                ('description', models.TextField()),
                ('content', models.TextField()),
                ('logo_image',
                 models.ImageField(null=True,
                                   upload_to='marketplace_logic_logo_image')),
                ('function_zip_file',
                 models.FileField(null=True,
                                  upload_to='marketplace_logic_function_zip')),
                ('function_name', models.CharField(max_length=255, null=True)),
                ('handler', models.CharField(max_length=255)),
                ('runtime', models.CharField(max_length=255)),
                ('verified', models.BooleanField(default=False)),
                ('view_count', models.BigIntegerField(default=0)),
                ('setup_count', models.BigIntegerField(default=0)),
                ('price', models.BigIntegerField(default=0)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Tracker',
            fields=[
                ('id',
                 models.CharField(default=cloud.shortuuid.uuid,
                                  editable=False,
                                  max_length=255,
                                  primary_key=True,
                                  serialize=False)),
                ('creation_date', models.DateTimeField(auto_now_add=True)),
                ('funnel', models.CharField(max_length=255, null=True)),
                ('user',
                 models.ForeignKey(blank=True,
                                   null=True,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.AddField(
            model_name='event',
            name='tracker',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to='dashboard.Tracker'),
        ),
        migrations.AddField(
            model_name='event',
            name='user',
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
Example #9
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0011_update_proxy_permissions'),
    ]

    operations = [
        migrations.CreateModel(
            name='User',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('password',
                 models.CharField(max_length=128, verbose_name='password')),
                ('last_login',
                 models.DateTimeField(blank=True,
                                      null=True,
                                      verbose_name='last login')),
                ('is_superuser',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates that this user has all permissions without explicitly assigning them.',
                     verbose_name='superuser status')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('first_name',
                 models.CharField(blank=True,
                                  max_length=30,
                                  verbose_name='first name')),
                ('last_name',
                 models.CharField(blank=True,
                                  max_length=150,
                                  verbose_name='last name')),
                ('is_staff',
                 models.BooleanField(
                     default=False,
                     help_text=
                     'Designates whether the user can log into this admin site.',
                     verbose_name='staff status')),
                ('is_active',
                 models.BooleanField(
                     default=True,
                     help_text=
                     'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
                     verbose_name='active')),
                ('date_joined',
                 models.DateTimeField(default=django.utils.timezone.now,
                                      verbose_name='date joined')),
                ('groups',
                 models.ManyToManyField(
                     blank=True,
                     help_text=
                     'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Group',
                     verbose_name='groups')),
                ('user_permissions',
                 models.ManyToManyField(
                     blank=True,
                     help_text='Specific permissions for this user.',
                     related_name='user_set',
                     related_query_name='user',
                     to='auth.Permission',
                     verbose_name='user permissions')),
            ],
            options={
                'verbose_name': 'user',
                'verbose_name_plural': 'users',
            },
            managers=[
                ('objects', dashboard.models.CustomUserManager()),
            ],
        ),
    ]