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

    dependencies = [
        ('CRM', '0001_initial'),
    ]

    operations = [
        migrations.AlterField(
            model_name='account',
            name='credit_card',
            field=models.CharField(auto_created=True, default=CRM.models.generateCreditCardNumber, max_length=16, unique=True),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('CRM', '0002_auto_20190404_2041'),
    ]

    operations = [
        migrations.AddField(
            model_name='transaction',
            name='amount',
            field=models.DecimalField(decimal_places=2, default=0, max_digits=10),
        ),
        migrations.AlterField(
            model_name='account',
            name='is_active',
            field=models.BooleanField(default=True),
        ),
        migrations.AlterField(
            model_name='transaction',
            name='number',
            field=models.CharField(default=CRM.models.generateTransactionId, max_length=365000),
        ),
    ]
示例#3
0
class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('accounts', '0014_auto_20190227_0920'),
    ]

    operations = [
        migrations.CreateModel(
            name='Barcode',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('GTIN', models.CharField(max_length=40, unique=True)),
                ('product_description', models.CharField(max_length=100)),
                ('brand_name', models.CharField(max_length=100)),
                ('name_packaging', models.CharField(blank=True,
                                                    max_length=100)),
                ('type', models.CharField(max_length=50)),
                ('depth', models.CharField(blank=True, max_length=50)),
                ('width', models.CharField(blank=True, max_length=50)),
                ('height', models.CharField(blank=True, max_length=50)),
                ('gross_weight', models.CharField(blank=True, max_length=50)),
                ('net_weight', models.CharField(blank=True, max_length=50)),
                ('size', models.IntegerField(blank=True)),
            ],
        ),
        migrations.CreateModel(
            name='Client',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('company_name', models.CharField(max_length=100)),
                ('member_number', models.CharField(max_length=100, default=0)),
                ('member_prefix', models.CharField(max_length=20, default=0)),
                ('company_phone', models.IntegerField()),
                ('company_phone_alt', models.IntegerField()),
                ('company_email', models.CharField(max_length=128)),
                ('company_email_alt', models.CharField(max_length=128)),
                ('post_address', models.CharField(max_length=200)),
                ('physical_location', models.CharField(max_length=60)),
                ('director_info', models.CharField(max_length=1000)),
                ('sector',
                 models.CharField(choices=[
                     ('Academia', 'Academia'),
                     ('Agribusiness', 'Agribusiness'),
                     ('Helathcare', 'Helathcare'),
                     ('Manufacturer,trading &financial institutions',
                      'Manufacturer,Trading &Financial Institutions'),
                     ('Retailer', 'Retailer'),
                     ('Transport / communication',
                      'Transport / Communication'),
                     ('Supply  chain,warehousing  & construction',
                      'Supply  Chain,warehousing  & construction')
                 ],
                                  default='No sector',
                                  max_length=200)),
                ('category',
                 models.CharField(choices=[('Category a', 'Category A'),
                                           ('Category b', 'Category B'),
                                           ('Category b', 'Category B'),
                                           ('Category c', 'Category C'),
                                           ('Category d', 'Category D'),
                                           ('Category e', 'Category E')],
                                  default='No category',
                                  max_length=80)),
                ('date_of_issue', models.DateField()),
                ('nature_of_business', models.CharField(max_length=100)),
                ('certificate_of_incorporation',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('copy_of_id',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('copy_of_blank_cheque',
                 models.FileField(
                     default=0,
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('copy_of_trade_licence',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('list_of_product_barcoded',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('director_pin_number',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('company_certificate_pin',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('copy_of_kebs_certicate',
                 models.FileField(
                     upload_to=CRM.models.UploadFolder('documents/clients'))),
                ('is_me1', models.IntegerField(default=0)),
                ('is_me2', models.IntegerField(default=0)),
                ('is_ccm', models.IntegerField(default=0)),
                ('is_cacc_x', models.IntegerField(default=0)),
                ('is_accm', models.IntegerField(default=0)),
                ('is_cacc', models.IntegerField(default=0)),
                ('is_tm', models.IntegerField(default=0)),
                ('is_gm', models.IntegerField(default=0)),
                ('status', models.IntegerField(default=0)),
            ],
        ),
        migrations.CreateModel(
            name='Event',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('event_name', models.CharField(max_length=300)),
                ('date_time', models.DateField(default=datetime.datetime.now)),
                ('status', models.IntegerField(default=1)),
            ],
        ),
        migrations.CreateModel(
            name='Feedback',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('feedback', models.CharField(max_length=1000)),
                ('created_on',
                 models.DateField(default=datetime.datetime.now)),
                ('status',
                 models.IntegerField(
                     choices=[(1, 'close'), (11, 'open'), (0, 'pending')])),
                ('client_name',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='CRM.Client')),
            ],
        ),
        migrations.CreateModel(
            name='Supplier',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
                ('phone', models.IntegerField()),
                ('country',
                 models.CharField(choices=[
                     ('Aruba', 'Aruba'), ('Afghanistan', 'Afghanistan'),
                     ('Angola', 'Angola'),
                     ('Anguilla', 'Anguilla'),
                     ('Åland Islands', 'Åland Islands'),
                     ('Albania', 'Albania'), ('Andorra', 'Andorra'),
                     ('United Arab Emirates', 'United Arab Emirates'),
                     ('Argentina', 'Argentina'), ('Armenia', 'Armenia'),
                     ('American Samoa', 'American Samoa'),
                     ('Antarctica', 'Antarctica'),
                     ('French Southern Territories',
                      'French Southern Territories'),
                     ('Antigua and Barbuda', 'Antigua and Barbuda'),
                     ('Australia', 'Australia'), ('Austria', 'Austria'),
                     ('Azerbaijan', 'Azerbaijan'), ('Burundi', 'Burundi'),
                     ('Belgium', 'Belgium'), ('Benin', 'Benin'),
                     ('Bonaire, Sint Eustatius and Saba',
                      'Bonaire, Sint Eustatius and Saba'),
                     ('Burkina Faso', 'Burkina Faso'),
                     ('Bangladesh', 'Bangladesh'), ('Bulgaria', 'Bulgaria'),
                     ('Bahrain', 'Bahrain'), ('Bahamas', 'Bahamas'),
                     ('Bosnia and Herzegovina', 'Bosnia and Herzegovina'),
                     ('Saint Barthélemy', 'Saint Barthélemy'),
                     ('Belarus', 'Belarus'), ('Belize', 'Belize'),
                     ('Bermuda', 'Bermuda'),
                     ('Bolivia, Plurinational State of',
                      'Bolivia, Plurinational State of'), ('Brazil', 'Brazil'),
                     ('Barbados', 'Barbados'),
                     ('Brunei Darussalam', 'Brunei Darussalam'),
                     ('Bhutan', 'Bhutan'), ('Bouvet Island', 'Bouvet Island'),
                     ('Botswana', 'Botswana'),
                     ('Central African Republic', 'Central African Republic'),
                     ('Canada', 'Canada'),
                     ('Cocos (Keeling) Islands', 'Cocos (Keeling) Islands'),
                     ('Switzerland', 'Switzerland'), ('Chile', 'Chile'),
                     ('China', 'China'), ("Côte d'Ivoire", "Côte d'Ivoire"),
                     ('Cameroon', 'Cameroon'),
                     ('Congo, The Democratic Republic of the',
                      'Congo, The Democratic Republic of the'),
                     ('Congo', 'Congo'), ('Cook Islands', 'Cook Islands'),
                     ('Colombia', 'Colombia'), ('Comoros', 'Comoros'),
                     ('Cabo Verde', 'Cabo Verde'),
                     ('Costa Rica', 'Costa Rica'), ('Cuba', 'Cuba'),
                     ('Curaçao', 'Curaçao'),
                     ('Christmas Island', 'Christmas Island'),
                     ('Cayman Islands', 'Cayman Islands'), ('Cyprus',
                                                            'Cyprus'),
                     ('Czechia', 'Czechia'), ('Germany', 'Germany'),
                     ('Djibouti', 'Djibouti'), ('Dominica', 'Dominica'),
                     ('Denmark', 'Denmark'),
                     ('Dominican Republic', 'Dominican Republic'),
                     ('Algeria', 'Algeria'), ('Ecuador', 'Ecuador'),
                     ('Egypt', 'Egypt'), ('Eritrea', 'Eritrea'),
                     ('Western Sahara', 'Western Sahara'), ('Spain', 'Spain'),
                     ('Estonia', 'Estonia'), ('Ethiopia', 'Ethiopia'),
                     ('Finland', 'Finland'), ('Fiji', 'Fiji'),
                     ('Falkland Islands (Malvinas)',
                      'Falkland Islands (Malvinas)'), ('France', 'France'),
                     ('Faroe Islands', 'Faroe Islands'),
                     ('Micronesia, Federated States of',
                      'Micronesia, Federated States of'), ('Gabon', 'Gabon'),
                     ('United Kingdom', 'United Kingdom'),
                     ('Georgia', 'Georgia'), ('Guernsey', 'Guernsey'),
                     ('Ghana', 'Ghana'), ('Gibraltar', 'Gibraltar'),
                     ('Guinea', 'Guinea'), ('Guadeloupe', 'Guadeloupe'),
                     ('Gambia', 'Gambia'), ('Guinea-Bissau', 'Guinea-Bissau'),
                     ('Equatorial Guinea', 'Equatorial Guinea'),
                     ('Greece', 'Greece'), ('Grenada', 'Grenada'),
                     ('Greenland', 'Greenland'), ('Guatemala', 'Guatemala'),
                     ('French Guiana', 'French Guiana'), ('Guam', 'Guam'),
                     ('Guyana', 'Guyana'), ('Hong Kong', 'Hong Kong'),
                     ('Heard Island and McDonald Islands',
                      'Heard Island and McDonald Islands'),
                     ('Honduras', 'Honduras'), ('Croatia', 'Croatia'),
                     ('Haiti', 'Haiti'), ('Hungary', 'Hungary'),
                     ('Indonesia', 'Indonesia'), ('Isle of Man',
                                                  'Isle of Man'),
                     ('India', 'India'),
                     ('British Indian Ocean Territory',
                      'British Indian Ocean Territory'), ('Ireland',
                                                          'Ireland'),
                     ('Iran, Islamic Republic of',
                      'Iran, Islamic Republic of'), ('Iraq', 'Iraq'),
                     ('Iceland', 'Iceland'), ('Israel', 'Israel'),
                     ('Italy', 'Italy'), ('Jamaica', 'Jamaica'),
                     ('Jersey', 'Jersey'), ('Jordan', 'Jordan'),
                     ('Japan', 'Japan'), ('Kazakhstan', 'Kazakhstan'),
                     ('Kenya', 'Kenya'), ('Kyrgyzstan', 'Kyrgyzstan'),
                     ('Cambodia', 'Cambodia'), ('Kiribati', 'Kiribati'),
                     ('Saint Kitts and Nevis', 'Saint Kitts and Nevis'),
                     ('Korea, Republic of', 'Korea, Republic of'),
                     ('Kuwait', 'Kuwait'),
                     ("Lao People's Democratic Republic",
                      "Lao People's Democratic Republic"),
                     ('Lebanon', 'Lebanon'), ('Liberia', 'Liberia'),
                     ('Libya', 'Libya'), ('Saint Lucia', 'Saint Lucia'),
                     ('Liechtenstein', 'Liechtenstein'),
                     ('Sri Lanka', 'Sri Lanka'), ('Lesotho', 'Lesotho'),
                     ('Lithuania', 'Lithuania'), ('Luxembourg', 'Luxembourg'),
                     ('Latvia', 'Latvia'), ('Macao', 'Macao'),
                     ('Saint Martin (French part)',
                      'Saint Martin (French part)'), ('Morocco', 'Morocco'),
                     ('Monaco', 'Monaco'),
                     ('Moldova, Republic of', 'Moldova, Republic of'),
                     ('Madagascar', 'Madagascar'), ('Maldives', 'Maldives'),
                     ('Mexico', 'Mexico'),
                     ('Marshall Islands', 'Marshall Islands'),
                     ('Macedonia, Republic of', 'Macedonia, Republic of'),
                     ('Mali', 'Mali'), ('Malta', 'Malta'),
                     ('Myanmar', 'Myanmar'), ('Montenegro', 'Montenegro'),
                     ('Mongolia', 'Mongolia'),
                     ('Northern Mariana Islands', 'Northern Mariana Islands'),
                     ('Mozambique', 'Mozambique'), ('Mauritania',
                                                    'Mauritania'),
                     ('Montserrat', 'Montserrat'),
                     ('Martinique', 'Martinique'), ('Mauritius', 'Mauritius'),
                     ('Malawi', 'Malawi'), ('Malaysia', 'Malaysia'),
                     ('Mayotte', 'Mayotte'), ('Namibia', 'Namibia'),
                     ('New Caledonia', 'New Caledonia'), ('Niger', 'Niger'),
                     ('Norfolk Island', 'Norfolk Island'),
                     ('Nigeria', 'Nigeria'), ('Nicaragua', 'Nicaragua'),
                     ('Niue', 'Niue'), ('Netherlands', 'Netherlands'),
                     ('Norway', 'Norway'), ('Nepal', 'Nepal'),
                     ('Nauru', 'Nauru'), ('New Zealand', 'New Zealand'),
                     ('Oman', 'Oman'), ('Pakistan', 'Pakistan'),
                     ('Panama', 'Panama'), ('Pitcairn', 'Pitcairn'),
                     ('Peru', 'Peru'), ('Philippines', 'Philippines'),
                     ('Palau', 'Palau'),
                     ('Papua New Guinea', 'Papua New Guinea'),
                     ('Poland', 'Poland'), ('Puerto Rico', 'Puerto Rico'),
                     ("Korea, Democratic People's Republic of",
                      "Korea, Democratic People's Republic of"),
                     ('Portugal', 'Portugal'), ('Paraguay', 'Paraguay'),
                     ('Palestine, State of', 'Palestine, State of'),
                     ('French Polynesia', 'French Polynesia'),
                     ('Qatar', 'Qatar'), ('Réunion', 'Réunion'),
                     ('Romania', 'Romania'),
                     ('Russian Federation', 'Russian Federation'),
                     ('Rwanda', 'Rwanda'), ('Saudi Arabia', 'Saudi Arabia'),
                     ('Sudan', 'Sudan'), ('Senegal', 'Senegal'),
                     ('Singapore', 'Singapore'),
                     ('South Georgia and the South Sandwich Islands',
                      'South Georgia and the South Sandwich Islands'),
                     ('Saint Helena, Ascension and Tristan da Cunha',
                      'Saint Helena, Ascension and Tristan da Cunha'),
                     ('Svalbard and Jan Mayen', 'Svalbard and Jan Mayen'),
                     ('Solomon Islands', 'Solomon Islands'),
                     ('Sierra Leone', 'Sierra Leone'),
                     ('El Salvador', 'El Salvador'),
                     ('San Marino', 'San Marino'), ('Somalia', 'Somalia'),
                     ('Saint Pierre and Miquelon',
                      'Saint Pierre and Miquelon'), ('Serbia', 'Serbia'),
                     ('South Sudan', 'South Sudan'),
                     ('Sao Tome and Principe', 'Sao Tome and Principe'),
                     ('Suriname', 'Suriname'), ('Slovakia', 'Slovakia'),
                     ('Slovenia', 'Slovenia'), ('Sweden', 'Sweden'),
                     ('Swaziland', 'Swaziland'),
                     ('Sint Maarten (Dutch part)',
                      'Sint Maarten (Dutch part)'), ('Seychelles',
                                                     'Seychelles'),
                     ('Syrian Arab Republic', 'Syrian Arab Republic'),
                     ('Turks and Caicos Islands', 'Turks and Caicos Islands'),
                     ('Chad', 'Chad'), ('Togo', 'Togo'),
                     ('Thailand', 'Thailand'), ('Tajikistan', 'Tajikistan'),
                     ('Tokelau', 'Tokelau'), ('Turkmenistan', 'Turkmenistan'),
                     ('Timor-Leste', 'Timor-Leste'), ('Tonga', 'Tonga'),
                     ('Trinidad and Tobago', 'Trinidad and Tobago'),
                     ('Tunisia', 'Tunisia'), ('Turkey', 'Turkey'),
                     ('Tuvalu', 'Tuvalu'),
                     ('Taiwan, Province of China',
                      'Taiwan, Province of China'),
                     ('Tanzania, United Republic of',
                      'Tanzania, United Republic of'), ('Uganda', 'Uganda'),
                     ('Ukraine', 'Ukraine'),
                     ('United States Minor Outlying Islands',
                      'United States Minor Outlying Islands'),
                     ('Uruguay', 'Uruguay'), ('United States',
                                              'United States'),
                     ('Uzbekistan', 'Uzbekistan'),
                     ('Holy See (Vatican City State)',
                      'Holy See (Vatican City State)'),
                     ('Saint Vincent and the Grenadines',
                      'Saint Vincent and the Grenadines'),
                     ('Venezuela, Bolivarian Republic of',
                      'Venezuela, Bolivarian Republic of'),
                     ('Virgin Islands, British', 'Virgin Islands, British'),
                     ('Virgin Islands, U.S.', 'Virgin Islands, U.S.'),
                     ('Viet Nam', 'Viet Nam'), ('Vanuatu', 'Vanuatu'),
                     ('Wallis and Futuna', 'Wallis and Futuna'),
                     ('Samoa', 'Samoa'), ('Yemen', 'Yemen'),
                     ('South Africa', 'South Africa'), ('Zambia', 'Zambia'),
                     ('Zimbabwe', 'Zimbabwe')
                 ],
                                  default='No sector',
                                  max_length=40)),
                ('website', models.CharField(blank=True, max_length=100)),
                ('description', models.CharField(max_length=1000)),
            ],
        ),
        migrations.CreateModel(
            name='Training',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('all_trainee',
                 multiselectfield.db.fields.MultiSelectField(blank=True,
                                                             choices=[
                                                                 (1, 'BrugKe'),
                                                                 (2, 'gs1')
                                                             ],
                                                             max_length=3,
                                                             null=True)),
                ('happened_on',
                 models.DateField(default=datetime.datetime.now)),
                ('description', models.CharField(max_length=2000)),
                ('trainer',
                 models.ForeignKey(default=1,
                                   on_delete=django.db.models.deletion.CASCADE,
                                   to='accounts.Employee')),
            ],
        ),
        migrations.AddField(
            model_name='event',
            name='training',
            field=models.ForeignKey(
                default=1,
                on_delete=django.db.models.deletion.CASCADE,
                related_name='trian',
                to='CRM.Training'),
        ),
        migrations.AddField(
            model_name='barcode',
            name='client',
            field=models.ForeignKey(
                default=1,
                on_delete=django.db.models.deletion.CASCADE,
                to='CRM.Client'),
        ),
    ]
示例#4
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Campuses',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64, verbose_name='校区')),
                ('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='详细地址')),
            ],
        ),
        migrations.CreateModel(
            name='ClassList',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('course', models.CharField(choices=[('LinuxL', 'Linux中高级'), ('PythonFullStack', 'Python高级全栈开发')], max_length=64, verbose_name='课程名称')),
                ('semester', models.IntegerField(verbose_name='学期')),
                ('price', models.IntegerField(default=10000, verbose_name='学费')),
                ('memo', models.CharField(blank=True, max_length=100, null=True, verbose_name='说明')),
                ('start_date', models.DateField(verbose_name='开班日期')),
                ('graduate_date', models.DateField(blank=True, null=True, verbose_name='结业日期')),
                ('class_type', models.CharField(blank=True, choices=[('fulltime', '脱产班'), ('online', '网络班'), ('weekend', '周末班')], max_length=64, null=True, verbose_name='班额及类型')),
                ('campuses', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Campuses', verbose_name='校区')),
            ],
        ),
        migrations.CreateModel(
            name='ConsultRecord',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('note', models.TextField(verbose_name='跟进内容...')),
                ('status', models.CharField(choices=[('A', '近期无报名计划'), ('B', '1个月内报名'), ('C', '2周内报名'), ('D', '1周内报名'), ('E', '定金'), ('F', '到班'), ('G', '全款'), ('H', '无效')], help_text='选择客户此时的状态', max_length=8, verbose_name='跟进状态')),
                ('date', models.DateTimeField(auto_now_add=True, verbose_name='跟进日期')),
                ('delete_status', models.BooleanField(default=False, verbose_name='删除状态')),
            ],
        ),
        migrations.CreateModel(
            name='ContractTemplate',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=128, unique=True, verbose_name='合同名称')),
                ('content', models.TextField(verbose_name='合同内容')),
                ('date', models.DateField(auto_now=True)),
            ],
        ),
        migrations.CreateModel(
            name='CourseRecord',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('day_num', models.IntegerField(help_text='此处填写第几节课或第几天课程...,必须为数字', verbose_name='节次')),
                ('date', models.DateField(auto_now_add=True, verbose_name='上课日期')),
                ('course_title', models.CharField(blank=True, max_length=64, null=True, verbose_name='本节课程标题')),
                ('course_memo', models.TextField(blank=True, max_length=300, null=True, verbose_name='本节课程内容')),
                ('has_homework', models.BooleanField(default=True, verbose_name='本节有作业')),
                ('homework_title', models.CharField(blank=True, max_length=64, null=True, verbose_name='本节作业标题')),
                ('homework_memo', models.TextField(blank=True, max_length=500, null=True, verbose_name='作业描述')),
                ('scoring_point', models.TextField(blank=True, max_length=300, null=True, verbose_name='得分点')),
                ('re_class', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.ClassList', verbose_name='班级')),
            ],
        ),
        migrations.CreateModel(
            name='Customer',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('qq', models.CharField(help_text='QQ号必须唯一', max_length=64, unique=True, verbose_name='QQ')),
                ('qq_name', models.CharField(blank=True, max_length=64, null=True, verbose_name='QQ昵称')),
                ('name', models.CharField(blank=True, help_text='学员报名后,请改为真实姓名', max_length=32, null=True, verbose_name='姓名')),
                ('sex', models.CharField(blank=True, choices=[('male', '男'), ('female', '女')], default='male', max_length=16, null=True, verbose_name='性别')),
                ('birthday', models.DateField(blank=True, default=None, help_text='格式yyyy-mm-dd', null=True, verbose_name='出生日期')),
                ('phone', models.BigIntegerField(blank=True, null=True, verbose_name='手机号')),
                ('source', models.CharField(choices=[('qq', 'qq群'), ('referral', '内部转介绍'), ('website', '官方网站'), ('baidu_ads', '百度推广'), ('office_direct', '直接上门'), ('WoM', '口碑'), ('public_class', '公开课'), ('website_luffy', '路飞官网'), ('others', '其它')], default='qq', max_length=64, verbose_name='客户来源')),
                ('course', multiselectfield.db.fields.MultiSelectField(choices=[('LinuxL', 'Linux中高级'), ('PythonFullStack', 'Python高级全栈开发')], max_length=22, verbose_name='咨询课程')),
                ('class_type', models.CharField(choices=[('fulltime', '脱产班'), ('online', '网络班'), ('weekend', '周末班')], default='fulltime', max_length=64, verbose_name='班级类型')),
                ('customer_note', models.TextField(blank=True, null=True, verbose_name='客户备注')),
                ('status', models.CharField(choices=[('signed', '已报名'), ('unregistered', '未报名'), ('studying', '学习中'), ('paid_in_full', '学费已交齐')], default='unregistered', help_text='选择客户此时的状态', max_length=64, verbose_name='状态')),
                ('network_consult_note', models.TextField(blank=True, null=True, verbose_name='网络咨询师咨询内容')),
                ('date', models.DateTimeField(auto_now_add=True, verbose_name='咨询日期')),
                ('last_consult_date', models.DateField(auto_now_add=True, verbose_name='最后跟进日期')),
                ('next_date', models.DateField(blank=True, null=True, verbose_name='预计再次跟进时间')),
                ('class_list', models.ManyToManyField(to='CRM.ClassList', verbose_name='已报班级')),
            ],
        ),
        migrations.CreateModel(
            name='Department',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=32, verbose_name='部门名称')),
                ('count', models.IntegerField(default=0, verbose_name='人数')),
            ],
        ),
        migrations.CreateModel(
            name='Enrollment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('why_us', models.TextField(blank=True, default=None, max_length=1024, null=True, verbose_name='为什么报名')),
                ('your_expectation', models.TextField(blank=True, max_length=1024, null=True, verbose_name='学完想达到的具体期望')),
                ('contract_agreed', models.BooleanField(default=False, verbose_name='我已认真阅读完培训协议并同意全部协议内容')),
                ('contract_approved', models.BooleanField(default=False, help_text='在审阅完学员的资料无误后勾选此项,合同即生效', verbose_name='审批通过')),
                ('enrolled_date', models.DateTimeField(auto_now_add=True, verbose_name='报名日期')),
                ('memo', models.TextField(blank=True, null=True, verbose_name='备注')),
                ('delete_status', models.BooleanField(default=False, verbose_name='删除状态')),
                ('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Customer', verbose_name='客户名称')),
                ('enrolment_class', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.ClassList', verbose_name='所报班级')),
                ('school', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Campuses')),
            ],
        ),
        migrations.CreateModel(
            name='PaymentRecord',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('pay_type', models.CharField(choices=[('deposit', '订金/报名费'), ('tuition', '学费'), ('transfer', '转班'), ('dropout', '退学'), ('refund', '退款')], default='deposit', max_length=64, verbose_name='费用类型')),
                ('paid_fee', models.IntegerField(default=0, verbose_name='费用数额')),
                ('note', models.TextField(blank=True, null=True, verbose_name='备注')),
                ('date', models.DateTimeField(auto_now_add=True, verbose_name='交款日期')),
                ('course', models.CharField(blank=True, choices=[('LinuxL', 'Linux中高级'), ('PythonFullStack', 'Python高级全栈开发')], default='N/A', max_length=64, null=True, verbose_name='课程名')),
                ('class_type', models.CharField(blank=True, choices=[('fulltime', '脱产班'), ('online', '网络班'), ('weekend', '周末班')], default='N/A', max_length=64, null=True, verbose_name='班级类型')),
                ('delete_status', models.BooleanField(default=False, verbose_name='删除状态')),
                ('status', models.IntegerField(choices=[(1, '未审核'), (2, '已审核')], default=1, verbose_name='审核')),
                ('confirm_date', models.DateTimeField(blank=True, null=True, verbose_name='确认日期')),
            ],
        ),
        migrations.CreateModel(
            name='StudyRecord',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('attendance', models.CharField(choices=[('checked', '已签到'), ('vacate', '请假'), ('late', '迟到'), ('absence', '缺勤'), ('leave_early', '早退')], default='checked', max_length=64, verbose_name='考勤')),
                ('score', models.IntegerField(choices=[(100, 'A+'), (90, 'A'), (85, 'B+'), (80, 'B'), (70, 'B-'), (60, 'C+'), (50, 'C'), (40, 'C-'), (0, ' D'), (-1, 'N/A'), (-100, 'COPY'), (-1000, 'FAIL')], default=-1, verbose_name='本节成绩')),
                ('homework_note', models.CharField(blank=True, max_length=255, null=True, verbose_name='作业批语')),
                ('date', models.DateTimeField(auto_now_add=True)),
                ('note', models.CharField(blank=True, max_length=255, null=True, verbose_name='备注')),
                ('homework', models.FileField(blank=True, default=None, null=True, upload_to='', verbose_name='作业文件')),
                ('course_record', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.CourseRecord', verbose_name='某节课程')),
                ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Customer', verbose_name='学员')),
            ],
        ),
        migrations.CreateModel(
            name='UserProfile',
            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.EmailField(max_length=255, unique=True)),
                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
                ('is_admin', models.BooleanField(default=False)),
                ('name', models.CharField(max_length=32, verbose_name='名字')),
                ('mobile', models.CharField(blank=True, default=None, max_length=32, null=True, verbose_name='手机')),
                ('memo', models.TextField(blank=True, default=None, null=True, verbose_name='备注')),
                ('date_joined', models.DateTimeField(auto_now_add=True)),
                ('department', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='CRM.Department')),
                ('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': '账户信息',
                'verbose_name_plural': '账户信息',
            },
            managers=[
                ('objects', CRM.models.UserManager()),
            ],
        ),
        migrations.AddField(
            model_name='paymentrecord',
            name='confirm_user',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='confirms', to=settings.AUTH_USER_MODEL, verbose_name='确认人'),
        ),
        migrations.AddField(
            model_name='paymentrecord',
            name='consultant',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='销售'),
        ),
        migrations.AddField(
            model_name='paymentrecord',
            name='customer',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Customer', verbose_name='客户'),
        ),
        migrations.AddField(
            model_name='paymentrecord',
            name='enrolment_class',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='CRM.ClassList', verbose_name='所报班级'),
        ),
        migrations.AddField(
            model_name='customer',
            name='consultant',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customers', to=settings.AUTH_USER_MODEL, verbose_name='销售'),
        ),
        migrations.AddField(
            model_name='customer',
            name='introduce_from',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='CRM.Customer', verbose_name='转介绍自学员'),
        ),
        migrations.AddField(
            model_name='customer',
            name='network_consultant',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='network_consultant', to=settings.AUTH_USER_MODEL, verbose_name='咨询师'),
        ),
        migrations.AddField(
            model_name='courserecord',
            name='teacher',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='讲师'),
        ),
        migrations.AddField(
            model_name='consultrecord',
            name='consultant',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to=settings.AUTH_USER_MODEL, verbose_name='跟进人'),
        ),
        migrations.AddField(
            model_name='consultrecord',
            name='customer',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='CRM.Customer', verbose_name='所咨询客户'),
        ),
        migrations.AddField(
            model_name='classlist',
            name='contract',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='CRM.ContractTemplate', verbose_name='选择合同模版'),
        ),
        migrations.AddField(
            model_name='classlist',
            name='teachers',
            field=models.ManyToManyField(to=settings.AUTH_USER_MODEL, verbose_name='老师'),
        ),
        migrations.AlterUniqueTogether(
            name='studyrecord',
            unique_together=set([('course_record', 'student')]),
        ),
        migrations.AlterUniqueTogether(
            name='enrollment',
            unique_together=set([('enrolment_class', 'customer')]),
        ),
        migrations.AlterUniqueTogether(
            name='courserecord',
            unique_together=set([('re_class', 'day_num')]),
        ),
        migrations.AlterUniqueTogether(
            name='classlist',
            unique_together=set([('course', 'semester', 'campuses')]),
        ),
    ]
class Migration(migrations.Migration):

    dependencies = [
        ('CRM', '0013_auto_20190406_0838'),
    ]

    operations = [
        migrations.AlterField(
            model_name='account',
            name='expiration_date',
            field=models.DateField(default=datetime.datetime(
                2023, 4, 5, 10, 7, 18, 361550, tzinfo=utc)),
        ),
        migrations.AlterField(
            model_name='transaction',
            name='receiver_account',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='receiver_account',
                to='CRM.Account'),
        ),
        migrations.AlterField(
            model_name='transaction',
            name='sender_account',
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name='sender_account',
                to='CRM.Account'),
        ),
        migrations.CreateModel(
            name='Withdrawal',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('number',
                 models.CharField(default=CRM.models.generateTransactionId,
                                  max_length=365000)),
                ('date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('amount',
                 models.DecimalField(decimal_places=2,
                                     default=0,
                                     max_digits=10)),
                ('account',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='withdrawal_account',
                                   to='CRM.Account')),
            ],
        ),
        migrations.CreateModel(
            name='Payment',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('number',
                 models.CharField(default=CRM.models.generateTransactionId,
                                  max_length=365000)),
                ('date',
                 models.DateTimeField(default=django.utils.timezone.now)),
                ('amount',
                 models.DecimalField(decimal_places=2,
                                     default=0,
                                     max_digits=10)),
                ('account',
                 models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
                                   related_name='payment_account',
                                   to='CRM.Account')),
            ],
        ),
    ]
示例#6
0
class Migration(migrations.Migration):

    initial = True

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

    operations = [
        migrations.CreateModel(
            name='Category',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
            options={
                'verbose_name_plural': 'Categories',
                'default_related_name': 'Category',
            },
        ),
        migrations.CreateModel(
            name='Check',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('date', models.DateTimeField(blank=True, null=True)),
                ('total_sum', models.FloatField(default=0, editable=False)),
            ],
            options={
                'verbose_name': 'Check',
                'verbose_name_plural': 'Checks',
                'default_related_name': 'checks',
            },
        ),
        migrations.CreateModel(
            name='Department',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
            options={
                'verbose_name': 'Department',
                'verbose_name_plural': 'Departments',
            },
        ),
        migrations.CreateModel(
            name='Meal',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
                ('price', models.IntegerField()),
                ('description', models.CharField(max_length=400)),
                ('category',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='Meal',
                     to='CRM.Category')),
            ],
            options={
                'verbose_name_plural': 'Meals',
                'default_related_name': 'Meal',
            },
        ),
        migrations.CreateModel(
            name='MealsToOrder',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('count', models.IntegerField(default=1)),
                ('meals',
                 models.ForeignKey(
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='MealsToOrder',
                     to='CRM.Meal')),
            ],
            options={
                'verbose_name_plural': 'MealsToOrders',
                'default_related_name': 'MealsToOrder',
            },
        ),
        migrations.CreateModel(
            name='Order',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('date', models.DateTimeField(blank=True, null=True)),
                ('meals',
                 models.ManyToManyField(related_name='Orders',
                                        through='CRM.MealsToOrder',
                                        to='CRM.Meal')),
            ],
            options={
                'verbose_name': 'Order',
                'verbose_name_plural': 'Orders',
                'default_related_name': 'Orders',
            },
        ),
        migrations.CreateModel(
            name='Role',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
            options={
                'verbose_name': 'Role',
                'verbose_name_plural': 'Roles',
            },
        ),
        migrations.CreateModel(
            name='ServicePercentage',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('percentages', models.FloatField()),
            ],
            options={
                'verbose_name': 'Percentage',
                'verbose_name_plural': 'Percentages',
            },
        ),
        migrations.CreateModel(
            name='Status',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
            options={
                'verbose_name': 'Status',
                'verbose_name_plural': 'Statuses',
            },
        ),
        migrations.CreateModel(
            name='Table',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('name', models.CharField(max_length=200)),
            ],
            options={
                'verbose_name': 'Table',
                'verbose_name_plural': 'Tables',
            },
        ),
        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')),
                ('name', models.CharField(max_length=200)),
                ('surname', models.CharField(max_length=200)),
                ('email', models.EmailField(max_length=40, unique=True)),
                ('phone', models.CharField(max_length=150)),
                ('is_active', models.BooleanField(default=True)),
                ('is_staff', 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')),
                ('role',
                 models.ForeignKey(
                     default=None,
                     null=True,
                     on_delete=django.db.models.deletion.SET_NULL,
                     related_name='User',
                     to='CRM.Role')),
                ('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',
                'default_related_name': 'User',
            },
            managers=[
                ('objects', CRM.models.UserManager()),
            ],
        ),
        migrations.AddField(
            model_name='order',
            name='tables',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='Orders',
                to='CRM.Table'),
        ),
        migrations.AddField(
            model_name='mealstoorder',
            name='orders',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='MealsToOrder',
                to='CRM.Order'),
        ),
        migrations.AddField(
            model_name='check',
            name='order',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='Checks',
                to='CRM.Order'),
        ),
        migrations.AddField(
            model_name='check',
            name='persentage',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='checks',
                to='CRM.ServicePercentage'),
        ),
        migrations.AddField(
            model_name='check',
            name='waiter',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='Checks',
                to=settings.AUTH_USER_MODEL),
        ),
        migrations.AddField(
            model_name='category',
            name='department',
            field=models.ForeignKey(
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name='Category',
                to='CRM.Department'),
        ),
    ]