class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='AssetFile', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(max_length=250)), ('content', models.FileField(upload_to=assets.models.asset_file_upload_path, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['mp4', 'mp3'])])), ('created_at', models.DateTimeField(auto_now_add=True)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='AssetFilePart', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('content', models.FileField(upload_to=assets.models.asset_file__part_upload_path)), ('order', models.PositiveIntegerField()), ('created_at', models.DateTimeField(auto_now_add=True)), ('asset_file', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='asset_file_parts', to='assets.AssetFile')), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('users', '0005_profile_is_delegated'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('assets', '0011_auto_20211123_1140'), ] operations = [ migrations.CreateModel( name='DynamicAssetGroup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=256, unique=True)), ('criticity', models.CharField(choices=[('low', 'low'), ('medium', 'medium'), ('high', 'high')], default='low', max_length=10)), ('risk_level', django.contrib.postgres.fields.jsonb.JSONField( default=assets.models.get_default_risk_level)), ('description', models.CharField(blank=True, max_length=256, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('owner', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ('tags', models.ManyToManyField(blank=True, to='assets.AssetCategory')), ('teams', models.ManyToManyField(blank=True, to='users.Team')), ], options={ 'db_table': 'asset_groups_dynamic', }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Asset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset_type', models.CharField(choices=[('server', '服务器'), ('networkdevice', '网络设备'), ('storagedevice', '存储设备')], default='server', max_length=64, verbose_name='资产类型')), ('name', models.CharField(max_length=64, unique=True, verbose_name='资产名称')), ('sysname', models.CharField(max_length=64, verbose_name='sysname')), ('vender', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备厂商')), ('model', models.CharField(blank=True, max_length=128, null=True, verbose_name='设备型号')), ('memo', models.TextField(blank=True, null=True, verbose_name='备注')), ('c_time', models.DateTimeField(auto_now_add=True, verbose_name='创建日期')), ], options={ 'verbose_name': '资产总表', 'verbose_name_plural': '资产总表', 'ordering': ['-c_time'], }, ), migrations.CreateModel( name='CableTableFille', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models.FileField( upload_to=assets.models.basefile_directory_path)), ('name', models.CharField(max_length=64)), ('c_time', models.DateTimeField(auto_now_add=True, verbose_name='创建日期')), ], options={ 'verbose_name': '布线表', 'verbose_name_plural': '布线表', 'ordering': ['-c_time'], }, ), migrations.CreateModel( name='DescFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models.FileField( upload_to=assets.models.descFile_directory_path)), ('name', models.CharField(max_length=64)), ('c_time', models.DateTimeField(auto_now_add=True, verbose_name='创建日期')), ], options={ 'verbose_name': '网络设备描述配置', 'verbose_name_plural': '网络设备描述配置', 'ordering': ['-c_time'], }, ), migrations.CreateModel( name='Locate', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('region', models.CharField(max_length=10, verbose_name='数据中心')), ('machine_room', models.CharField(max_length=10, verbose_name='机房')), ('cabinet', models.CharField(max_length=2, verbose_name='机柜')), ('cabinet_num', models.CharField(max_length=2, verbose_name='机柜号')), ], options={ 'verbose_name': '设备位置', 'verbose_name_plural': '设备位置', }, ), migrations.CreateModel( name='NetworkDevice', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sub_asset_type', models.SmallIntegerField(choices=[(0, '交换机'), (1, '防火墙'), (2, '负载均衡器'), (3, 'SAN交换机'), (4, '路由器')], default=0, verbose_name='网络设备类型')), ('asset', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to='assets.Asset')), ], options={ 'verbose_name': '网络设备', 'verbose_name_plural': '网络设备', }, ), migrations.CreateModel( name='Port', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('speed', models.SmallIntegerField(blank=True, choices=[(1, 'G'), (10, 'XG'), (40, '40G'), (100, '100G'), (None, None)], default=None, null=True, verbose_name='端口速率')), ('chassisNum', models.SmallIntegerField(blank=True, default=None, null=True, verbose_name='机框号')), ('slotNum', models.SmallIntegerField(blank=True, default=None, null=True, verbose_name='板卡槽位号')), ('subSlotNum', models.SmallIntegerField(blank=True, default=None, null=True, verbose_name='子板卡槽位号')), ('portNum', models.CharField(max_length=16, verbose_name='端口号')), ('asset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.Asset')), ('remotePort', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='assets.Port')), ], options={ 'verbose_name': '端口名', 'verbose_name_plural': '端口名', }, ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=20, verbose_name='项目名')), ('department', models.CharField(blank=True, max_length=20, null=True, verbose_name='业务归属科室')), ('system', models.CharField(blank=True, max_length=20, null=True, verbose_name='所属业务系统')), ('module', models.CharField(blank=True, max_length=20, null=True, verbose_name='所属业务模块')), ('platform', models.CharField(blank=True, max_length=20, null=True, verbose_name='所属业务平台')), ('company', models.CharField(blank=True, max_length=20, null=True, verbose_name='所属业务公司')), ('administrator', models.CharField(blank=True, max_length=32, null=True, verbose_name='项目管理员')), ], options={ 'verbose_name': '项目', 'verbose_name_plural': '项目', }, ), migrations.CreateModel( name='Server', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to='assets.Asset')), ], options={ 'verbose_name': '服务器', 'verbose_name_plural': '服务器', }, ), migrations.CreateModel( name='StorDevice', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to='assets.Asset')), ], options={ 'verbose_name': '存储设备', 'verbose_name_plural': '存储设备', }, ), migrations.AddField( model_name='descfile', name='project', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='assets.Project'), ), migrations.AddField( model_name='cabletablefille', name='project', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='assets.Project'), ), migrations.AddField( model_name='asset', name='locate', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.Locate', verbose_name='所在位置'), ), migrations.AddField( model_name='asset', name='project', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.Project', verbose_name='所属项目'), ), migrations.AlterUniqueTogether( name='port', unique_together={('asset', 'speed', 'chassisNum', 'slotNum', 'subSlotNum', 'portNum')}, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Asset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('serial_number', models.CharField(max_length=17, unique=True, verbose_name='engine serial number')), ('odometer', models.DecimalField(decimal_places=2, default=0, max_digits=9)), ('in_miles', models.BooleanField(default=False)), ('in_kilometers', models.BooleanField(default=False)), ('in_hours', models.BooleanField(default=False)), ], options={ 'ordering': ['user'], }, ), migrations.CreateModel( name='Automobile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='name of asset')), ('slug', models.SlugField(blank=True, help_text='leave blank, or unique name', null=True, unique=True)), ('engineering_equipment', models.CharField(choices=[('Cr', 'cars'), ('T', 'trucks'), ('Bu', 'buses'), ('At', "off road ATV's"), ('Mc', 'motorcycles'), ('Sn', 'snowmobiles'), ('Tc', 'tractors'), ('Bu', 'bulldozers'), ('Se', 'seed drills'), ('BL', 'backhoe loaders'), ('Co', 'continuous tracks'), ('HE', 'hydraulic excavators'), ('DT', 'dump trucks'), ('WD', 'wheel dozers'), ('DL', 'drag liners'), ('SK', 'skid-steer loaders'), ('MG', 'motor graders'), ('CL', 'crawler loaders'), ('Tr', 'Trenchers'), ('AT', 'articulated trucks'), ('AP', 'asphalt pavers'), ('CP', 'cold planers'), ('CT', 'compact tracks'), ('MT', 'multi-terrain loaders'), ('Co', 'compactors'), ('Ex', 'excavetors'), ('FB', 'feller bunchers'), ('F', 'forwarders'), ('H', 'harvesters'), ('KL', 'knuckleboom loaders'), ('Lo', 'loaders'), ('OT', 'off-highway trucks'), ('Sk', 'skidders'), ('Te', 'telehandlers'), ('WT', 'wheel tracktor-scrapers'), ('PW', 'power plants')], default='Cr', max_length=2)), ('year', models.CharField(choices=[('2019', '2019'), ('2018', '2018'), ('2017', '2017'), ('2016', '2016'), ('2015', '2015'), ('2014', '2014'), ('2013', '2013'), ('2012', '2012'), ('2011', '2011'), ('2010', '2010'), ('2009', '2009'), ('2008', '2008'), ('2007', '2007'), ('2006', '2006'), ('2005', '2005'), ('2004', '2004'), ('2003', '2003'), ('2002', '2002'), ('2001', '2001'), ('1999', '1999'), ('1998', '1998'), ('1997', '1997'), ('1996', '1996'), ('1995', '1995'), ('1994', '1994'), ('1993', '1993'), ('1992', '1992'), ('1991', '1991'), ('1990', '1990'), ('1989', '1989'), ('1988', '1988'), ('1987', '1987'), ('1986', '1986'), ('1985', '1985'), ('1984', '1984'), ('1983', '1983'), ('1982', '1982'), ('1981', '1981'), ('1980', '1980'), ('1979', '1979'), ('1978', '1978'), ('1977', '1977'), ('1976', '1976'), ('1975', '1975'), ('1974', '1974'), ('1973', '1973'), ('1972', '1972'), ('1971', '1971'), ('1970', '1970'), ('1969', '1969'), ('1968', '1968'), ('1967', '1967'), ('1966', '1966'), ('1965', '1965'), ('1964', '1964'), ('1963', '1963'), ('1962', '1962'), ('1961', '1961'), ('1960', '1960'), ('1959', '1959'), ('1958', '1958'), ('1957', '1957'), ('1956', '1956'), ('1955', '1955'), ('1954', '1954'), ('1953', '1953'), ('1952', '1952'), ('1951', '1951'), ('1950', '1950'), ('1949', '1949'), ('1948', '1948'), ('1947', '1947'), ('1946', '1946'), ('1946', '1945'), ('1944', '1944'), ('1943', '1943'), ('1942', '1942'), ('1941', '1941'), ('1940', '1940'), ('1939', '1939'), ('1938', '1938'), ('1937', '1937'), ('1936', '1936'), ('1935', '1935'), ('1934', '1934'), ('1933', '1933'), ('1932', '1932'), ('1931', '1931'), ('1930', '1930'), ('1929', '1929'), ('1928', '1928'), ('1927', '1927'), ('1926', '1926'), ('1925', '1925'), ('1924', '1924'), ('1923', '1923'), ('1922', '1922'), ('1921', '1921'), ('1920', '1920'), ('1919', '1919'), ('1918', '1918'), ('1917', '1917'), ('1916', '1916'), ('1915', '1915'), ('1914', '1914'), ('1913', '1913'), ('1912', '1912'), ('1911', '1911'), ('1910', '1910'), ('1909', '1909'), ('1908', '1908'), ('1907', '1907'), ('1906', '1906'), ('1905', '1905'), ('1904', '1904'), ('1903', '1903'), ('1902', '1902'), ('1901', '1901')], default='2019', max_length=4, verbose_name='year built')), ('gross_weight', models.PositiveIntegerField(blank=True, null=True)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=assets.models.upload_location, width_field='width_field')), ('height_field', models.IntegerField(default=0)), ('width_field', models.IntegerField(default=0)), ('content', models.TextField(verbose_name='description and condition')), ('used_for', models.CharField(max_length=120)), ('color', models.CharField(blank=True, max_length=120, null=True)), ('fuel', models.CharField(choices=[('G', 'gasoline'), ('D', 'diesel'), ('M', 'mix two cycle'), ('E', 'electric'), ('H', 'hybrid'), ('W', 'wind'), ('P', 'human powered')], max_length=1, verbose_name='type of fuel')), ('license_plate', models.CharField(blank=True, max_length=17, null=True, unique=True, verbose_name='tag/licence plate')), ('vin', models.CharField(default='JNRAR05YX049150', max_length=17, unique=True, verbose_name='vin or hull id')), ('fees_paid', models.DecimalField(decimal_places=2, default=51.0, max_digits=6)), ('wt_wheels', models.IntegerField(default=4141)), ('body_type', models.CharField(choices=[('UT', 'utility'), ('SP', 'sport'), ('4D', 'four door'), ('VY', 'v drive motor Yacht'), ('WA', 'walk around'), ('BR', 'bow rider'), ('FB', 'flat bottom'), ('CT', 'catamaran')], default='UT', max_length=4)), ('cylinders', models.IntegerField(default=6)), ('registered_owner', models.CharField(default='Owner', max_length=25)), ('owners_address', models.CharField(default='address', max_length=120)), ('is_it_insured', models.BooleanField(default=False)), ('insurance_type', models.CharField(default='auto', max_length=100)), ('insurance_cost', models.DecimalField(decimal_places=2, default=159.26, max_digits=5)), ('insurance_policy_number', models.CharField(max_length=12)), ('emergency_roadside_assistance', models.BooleanField(default=False)), ('assistance_miles', models.IntegerField(blank=True, default=20, null=True)), ('wheelbase', models.DecimalField(blank=True, decimal_places=2, default=106.3, max_digits=6, null=True)), ('overall_length', models.DecimalField(blank=True, decimal_places=2, default=183.9, max_digits=6, null=True)), ('overall_height', models.DecimalField(blank=True, decimal_places=2, default=70.7, max_digits=6, null=True)), ('min_ground_clearance', models.DecimalField(blank=True, decimal_places=2, default=8.3, max_digits=6, null=True)), ('base_curb_weight', models.DecimalField(blank=True, decimal_places=2, default=4352, max_digits=6, null=True)), ], options={ 'ordering': ['user', 'brand', 'model', 'year'], }, ), migrations.CreateModel( name='CarManufacturer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(choices=[ ('se', 'select make'), ('ac', 'acura'), ('am', 'am general'), ('au', 'audi'), ('be', 'bentley'), ('bm', 'bmw'), ('bu', 'buick'), ('ca', 'cadillac'), ('ch', 'chevrolet'), ('cr', 'chrysler'), ('da', 'daewoo'), ('do', 'dodge'), ('fe', 'ferrari'), ('fo', 'ford'), ('fr', 'freightliner'), ('gm', 'gmc'), ('ho', 'honda'), ('hy', 'hyundai'), ('in', 'infiniti'), ('it', 'international'), ('is', 'isuzu'), ('ja', 'jaguar'), ('je', 'jeep'), ('ki', 'kia'), ('la', 'lamborghini'), ('lr', 'land rover'), ('le', 'lexus'), ('li', 'lincoln'), ('lo', 'lotus'), ('ma', 'mazda'), ('me', 'mercedes benz'), ('mr', 'mercury'), ('mi', 'mitsubishi'), ('ni', 'nissan'), ('ol', 'oldsmobile'), ('pl', 'plymouth'), ('po', 'pontiac'), ('pr', 'porsche'), ('ro', 'rolls royce'), ('sa', 'saab'), ('st', 'saturn'), ('st', 'sterling'), ('su', 'subaru'), ('sz', 'suzuki'), ('to', 'toyota'), ('vw', 'volkswagen'), ('vo', 'volvo') ], default='se', max_length=2, verbose_name='make')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='CarModelType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, verbose_name='model')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='Equipment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='name of asset')), ('slug', models.SlugField(blank=True, help_text='leave blank, or unique name', null=True, unique=True)), ('year', models.CharField(choices=[('2019', '2019'), ('2018', '2018'), ('2017', '2017'), ('2016', '2016'), ('2015', '2015'), ('2014', '2014'), ('2013', '2013'), ('2012', '2012'), ('2011', '2011'), ('2010', '2010'), ('2009', '2009'), ('2008', '2008'), ('2007', '2007'), ('2006', '2006'), ('2005', '2005'), ('2004', '2004'), ('2003', '2003'), ('2002', '2002'), ('2001', '2001'), ('1999', '1999'), ('1998', '1998'), ('1997', '1997'), ('1996', '1996'), ('1995', '1995'), ('1994', '1994'), ('1993', '1993'), ('1992', '1992'), ('1991', '1991'), ('1990', '1990'), ('1989', '1989'), ('1988', '1988'), ('1987', '1987'), ('1986', '1986'), ('1985', '1985'), ('1984', '1984'), ('1983', '1983'), ('1982', '1982'), ('1981', '1981'), ('1980', '1980'), ('1979', '1979'), ('1978', '1978'), ('1977', '1977'), ('1976', '1976'), ('1975', '1975'), ('1974', '1974'), ('1973', '1973'), ('1972', '1972'), ('1971', '1971'), ('1970', '1970'), ('1969', '1969'), ('1968', '1968'), ('1967', '1967'), ('1966', '1966'), ('1965', '1965'), ('1964', '1964'), ('1963', '1963'), ('1962', '1962'), ('1961', '1961'), ('1960', '1960'), ('1959', '1959'), ('1958', '1958'), ('1957', '1957'), ('1956', '1956'), ('1955', '1955'), ('1954', '1954'), ('1953', '1953'), ('1952', '1952'), ('1951', '1951'), ('1950', '1950'), ('1949', '1949'), ('1948', '1948'), ('1947', '1947'), ('1946', '1946'), ('1946', '1945'), ('1944', '1944'), ('1943', '1943'), ('1942', '1942'), ('1941', '1941'), ('1940', '1940'), ('1939', '1939'), ('1938', '1938'), ('1937', '1937'), ('1936', '1936'), ('1935', '1935'), ('1934', '1934'), ('1933', '1933'), ('1932', '1932'), ('1931', '1931'), ('1930', '1930'), ('1929', '1929'), ('1928', '1928'), ('1927', '1927'), ('1926', '1926'), ('1925', '1925'), ('1924', '1924'), ('1923', '1923'), ('1922', '1922'), ('1921', '1921'), ('1920', '1920'), ('1919', '1919'), ('1918', '1918'), ('1917', '1917'), ('1916', '1916'), ('1915', '1915'), ('1914', '1914'), ('1913', '1913'), ('1912', '1912'), ('1911', '1911'), ('1910', '1910'), ('1909', '1909'), ('1908', '1908'), ('1907', '1907'), ('1906', '1906'), ('1905', '1905'), ('1904', '1904'), ('1903', '1903'), ('1902', '1902'), ('1901', '1901')], default='2019', max_length=4, verbose_name='year built')), ('gross_weight', models.PositiveIntegerField(blank=True, null=True)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=assets.models.upload_location, width_field='width_field')), ('height_field', models.IntegerField(default=0)), ('width_field', models.IntegerField(default=0)), ('content', models.TextField(verbose_name='description and condition')), ('used_for', models.CharField(max_length=120)), ('color', models.CharField(blank=True, max_length=120, null=True)), ('fuel', models.CharField(choices=[('G', 'gasoline'), ('D', 'diesel'), ('M', 'mix two cycle'), ('E', 'electric'), ('H', 'hybrid'), ('W', 'wind'), ('P', 'human powered')], max_length=1, verbose_name='type of fuel')), ], options={ 'ordering': ['user', 'brand', 'model', 'year'], }, ), migrations.CreateModel( name='EquipmentManufacturer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, unique=True, verbose_name='brand')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='EquipmentModelType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, verbose_name='model')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='HeavyEquipmentManufacturer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, unique=True, verbose_name='make')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='HeavyEquipmentModelType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, verbose_name='model')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='MarineModelType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, verbose_name='model')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='MarineVessel', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(blank=True, help_text='name of the vessel', max_length=30, null=True)), ('slug', models.SlugField(blank=True, help_text='leave blank, or unique name', null=True, unique=True)), ('port_of_registry', models.CharField(blank=True, max_length=100, null=True)), ('reg_exp_date', models.DateField(blank=True, null=True)), ('vehicle_classification', models.CharField(choices=[ ('UPV', 'uninspected passenger vessels'), ('IPV', 'inspected passenger vessels'), ('PWC', 'personal water craft') ], default='PV', max_length=3)), ('year', models.CharField(choices=[('2019', '2019'), ('2018', '2018'), ('2017', '2017'), ('2016', '2016'), ('2015', '2015'), ('2014', '2014'), ('2013', '2013'), ('2012', '2012'), ('2011', '2011'), ('2010', '2010'), ('2009', '2009'), ('2008', '2008'), ('2007', '2007'), ('2006', '2006'), ('2005', '2005'), ('2004', '2004'), ('2003', '2003'), ('2002', '2002'), ('2001', '2001'), ('1999', '1999'), ('1998', '1998'), ('1997', '1997'), ('1996', '1996'), ('1995', '1995'), ('1994', '1994'), ('1993', '1993'), ('1992', '1992'), ('1991', '1991'), ('1990', '1990'), ('1989', '1989'), ('1988', '1988'), ('1987', '1987'), ('1986', '1986'), ('1985', '1985'), ('1984', '1984'), ('1983', '1983'), ('1982', '1982'), ('1981', '1981'), ('1980', '1980'), ('1979', '1979'), ('1978', '1978'), ('1977', '1977'), ('1976', '1976'), ('1975', '1975'), ('1974', '1974'), ('1973', '1973'), ('1972', '1972'), ('1971', '1971'), ('1970', '1970'), ('1969', '1969'), ('1968', '1968'), ('1967', '1967'), ('1966', '1966'), ('1965', '1965'), ('1964', '1964'), ('1963', '1963'), ('1962', '1962'), ('1961', '1961'), ('1960', '1960'), ('1959', '1959'), ('1958', '1958'), ('1957', '1957'), ('1956', '1956'), ('1955', '1955'), ('1954', '1954'), ('1953', '1953'), ('1952', '1952'), ('1951', '1951'), ('1950', '1950'), ('1949', '1949'), ('1948', '1948'), ('1947', '1947'), ('1946', '1946'), ('1946', '1945'), ('1944', '1944'), ('1943', '1943'), ('1942', '1942'), ('1941', '1941'), ('1940', '1940'), ('1939', '1939'), ('1938', '1938'), ('1937', '1937'), ('1936', '1936'), ('1935', '1935'), ('1934', '1934'), ('1933', '1933'), ('1932', '1932'), ('1931', '1931'), ('1930', '1930'), ('1929', '1929'), ('1928', '1928'), ('1927', '1927'), ('1926', '1926'), ('1925', '1925'), ('1924', '1924'), ('1923', '1923'), ('1922', '1922'), ('1921', '1921'), ('1920', '1920'), ('1919', '1919'), ('1918', '1918'), ('1917', '1917'), ('1916', '1916'), ('1915', '1915'), ('1914', '1914'), ('1913', '1913'), ('1912', '1912'), ('1911', '1911'), ('1910', '1910'), ('1909', '1909'), ('1908', '1908'), ('1907', '1907'), ('1906', '1906'), ('1905', '1905'), ('1904', '1904'), ('1903', '1903'), ('1902', '1902'), ('1901', '1901')], default='2019', max_length=4, verbose_name='year built')), ('gross_weight', models.PositiveIntegerField(blank=True, null=True)), ('hull_number', models.CharField(max_length=17)), ('hull_type', models.CharField(choices=[('MV', 'mono hull deep V'), ('MF', 'mono hull flat bottom'), ('CD', 'catamaran double hull'), ('CT', 'catamaran triple hull')], default='MV', max_length=2)), ('hull_material', models.CharField(choices=[('F', 'fiberglass'), ('W', 'wood'), ('A', 'aluminum'), ('S', 'steel'), ('C', 'cement'), ('K', 'kevlar')], default='F', max_length=1)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=assets.models.marine_vessel, width_field='width_field')), ('height_field', models.IntegerField(default=0)), ('width_field', models.IntegerField(default=0)), ('content', models.TextField(verbose_name='description and condition')), ('used_for', models.CharField(max_length=100)), ('registered_owner', models.CharField(default='Owner', max_length=25)), ('owners_address', models.CharField(default='address', max_length=120)), ('is_it_insured', models.BooleanField(default=False)), ('insurance_type', models.CharField(default='marine', max_length=100)), ('insurance_cost', models.DecimalField(blank=True, decimal_places=2, default=159.26, max_digits=5)), ('insurance_policy_number', models.CharField(blank=True, max_length=6)), ('seatow', models.BooleanField(default=False)), ('assistance_miles', models.IntegerField(blank=True, default=20, null=True)), ('original_msrp', models.IntegerField(blank=True, default=36075, null=True)), ('price_paid', models.IntegerField(blank=True, default=400, help_text='in dollars', null=True)), ('reported_loa', models.PositiveIntegerField(blank=True, null=True)), ('reported_lwl', models.PositiveIntegerField(blank=True, null=True)), ('reported_beam', models.PositiveIntegerField(blank=True, null=True)), ('reported_draft', models.PositiveIntegerField(blank=True, null=True)), ('max_height', models.PositiveIntegerField(blank=True, null=True)), ], options={ 'ordering': ['user', 'brand', 'model', 'year'], }, ), migrations.CreateModel( name='MarineVesselManufacturer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=60, unique=True, verbose_name='brand')), ], options={ 'ordering': ['title'], }, ), migrations.CreateModel( name='Parts', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=35, verbose_name='part name')), ('part_number', models.CharField(max_length=17, unique=True)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=assets.models.parts_upload, width_field='width_field')), ('height_field', models.IntegerField(default=0)), ('width_field', models.IntegerField(default=0)), ('content', models.TextField(verbose_name='Part description')), ('used_for', models.CharField(max_length=200)), ('price', models.DecimalField(decimal_places=2, default=0.0, max_digits=6)), ('publish', models.DateTimeField(auto_now_add=True)), ('timestamp', models.DateTimeField(auto_now=True)), ], options={ 'ordering': ['title', 'part_number'], }, ), migrations.CreateModel( name='ThroughHull', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(help_text='center engine strainer', max_length=100, verbose_name='through hole purpose')), ], options={ 'ordering': ['title', 'part'], }, ), migrations.CreateModel( name='TypeOfAsset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='name of asset')), ('slug', models.SlugField(blank=True, help_text='leave blank, or unique name', null=True, unique=True)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=assets.models.upload_location, width_field='width_field')), ('height_field', models.IntegerField(default=0)), ('width_field', models.IntegerField(default=0)), ('content', models.TextField(verbose_name='description and condition')), ('publish', models.DateField(auto_now=True)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('draft', models.BooleanField(default=False)), ('land_vehicle', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='assets.Automobile')), ], options={ 'ordering': ['user', '-publish'], }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Asset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('value', models.CharField(max_length=256, unique=True)), ('name', models.CharField(max_length=256)), ('type', models.CharField(choices=[('ip', 'ip'), ('ip-range', 'ip-range'), ('ip-subnet', 'ip-subnet'), ('fqdn', 'fqdn'), ('domain', 'domain'), ('url', 'url'), ('keyword', 'keyword'), ('person', 'person'), ('organisation', 'organisation'), ('path', 'path'), ('application', 'application')], default='ip', max_length=15)), ('criticity', models.CharField(choices=[('low', 'low'), ('medium', 'medium'), ('high', 'high')], default='low', max_length=10)), ('risk_level', django.contrib.postgres.fields.jsonb.JSONField( default=assets.models.get_default_risk_level)), ('description', models.CharField(blank=True, max_length=256, null=True)), ('status', models.CharField(blank=True, default='new', max_length=30, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ], options={ 'db_table': 'assets', }, ), migrations.CreateModel( name='AssetCategory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('value', models.CharField(max_length=256)), ('comments', models.CharField(blank=None, default='n/a', max_length=256, null=True)), ('parent', models.ForeignKey(blank=None, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='assets.AssetCategory')), ], options={ 'verbose_name_plural': 'Asset categories', 'db_table': 'asset_categories', 'abstract': False, }, ), migrations.CreateModel( name='AssetOwnerDocument', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('file', models.FileField(blank=True, null=True, upload_to='')), ('doctitle', models.CharField(blank=True, max_length=256, null=True)), ('filename', models.CharField(blank=True, max_length=256, null=True)), ('filepath', models.CharField(blank=True, max_length=256, null=True)), ('tlp_color', models.CharField(choices=[('red', 'red'), ('amber', 'amber'), ('green', 'green'), ('white', 'white')], default='red', max_length=10)), ('comments', models.CharField(blank=True, max_length=256, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('owner', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'asset_owner_docs', }, ), migrations.CreateModel( name='AssetOwnerContact', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=256)), ('department', models.CharField(blank=True, max_length=256, null=True)), ('title', models.CharField(blank=True, max_length=256, null=True)), ('email', models.EmailField(blank=True, max_length=254, null=True)), ('phone', models.CharField(blank=True, max_length=20, null=True)), ('address', models.CharField(blank=True, max_length=256, null=True)), ('url', models.URLField(blank=True, null=True)), ('comments', models.CharField(blank=True, max_length=256, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('owner', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'asset_owner_contacts', }, ), migrations.CreateModel( name='AssetOwner', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=256)), ('url', models.URLField(blank=True, null=True)), ('comments', models.CharField(blank=True, max_length=256, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('assets', models.ManyToManyField(to='assets.Asset')), ('contacts', models.ManyToManyField(to='assets.AssetOwnerContact')), ('documents', models.ManyToManyField(to='assets.AssetOwnerDocument')), ('owner', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'asset_owners', }, ), migrations.CreateModel( name='AssetGroup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=256, unique=True)), ('criticity', models.CharField(choices=[('low', 'low'), ('medium', 'medium'), ('high', 'high')], default='None', max_length=10)), ('risk_level', django.contrib.postgres.fields.jsonb.JSONField( default=assets.models.get_default_risk_level)), ('description', models.CharField(blank=True, max_length=256, null=True)), ('status', models.CharField(blank=True, max_length=30, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('assets', models.ManyToManyField(to='assets.Asset')), ('categories', models.ManyToManyField(to='assets.AssetCategory')), ('owner', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], options={ 'db_table': 'asset_groups', }, ), migrations.AddField( model_name='asset', name='categories', field=models.ManyToManyField(to='assets.AssetCategory'), ), migrations.AddField( model_name='asset', name='owner', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), ), ]
class Migration(migrations.Migration): dependencies = [ ('assets', '0020_component_file_masks'), ] operations = [ migrations.AlterModelOptions( name='application', options={'verbose_name': 'application', 'verbose_name_plural': 'applications'}, ), migrations.AlterModelOptions( name='asset', options={'verbose_name': 'asset', 'verbose_name_plural': 'assets'}, ), migrations.AlterModelOptions( name='component', options={'verbose_name': 'component', 'verbose_name_plural': 'components'}, ), migrations.AlterModelOptions( name='license', options={'verbose_name': 'license', 'verbose_name_plural': 'licenses'}, ), migrations.AddField( model_name='profile', name='enable_api', field=models.BooleanField(default=False, verbose_name='Enable API'), ), migrations.AlterField( model_name='application', name='logo', field=models.ImageField(blank=True, null=True, upload_to=assets.models.get_logo_path, verbose_name='application logo'), ), migrations.AlterField( model_name='application', name='notes', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='application', name='notes_en', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='application', name='notes_ru', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='application', name='title', field=models.CharField(max_length=255, verbose_name='title'), ), migrations.AlterField( model_name='application', name='title_en', field=models.CharField(max_length=255, null=True, verbose_name='title'), ), migrations.AlterField( model_name='application', name='title_ru', field=models.CharField(max_length=255, null=True, verbose_name='title'), ), migrations.AlterField( model_name='application', name='url', field=models.URLField(blank=True, null=True, verbose_name='URL'), ), migrations.AlterField( model_name='component', name='application', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.Application', verbose_name='application'), ), migrations.AlterField( model_name='component', name='file_masks', field=models.CharField(default='*', help_text='space-separated list of file masks, e.g. *.jpg', max_length=64, verbose_name='Allowed file masks'), ), migrations.AlterField( model_name='component', name='install_instructions', field=models.TextField(blank=True, null=True, verbose_name='Installation instructions'), ), migrations.AlterField( model_name='component', name='install_instructions_en', field=models.TextField(blank=True, null=True, verbose_name='Installation instructions'), ), migrations.AlterField( model_name='component', name='install_instructions_ru', field=models.TextField(blank=True, null=True, verbose_name='Installation instructions'), ), migrations.AlterField( model_name='component', name='notes', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='component', name='notes_en', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='component', name='notes_ru', field=models.TextField(blank=True, null=True, verbose_name='notes'), ), migrations.AlterField( model_name='component', name='thumbnailer_name', field=models.CharField(blank=True, choices=[(b'assets.thumbnailers.ImageThumbnailer', b'Image file thumbnailer'), (b'assets.thumbnailers.KritaPresetThumbnailer', b'Krita preset thumbnailer'), (b'assets.thumbnailers.KritaBundleThumbnailer', b'Krita resource bundle thumbnailer')], default=None, max_length=64, null=True, verbose_name='automatic thumbnail creation'), ), migrations.AlterField( model_name='component', name='title', field=models.CharField(max_length=255, verbose_name='title'), ), migrations.AlterField( model_name='component', name='title_en', field=models.CharField(max_length=255, null=True, verbose_name='title'), ), migrations.AlterField( model_name='component', name='title_ru', field=models.CharField(max_length=255, null=True, verbose_name='title'), ), migrations.AlterField( model_name='component', name='upload_instructions', field=models.TextField(blank=True, null=True, verbose_name='Upload instructions'), ), migrations.AlterField( model_name='component', name='upload_instructions_en', field=models.TextField(blank=True, null=True, verbose_name='Upload instructions'), ), migrations.AlterField( model_name='component', name='upload_instructions_ru', field=models.TextField(blank=True, null=True, verbose_name='Upload instructions'), ), migrations.AlterField( model_name='license', name='notes', field=models.TextField(blank=True, null=True, verbose_name='Notes'), ), migrations.AlterField( model_name='license', name='text', field=models.TextField(blank=True, null=True, verbose_name='Legal text'), ), migrations.AlterField( model_name='license', name='title', field=models.CharField(max_length=255, verbose_name='Title'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Asset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset_display_name', models.CharField(max_length=255, verbose_name='name of venue')), ('date_created', models.DateTimeField(default=django.utils.timezone.now)), ('invite_code', models.CharField(default=assets.models.Asset.get_default_invite_code, max_length=12, unique=True, verbose_name='invitation code to share with members')), ('invite_code_url', models.URLField(default=assets.models.Asset.get_default_invite_url, unique=True, verbose_name='link to share with members')), ('asset_image', models.ImageField(blank=True, null=True, upload_to='asset_images', verbose_name='venue_image')), ('is_activated', models.BooleanField(blank=True, default=False, verbose_name='is this venue activated?')), ('requires_member_verification', models.BooleanField(blank=True, default=False, verbose_name='venue requires member verification?')), ('asset_weekday_opening_time', models.TimeField(default='09:00', verbose_name='Opening Time on a Weekday')), ('asset_weekday_closing_time', models.TimeField(default='20:00', verbose_name='Closing Time on a Weekday')), ('asset_weekend_opening_time', models.TimeField(default='10:00', verbose_name='Opening Time on a Weekend')), ('asset_weekend_closing_time', models.TimeField(default='18:00', verbose_name='Closing Time on a Weekend')), ('asset_max_bookings', models.IntegerField(default=3, verbose_name='Member Booking Limit')), ], ), migrations.CreateModel( name='AssetOpeningDay', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset_opening_days', models.IntegerField(verbose_name='Business Days per Week')), ('asset_opening_days_desc', models.CharField(max_length=30, verbose_name='Day Groups')), ], ), migrations.CreateModel( name='AssetSlotDuration', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset_slot_duration_mins', models.IntegerField(verbose_name='Booking Frequency')), ('asset_slot_duration_desc', models.CharField(max_length=30, verbose_name='Frequency Description')), ], ), migrations.CreateModel( name='AssetType', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('asset_type', models.CharField(max_length=30, verbose_name='Venue Classification')), ], ), migrations.CreateModel( name='Asset_User_Mapping', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('is_owner', models.BooleanField(verbose_name='Venue Owner/Employee')), ('date_created', models.DateTimeField(default=django.utils.timezone.now)), ('asset_membership_ID', models.CharField(blank=True, max_length=255, null=True, verbose_name='Member ID')), ('is_activated', models.BooleanField(default=True, verbose_name='user_status')), ('is_verified', models.BooleanField(default=False, verbose_name='user_verification_status')), ('invite_code_used', models.CharField(max_length=8, verbose_name='invitation code used')), ('asset_ID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='the_asset_asset', to='assets.Asset')), ('user_ID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='asset_users', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Asset_OpenDays_Exception', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('the_date', models.DateField(verbose_name='exception date')), ('asset_opening_time_exception', models.TimeField(default='09:00', verbose_name='Opening Time')), ('asset_closing_time_exception', models.TimeField(default='20:00', verbose_name='Closing Time')), ('asset_max_bookings', models.IntegerField(default=3, verbose_name='Member Booking Limit')), ('asset_ID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='the_asset', to='assets.Asset')), ('asset_slot_duration', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='assets.AssetSlotDuration', verbose_name='Booking Slot Duration (Minutes)')), ], ), migrations.AddField( model_name='asset', name='asset_opening_days', field=models.ForeignKey(default=3, on_delete=django.db.models.deletion.CASCADE, to='assets.AssetOpeningDay', verbose_name='Days Open per Week'), ), migrations.AddField( model_name='asset', name='asset_slot_duration', field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='assets.AssetSlotDuration', verbose_name='Booking Slot Duration (Minutes)'), ), migrations.AddField( model_name='asset', name='asset_type', field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='assets.AssetType', verbose_name='type of venue'), ), migrations.AddField( model_name='asset', name='asset_users', field=models.ManyToManyField(through='assets.Asset_User_Mapping', to=settings.AUTH_USER_MODEL, verbose_name='list of members'), ), migrations.AddConstraint( model_name='asset_opendays_exception', constraint=models.UniqueConstraint(fields=('the_date', 'asset_ID'), name='unique exception'), ), ]