示例#1
0
class Migration(migrations.Migration):

    initial = True

    dependencies = []

    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')),
                ('phone_number',
                 models.BigIntegerField(unique=True,
                                        verbose_name='phone number')),
                ('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(auto_now_add=True,
                                      verbose_name='date joined')),
            ],
            options={
                'verbose_name': 'User',
                'verbose_name_plural': 'Users',
            },
            managers=[
                ('objects', accounts.models.UserManager()),
            ],
        ),
    ]
示例#2
0
class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0012_auto_20170814_1444'),
    ]

    operations = [
        migrations.AlterField(
            model_name='candidate',
            name='id',
            field=models.BigIntegerField(default=accounts.models.generate_id,
                                         editable=False,
                                         primary_key=True,
                                         serialize=False),
        ),
    ]
示例#3
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='City',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('country', models.CharField(max_length=200)),
            ],
        ),
        migrations.CreateModel(
            name='Profile',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('image', models.ImageField(default='photos/profiles/default.png', max_length=200, upload_to=accounts.models.get_filename_profile)),
                ('str_id', models.CharField(blank=True, default=None, max_length=40, null=True)),
                ('gender', models.CharField(blank=True, choices=[('M', 'Male'), ('F', 'Female')], default=None, max_length=1, null=True)),
                ('birthday', models.DateField(blank=True, null=True)),
                ('description', models.TextField(blank=True, null=True)),
                ('new_email', models.EmailField(blank=True, max_length=254, null=True)),
                ('is_email_verified', models.BooleanField(default=False)),
                ('mobile', models.IntegerField()),
                ('is_mobile_verified', models.NullBooleanField(default=None)),
                ('last_modified', models.DateTimeField(auto_now=True, null=True)),
                ('order', models.SmallIntegerField(default=1, help_text='Set to 1 for this collection to be the first, 2 to be second etc.')),
                ('big_field', models.BigIntegerField()),
                ('price', models.DecimalField(decimal_places=2, max_digits=15)),
                ('weight', models.FloatField(null=True)),
                ('facebook_url', models.URLField(max_length=255)),
                ('city', models.ForeignKey(default=None, on_delete=django.db.models.deletion.DO_NOTHING, to='accounts.City')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
示例#4
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('grade', '0001_initial'),
        ('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')),
                ('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')),
                ('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')),
                ('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='TeacherProfile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('mobile',
                 models.BigIntegerField(
                     validators=[accounts.models.validate_mobile_number])),
                ('verify', models.BooleanField(default=False)),
                ('teach_for', models.ManyToManyField(to='grade.Grade')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='StudentProfile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('mobile',
                 models.BigIntegerField(
                     blank=True,
                     null=True,
                     validators=[accounts.models.validate_mobile_number])),
                ('verify', models.BooleanField(default=False)),
                ('grade',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to='grade.Grade')),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
示例#5
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')),
                ('email', models.EmailField(max_length=255, unique=True)),
                ('username',
                 models.CharField(blank=True,
                                  max_length=20,
                                  null=True,
                                  unique=True)),
                ('first_name', models.CharField(blank=True, max_length=255)),
                ('last_name', models.CharField(blank=True, max_length=255)),
                ('is_admin', models.BooleanField(default=False)),
                ('is_staff', models.BooleanField(default=False)),
                ('is_active', models.BooleanField(default=True)),
                ('created_at',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('updated_at',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('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,
            },
        ),
        migrations.CreateModel(
            name='FileUpload',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('file',
                 models.FileField(
                     max_length=255,
                     upload_to=accounts.models.file_directory_path)),
                ('file_type', models.CharField(max_length=5)),
                ('file_content_type', models.CharField(max_length=20)),
                ('size', models.BigIntegerField(default=0)),
                ('created_at',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('updated_at',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('user',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('nickname',
                 models.TextField(blank=True, max_length=64, null=True)),
                ('dob', models.DateField(blank=True, null=True)),
                ('gender',
                 models.CharField(choices=[('M', 'Male'), ('F', 'Female'),
                                           ('P', 'Prefer not to answer')],
                                  default='M',
                                  max_length=1)),
                ('bio', models.TextField(blank=True,
                                         max_length=1024,
                                         null=True)),
                ('created_date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('updated_date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='profile',
                     to=settings.AUTH_USER_MODEL)),
            ],
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0008_alter_user_username_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')),
                ('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')),
                ('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.BigIntegerField(default=accounts.models.generate_id,
                                        editable=False,
                                        primary_key=True,
                                        serialize=False)),
                ('modified', models.DateTimeField(auto_now=True)),
                ('username',
                 models.CharField(max_length=150, null=True, unique=True)),
                ('email',
                 models.EmailField(max_length=255,
                                   unique=True,
                                   verbose_name='email address')),
                ('is_admin', models.BooleanField(default=False)),
                ('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,
            },
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('accounts', '0009_add_audit_fields'),
    ]

    operations = [
        migrations.CreateModel(
            name='VerificationDevice',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name',
                 models.CharField(
                     help_text='The human-readable name of this device.',
                     max_length=64)),
                ('confirmed',
                 models.BooleanField(
                     default=True, help_text='Is this device ready for use?')),
                ('unverified_phone', models.CharField(max_length=16)),
                ('secret_key',
                 models.CharField(
                     default=accounts.models.default_key,
                     help_text=
                     'Hex-encoded secret key to generate totp tokens.',
                     max_length=40,
                     unique=True,
                     validators=[django_otp.util.hex_validator])),
                ('last_verified_counter',
                 models.BigIntegerField(
                     default=-1,
                     help_text=
                     'The counter value of the latest verified token.The next token must be at a higher counter value.It makes sure a token is used only once.'
                 )),
                ('label',
                 models.CharField(choices=[('phone_verify', 'Verify Phone'),
                                           ('password_reset', 'Reset Password')
                                           ],
                                  default='phone_verify',
                                  max_length=20)),
                ('verified', models.BooleanField(default=False)),
            ],
            options={
                'verbose_name': 'Verification Device',
                'abstract': False,
            },
        ),
        migrations.RemoveField(
            model_name='historicaluser',
            name='verify_email_by',
        ),
        migrations.RemoveField(
            model_name='user',
            name='verify_email_by',
        ),
        migrations.AddField(
            model_name='historicaluser',
            name='phone',
            field=models.CharField(blank=True,
                                   db_index=True,
                                   default=None,
                                   max_length=16,
                                   null=True,
                                   verbose_name='phone number'),
        ),
        migrations.AddField(
            model_name='historicaluser',
            name='phone_verified',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='user',
            name='phone',
            field=models.CharField(blank=True,
                                   default=None,
                                   max_length=16,
                                   null=True,
                                   unique=True,
                                   verbose_name='phone number'),
        ),
        migrations.AddField(
            model_name='user',
            name='phone_verified',
            field=models.BooleanField(default=False),
        ),
        migrations.AlterField(
            model_name='historicaluser',
            name='email',
            field=models.EmailField(blank=True,
                                    db_index=True,
                                    default=None,
                                    max_length=254,
                                    null=True,
                                    verbose_name='email address'),
        ),
        migrations.AlterField(
            model_name='user',
            name='email',
            field=models.EmailField(blank=True,
                                    default=None,
                                    max_length=254,
                                    null=True,
                                    unique=True,
                                    verbose_name='email address'),
        ),
        migrations.AddField(
            model_name='verificationdevice',
            name='user',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                to=settings.AUTH_USER_MODEL),
        ),
    ]
示例#8
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')),
                ('email',
                 models.EmailField(db_index=True,
                                   max_length=254,
                                   unique=True,
                                   verbose_name='email address')),
                ('username',
                 models.CharField(blank=True,
                                  max_length=500,
                                  verbose_name='username')),
                ('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=datetime.datetime(2017,
                                                                5,
                                                                3,
                                                                7,
                                                                1,
                                                                18,
                                                                740533,
                                                                tzinfo=utc),
                                      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',
                'db_table': 'cb_user',
                'verbose_name_plural': 'users',
            },
        ),
        migrations.CreateModel(
            name='CbUserProfile',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('first_name', models.CharField(max_length=40)),
                ('last_name', models.CharField(max_length=40)),
                ('phone', models.CharField(max_length=16, null=True)),
                ('dob', models.DateField(blank=True, null=True)),
                ('country',
                 models.CharField(blank=True, max_length=2, null=True)),
                ('city', models.CharField(blank=True, max_length=50,
                                          null=True)),
                ('gender',
                 models.CharField(blank=True, max_length=10, null=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('avatar',
                 models.ImageField(
                     blank=True,
                     default='default_avatar.jpg',
                     upload_to=accounts.models.photo_upload_path)),
                ('has_photo', models.BigIntegerField(default=0, null=True)),
                ('user',
                 models.OneToOneField(
                     on_delete=django.db.models.deletion.CASCADE,
                     related_name='profile',
                     to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'db_table': 'cb_user_profile',
            },
        ),
    ]
示例#9
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')),
                ('id',
                 models.UUIDField(default=uuid.uuid4,
                                  editable=False,
                                  primary_key=True,
                                  serialize=False)),
                ('username',
                 models.CharField(default=None,
                                  max_length=20,
                                  unique=True,
                                  verbose_name='Username')),
                ('first_name',
                 models.CharField(max_length=50, verbose_name='First Name')),
                ('last_name',
                 models.CharField(max_length=50, verbose_name='Last Name')),
                ('email',
                 models.EmailField(max_length=254,
                                   unique=True,
                                   verbose_name='Email adress')),
                ('confirmed_email',
                 models.BooleanField(default=False,
                                     verbose_name='Confirmed email')),
                ('avatar',
                 models.ImageField(
                     blank=True,
                     null=True,
                     upload_to=accounts.models.upload_path_handler_avatar,
                     verbose_name='avatar')),
                ('is_staff',
                 models.BooleanField(default=False,
                                     verbose_name='Staff status')),
                ('is_superuser',
                 models.BooleanField(default=False,
                                     verbose_name='Superuser status')),
                ('is_active',
                 models.BooleanField(default=True, verbose_name='Active')),
                ('date_joined',
                 models.DateTimeField(auto_now_add=True,
                                      verbose_name='Date joined')),
                ('date_updated',
                 models.DateTimeField(auto_now=True,
                                      verbose_name='Date updated')),
                ('activation_key',
                 models.UUIDField(default=uuid.uuid4,
                                  unique=True,
                                  verbose_name='Activation key')),
                ('facebook_id',
                 models.BigIntegerField(default=None,
                                        null=True,
                                        unique=True,
                                        verbose_name='Facebook ID')),
                ('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,
            },
        ),
    ]
示例#10
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('locations', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('subjects', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='UserProfile',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(blank=True, max_length=30, null=True)),
                ('middle_name', models.CharField(blank=True, max_length=30, null=True)),
                ('last_name', models.CharField(blank=True, max_length=30, null=True)),
                ('profile_image', models.ImageField(blank=True, null=True, upload_to=accounts.models.profile_image_upload_location)),
                ('age', models.IntegerField(default=10)),
                ('sex', models.CharField(blank=True, choices=[('Male', 'Male'), ('Female', 'Female')], max_length=20, null=True)),
                ('marital_status', models.CharField(blank=True, choices=[('Single', 'Single'), ('Maried', 'Maried')], max_length=10, null=True)),
                ('phone', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region=None)),
                ('email', models.EmailField(max_length=500)),
                ('address', models.TextField(blank=True, null=True)),
                ('school', models.CharField(blank=True, max_length=500, null=True)),
                ('year_completed', models.BigIntegerField(blank=True, default=1990, null=True)),
                ('qualification', models.CharField(blank=True, choices=[('Higher Secondary', 'Higher Secondary'), ('Bachelor Degree', 'Bachelor Degree'), ('Master Degree', 'Master Degree')], max_length=50, null=True)),
                ('certificate', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=accounts.models.certificate_upload_location, width_field='width_field')),
                ('height_field', models.IntegerField(default=0)),
                ('width_field', models.IntegerField(default=0)),
                ('education_additional_information', models.TextField(blank=True, null=True)),
                ('company', models.CharField(blank=True, max_length=500, null=True)),
                ('job_position', models.CharField(blank=True, max_length=500, null=True)),
                ('salary', models.BigIntegerField(default=0)),
                ('website', models.CharField(blank=True, max_length=500, null=True)),
                ('location', models.CharField(blank=True, max_length=500, null=True)),
                ('work_experience', models.CharField(blank=True, choices=[('1 Year to 2 Years', '1 Year to 2 Years'), ('2 Yeasr to 3 Years', '2 Years to 3 Years'), ('3 Years to 4 Years', '3 Years to 4 Years'), ('4 Years to 5 Years', '4 Years to 5 Years'), ('5 Years +', '5 Years +')], max_length=50, null=True)),
                ('start_date', models.DateField(blank=True, null=True)),
                ('resume', models.FileField(blank=True, null=True, upload_to=accounts.models.resume_upload_location)),
                ('work_additional_information', models.TextField(blank=True, null=True)),
                ('refree_1', models.CharField(blank=True, max_length=100, null=True)),
                ('refree_1_phone', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region=None)),
                ('refree_2', models.CharField(blank=True, max_length=100, null=True)),
                ('refree_2_phone', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region=None)),
                ('is_tutor', models.BooleanField(default=False)),
                ('active', models.BooleanField(default=True)),
                ('city', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='tutor_city', to='locations.Location')),
                ('subjects', models.ManyToManyField(blank=True, to='subjects.Subject')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Testimonials',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('testimony', models.TextField(blank=True, null=True)),
                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to='accounts.UserProfile')),
            ],
        ),
    ]
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('auth', '0012_alter_user_first_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=150, verbose_name='first name')),
                ('last_name', models.CharField(blank=True, max_length=150, 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.CharField(choices=[('patient', 'Patient'), ('doctor', 'Doctor'), ('receptionist', 'Receptionist'), ('admin', 'Admin'), ('nurse', 'Nurse'), ('accountant', 'Accountant'), ('lab_tech', 'Lab Tech')], default='patient', max_length=20)),
                ('date_of_birth', models.DateField(blank=True, null=True, validators=[accounts.validators.validate_future_date])),
                ('mobile_num', models.CharField(max_length=15, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+9199999999'. Up to 15 digits allowed.", regex='^\\+?1?\\d{9,15}$')])),
                ('created', models.DateTimeField(auto_now_add=True)),
                ('updated', models.DateTimeField(auto_now=True)),
                ('date_joining', models.DateTimeField(auto_now_add=True)),
                ('gender', models.CharField(choices=[('male', 'Male'), ('female', 'Female'), ('others', 'Others')], default='male', max_length=10)),
                ('father_name', models.CharField(max_length=50)),
                ('mother_name', models.CharField(blank=True, max_length=50, null=True)),
                ('blood_group', models.CharField(blank=True, choices=[('A+', 'A+'), ('A-', 'A-'), ('B+', 'B+'), ('B-', 'B-'), ('AB+', 'AB+'), ('AB-', 'AB-'), ('O+', 'O+'), ('O-', 'O-')], max_length=5, null=True)),
                ('marital_status', models.CharField(choices=[('single', 'Single'), ('married', 'Married'), ('widowed', 'Widowed'), ('divorced', 'Divorced')], default='single', max_length=10)),
                ('photo', models.ImageField(blank=True, default='default.png', upload_to='patients/%Y/%m/%d')),
                ('address1', models.CharField(max_length=100)),
                ('address2', models.CharField(blank=True, max_length=100)),
                ('city', models.CharField(max_length=50)),
                ('zipcode', models.BigIntegerField(default=0)),
                ('state', models.CharField(max_length=20)),
                ('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='Receptionist',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('aadhar_number', models.BigIntegerField(verbose_name='Aadhar Number')),
                ('empCategory', models.CharField(blank=True, max_length=20, verbose_name='Employee Category')),
                ('qualificationDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('IdProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('addressProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('otherDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Patient',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date_of_discharge', models.DateTimeField(auto_now=True)),
                ('allergies', models.TextField(blank=True, null=True)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Nurse',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('aadhar_number', models.BigIntegerField(verbose_name='Aadhar Number')),
                ('empCategory', models.CharField(blank=True, max_length=20, verbose_name='Employee Category')),
                ('qualificationDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('IdProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('addressProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('otherDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Nurses',
            },
        ),
        migrations.CreateModel(
            name='LabTechnician',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('aadhar_number', models.BigIntegerField(verbose_name='Aadhar Number')),
                ('empCategory', models.CharField(blank=True, max_length=20, verbose_name='Employee Category')),
                ('qualificationDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('IdProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('addressProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('otherDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name_plural': 'Lab Technician',
            },
        ),
        migrations.CreateModel(
            name='Doctor',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('aadhar_number', models.BigIntegerField(verbose_name='Aadhar Number')),
                ('empCategory', models.CharField(blank=True, max_length=20, verbose_name='Employee Category')),
                ('qualificationDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('IdProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('addressProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('otherDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('languages', models.CharField(max_length=20)),
                ('speciality', models.CharField(max_length=20)),
                ('department', models.CharField(choices=[('Cardiologist', 'Cardiologist'), ('Dermatologists', 'Dermatologists'), ('Emergency Medicine Specialists', 'Emergency Medicine Specialists'), ('Allergists/Immunologists', 'Allergists/Immunologists'), ('Anesthesiologists', 'Anesthesiologists'), ('Colon and Rectal Surgeons', 'Colon and Rectal Surgeons')], max_length=50)),
                ('patients', models.ManyToManyField(related_name='doctors', to='accounts.Patient')),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Accountant',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('aadhar_number', models.BigIntegerField(verbose_name='Aadhar Number')),
                ('empCategory', models.CharField(blank=True, max_length=20, verbose_name='Employee Category')),
                ('qualificationDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('IdProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('addressProof', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('otherDoc', models.FileField(blank=True, upload_to=accounts.models.user_directory_path)),
                ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'abstract': False,
            },
        ),
    ]