diff --git a/assets/migrations/0008_auto_20191002_1931.py b/assets/migrations/0008_auto_20191002_1931.py new file mode 100644 index 00000000..5a33befa --- /dev/null +++ b/assets/migrations/0008_auto_20191002_1931.py @@ -0,0 +1,98 @@ +# Generated by Django 2.0.13 on 2019-10-02 18:31 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('contenttypes', '0002_remove_content_type_name'), + ('assets', '0007_auto_20190108_0202'), + ] + + operations = [ + migrations.AlterModelOptions( + name='asset', + options={'base_manager_name': 'objects'}, + ), + migrations.AlterModelOptions( + name='cable', + options={'base_manager_name': 'objects'}, + ), + migrations.RemoveField( + model_name='asset', + name='length', + ), + migrations.RemoveField( + model_name='cable', + name='asset_id', + ), + migrations.RemoveField( + model_name='cable', + name='category', + ), + migrations.RemoveField( + model_name='cable', + name='comments', + ), + migrations.RemoveField( + model_name='cable', + name='date_acquired', + ), + migrations.RemoveField( + model_name='cable', + name='date_sold', + ), + migrations.RemoveField( + model_name='cable', + name='description', + ), + migrations.RemoveField( + model_name='cable', + name='id', + ), + migrations.RemoveField( + model_name='cable', + name='is_cable', + ), + migrations.RemoveField( + model_name='cable', + name='next_sched_maint', + ), + migrations.RemoveField( + model_name='cable', + name='parent', + ), + migrations.RemoveField( + model_name='cable', + name='purchase_price', + ), + migrations.RemoveField( + model_name='cable', + name='purchased_from', + ), + migrations.RemoveField( + model_name='cable', + name='salvage_value', + ), + migrations.RemoveField( + model_name='cable', + name='serial_number', + ), + migrations.RemoveField( + model_name='cable', + name='status', + ), + migrations.AddField( + model_name='asset', + name='polymorphic_ctype', + field=models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_assets.asset_set+', to='contenttypes.ContentType'), + ), + migrations.AddField( + model_name='cable', + name='asset_ptr', + field=models.OneToOneField(auto_created=True, default=0, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='assets.Asset'), + preserve_default=False, + ), + ] diff --git a/assets/models.py b/assets/models.py index b95f45de..37a57628 100644 --- a/assets/models.py +++ b/assets/models.py @@ -1,5 +1,6 @@ from django.db import models from django.urls import reverse +from polymorphic.models import PolymorphicModel import datetime @@ -36,9 +37,7 @@ class Supplier(models.Model): return self.name -class BaseAsset(models.Model): - class Meta: - abstract = True +class Asset(PolymorphicModel): parent = models.ForeignKey(to='self', related_name='asset_parent', blank=True, null=True, on_delete=models.SET_NULL) asset_id = models.CharField(max_length=10) @@ -56,7 +55,6 @@ class BaseAsset(models.Model): # Cable assets is_cable = models.BooleanField(default=False) - length = models.DecimalField(decimal_places=1, max_digits=10, blank=True, null=True) def get_absolute_url(self): return reverse('asset_detail', kwargs={'pk': self.pk}) @@ -64,11 +62,6 @@ class BaseAsset(models.Model): def __str__(self): return str(self.asset_id) + ' - ' + self.description - -class Asset(BaseAsset): - pass - - class Connector(models.Model): description = models.CharField(max_length=80) current_rating = models.DecimalField(decimal_places=2, max_digits=10, help_text='Amps') @@ -79,7 +72,7 @@ class Connector(models.Model): return self.description -class Cable(BaseAsset): +class Cable(Asset): plug = models.ForeignKey(Connector, on_delete=models.SET_NULL, related_name='plug', null=True) socket = models.ForeignKey(Connector, on_delete=models.SET_NULL, related_name='socket', null=True) length = models.DecimalField(decimal_places=1, max_digits=10, blank=True, null=True, help_text='m') diff --git a/assets/static/js/ajax_form.js b/assets/static/js/ajax_form.js index b9b06e25..f4ffcf43 100644 --- a/assets/static/js/ajax_form.js +++ b/assets/static/js/ajax_form.js @@ -1,20 +1,4 @@ -function filterAssetTable() { - $.ajax({ - url : "/asset/filter/", // the endpoint - type : "POST", // http method - data : { - form: $('#asset-filter-form').serialize() - }, - traditional: true, - success : function(data) { - // console.log(data); - $('#asset_table_body').html(data) - }, - - error : function(xhr) {console.log(xhr.status + ": " + xhr.responseText)} - }); -} diff --git a/assets/templates/asset_list.html b/assets/templates/asset_list.html index ded3e939..4f40d576 100644 --- a/assets/templates/asset_list.html +++ b/assets/templates/asset_list.html @@ -8,10 +8,10 @@