mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Closes #1121: Added asset_tag and description fields to inventory items
This commit is contained in:
parent
229e6809d8
commit
5940feb64b
@ -669,14 +669,20 @@ class InventoryItemSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
fields = ['id', 'device', 'parent', 'name', 'manufacturer', 'part_id', 'serial', 'discovered']
|
fields = [
|
||||||
|
'id', 'device', 'parent', 'name', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered',
|
||||||
|
'description',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class WritableInventoryItemSerializer(serializers.ModelSerializer):
|
class WritableInventoryItemSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
fields = ['id', 'device', 'parent', 'name', 'manufacturer', 'part_id', 'serial', 'discovered']
|
fields = [
|
||||||
|
'id', 'device', 'parent', 'name', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered',
|
||||||
|
'description',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -599,7 +599,7 @@ class InventoryItemFilter(DeviceComponentFilterSet):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
fields = ['name', 'part_id', 'serial', 'discovered']
|
fields = ['name', 'part_id', 'serial', 'asset_tag', 'discovered']
|
||||||
|
|
||||||
|
|
||||||
class ConsoleConnectionFilter(django_filters.FilterSet):
|
class ConsoleConnectionFilter(django_filters.FilterSet):
|
||||||
|
@ -1765,4 +1765,4 @@ class InventoryItemForm(BootstrapMixin, forms.ModelForm):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InventoryItem
|
model = InventoryItem
|
||||||
fields = ['name', 'manufacturer', 'part_id', 'serial']
|
fields = ['name', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'description']
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.11 on 2017-06-23 20:44
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import utilities.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('dcim', '0039_interface_add_enabled_mtu'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='inventoryitem',
|
||||||
|
name='asset_tag',
|
||||||
|
field=utilities.fields.NullableCharField(blank=True, help_text='A unique tag used to identify this item', max_length=50, null=True, unique=True, verbose_name='Asset tag'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='inventoryitem',
|
||||||
|
name='description',
|
||||||
|
field=models.CharField(blank=True, max_length=100),
|
||||||
|
),
|
||||||
|
]
|
@ -1306,11 +1306,18 @@ class InventoryItem(models.Model):
|
|||||||
device = models.ForeignKey('Device', related_name='inventory_items', on_delete=models.CASCADE)
|
device = models.ForeignKey('Device', related_name='inventory_items', on_delete=models.CASCADE)
|
||||||
parent = models.ForeignKey('self', related_name='child_items', blank=True, null=True, on_delete=models.CASCADE)
|
parent = models.ForeignKey('self', related_name='child_items', blank=True, null=True, on_delete=models.CASCADE)
|
||||||
name = models.CharField(max_length=50, verbose_name='Name')
|
name = models.CharField(max_length=50, verbose_name='Name')
|
||||||
manufacturer = models.ForeignKey('Manufacturer', related_name='inventory_items', blank=True, null=True,
|
manufacturer = models.ForeignKey(
|
||||||
on_delete=models.PROTECT)
|
'Manufacturer', models.PROTECT, related_name='inventory_items', blank=True, null=True
|
||||||
|
)
|
||||||
part_id = models.CharField(max_length=50, verbose_name='Part ID', blank=True)
|
part_id = models.CharField(max_length=50, verbose_name='Part ID', blank=True)
|
||||||
serial = models.CharField(max_length=50, verbose_name='Serial number', blank=True)
|
serial = models.CharField(max_length=50, verbose_name='Serial number', blank=True)
|
||||||
|
asset_tag = NullableCharField(
|
||||||
|
max_length=50, blank=True, null=True, unique=True, verbose_name='Asset tag',
|
||||||
|
help_text='A unique tag used to identify this item'
|
||||||
|
)
|
||||||
discovered = models.BooleanField(default=False, verbose_name='Discovered')
|
discovered = models.BooleanField(default=False, verbose_name='Discovered')
|
||||||
|
description = models.CharField(max_length=100, blank=True)
|
||||||
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['device__id', 'parent__id', 'name']
|
ordering = ['device__id', 'parent__id', 'name']
|
||||||
|
@ -51,6 +51,8 @@
|
|||||||
<th>Manufacturer</th>
|
<th>Manufacturer</th>
|
||||||
<th>Part Number</th>
|
<th>Part Number</th>
|
||||||
<th>Serial Number</th>
|
<th>Serial Number</th>
|
||||||
|
<th>Asset Tag</th>
|
||||||
|
<th>Description</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td style="padding-left: {{ indent|add:5 }}px">{{ item.name }}</td>
|
<td style="padding-left: {{ indent|add:5 }}px">{{ item.name }}</td>
|
||||||
<td>{% if not item.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
|
<td>{% if not item.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
|
||||||
<td>{{ item.manufacturer|default:'' }}</td>
|
<td>{{ item.manufacturer|default:"" }}</td>
|
||||||
<td>{{ item.part_id }}</td>
|
<td>{{ item.part_id }}</td>
|
||||||
<td>{{ item.serial }}</td>
|
<td>{{ item.serial }}</td>
|
||||||
|
<td>{{ item.asset_tag|default:"" }}</td>
|
||||||
|
<td>{{ item.description }}</td>
|
||||||
<td class="text-right">
|
<td class="text-right">
|
||||||
{% if perms.dcim.change_inventoryitem %}
|
{% if perms.dcim.change_inventoryitem %}
|
||||||
<a href="{% url 'dcim:inventoryitem_edit' pk=item.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
|
<a href="{% url 'dcim:inventoryitem_edit' pk=item.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
|
||||||
|
Loading…
Reference in New Issue
Block a user