diff --git a/admin.py b/admin.py new file mode 100644 index 00000000..d0f14bff --- /dev/null +++ b/admin.py @@ -0,0 +1,26 @@ +from django.contrib import admin +from assets import models as assets + +@admin.register(assets.AssetCategory) +class AssetCategoryAdmin(admin.ModelAdmin): + pass + + +@admin.register(assets.AssetStatus) +class AssetStatusAdmin(admin.ModelAdmin): + pass + + +@admin.register(assets.Supplier) +class SupplierAdmin(admin.ModelAdmin): + pass + + +@admin.register(assets.Collection) +class CollectionAdmin(admin.ModelAdmin): + pass + + +@admin.register(assets.Asset) +class AssetAdmin(admin.ModelAdmin): + pass diff --git a/migrations/0001_initial.py b/migrations/0001_initial.py new file mode 100644 index 00000000..c1951b19 --- /dev/null +++ b/migrations/0001_initial.py @@ -0,0 +1,86 @@ +# Generated by Django 2.0.2 on 2018-02-28 16:06 + +from django.db import migrations, models +import django.db.models.deletion + + +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_id', models.IntegerField()), + ('description', models.CharField(max_length=120)), + ('serial_number', models.CharField(blank=True, max_length=150, null=True)), + ('date_acquired', models.DateField()), + ('date_sold', models.DateField(blank=True, null=True)), + ('purchase_price', models.IntegerField()), + ('salvage_value', models.IntegerField(blank=True, null=True)), + ('comments', models.TextField(blank=True, null=True)), + ('next_sched_maint', models.DateField(blank=True, null=True)), + ], + ), + migrations.CreateModel( + name='AssetCategory', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + options={ + 'verbose_name': 'Asset Category', + 'verbose_name_plural': 'Asset Categories', + }, + ), + migrations.CreateModel( + name='AssetStatus', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + options={ + 'verbose_name': 'Asset Status', + 'verbose_name_plural': 'Asset Statuses', + }, + ), + migrations.CreateModel( + name='Collection', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + ), + migrations.CreateModel( + name='Supplier', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=80)), + ], + ), + migrations.AddField( + model_name='asset', + name='category', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.AssetCategory'), + ), + migrations.AddField( + model_name='asset', + name='collection', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.Collection'), + ), + migrations.AddField( + model_name='asset', + name='purchased_from', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='assets.Supplier'), + ), + migrations.AddField( + model_name='asset', + name='status', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='assets.AssetStatus'), + ), + ] diff --git a/migrations/__init__.py b/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/models.py b/models.py new file mode 100644 index 00000000..ff5ff9bf --- /dev/null +++ b/models.py @@ -0,0 +1,39 @@ +from django.db import models + +class AssetCategory(models.Model): + class Meta: + verbose_name = 'Asset Category' + verbose_name_plural = 'Asset Categories' + name = models.CharField(max_length=80) + + +class AssetStatus(models.Model): + class Meta: + verbose_name = 'Asset Status' + verbose_name_plural = 'Asset Statuses' + name = models.CharField(max_length=80) + + +class Supplier(models.Model): + name = models.CharField(max_length=80) + + +class Collection(models.Model): + name = models.CharField(max_length=80) + + +class Asset(models.Model): + asset_id = models.IntegerField() + description = models.CharField(max_length=120) + category = models.ForeignKey(to=AssetCategory, on_delete=models.CASCADE) + status = models.ForeignKey(to=AssetStatus, on_delete=models.CASCADE) + serial_number = models.CharField(max_length=150, blank=True, null=True) + purchased_from = models.ForeignKey(to=Supplier, on_delete=models.CASCADE, blank=True, null=True) + date_acquired = models.DateField() + date_sold = models.DateField(blank=True, null=True) + purchase_price = models.IntegerField() + salvage_value = models.IntegerField(blank=True, null=True) + comments = models.TextField(blank=True, null=True) + next_sched_maint = models.DateField(blank=True, null=True) + + collection = models.ForeignKey(to=Collection, on_delete=models.CASCADE) diff --git a/urls.py b/urls.py new file mode 100644 index 00000000..96f8167f --- /dev/null +++ b/urls.py @@ -0,0 +1,5 @@ +from django.urls import path + +urlpatterns = [ + +]