mirror of https://github.com/jumpserver/jumpserver
[Update] 删除部分资产属性
parent
da4c5f48a1
commit
1fbf4ac08c
|
@ -12,9 +12,8 @@ class AssetCreateForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = Asset
|
||||
fields = [
|
||||
'hostname', 'ip', 'public_ip', 'port', 'type', 'comment',
|
||||
'cluster', 'groups', 'status', 'env', 'is_active',
|
||||
'admin_user', 'labels'
|
||||
'hostname', 'ip', 'public_ip', 'port', 'comment', 'cluster',
|
||||
'groups', 'is_active', 'admin_user', 'labels'
|
||||
|
||||
]
|
||||
widgets = {
|
||||
|
@ -61,8 +60,7 @@ class AssetUpdateForm(forms.ModelForm):
|
|||
model = Asset
|
||||
fields = [
|
||||
'hostname', 'ip', 'port', 'groups', "cluster", 'is_active',
|
||||
'type', 'env', 'status', 'public_ip', 'remote_card_ip', 'cabinet_no',
|
||||
'cabinet_pos', 'number', 'comment', 'admin_user', 'labels'
|
||||
'public_ip', 'number', 'comment', 'admin_user', 'labels'
|
||||
]
|
||||
widgets = {
|
||||
'groups': forms.SelectMultiple(attrs={
|
||||
|
@ -94,10 +92,6 @@ class AssetUpdateForm(forms.ModelForm):
|
|||
raise forms.ValidationError(_("You need set a admin user if cluster not have"))
|
||||
return self.cleaned_data['admin_user']
|
||||
|
||||
def is_valid(self):
|
||||
print(self.data)
|
||||
return super().is_valid()
|
||||
|
||||
|
||||
class AssetBulkUpdateForm(forms.ModelForm):
|
||||
assets = forms.ModelMultipleChoiceField(
|
||||
|
@ -117,8 +111,7 @@ class AssetBulkUpdateForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = Asset
|
||||
fields = [
|
||||
'assets', 'port', 'groups', "cluster",
|
||||
'type', 'env',
|
||||
'assets', 'port', 'groups', "cluster", 'labels'
|
||||
]
|
||||
widgets = {
|
||||
'groups': forms.SelectMultiple(
|
||||
|
|
|
@ -29,25 +29,6 @@ def default_cluster():
|
|||
|
||||
|
||||
class Asset(models.Model):
|
||||
# Todo: Move them to settings
|
||||
STATUS_CHOICES = (
|
||||
('In use', _('In use')),
|
||||
('Out of use', _('Out of use')),
|
||||
)
|
||||
TYPE_CHOICES = (
|
||||
('Server', _('Server')),
|
||||
('VM', _('VM')),
|
||||
('Switch', _('Switch')),
|
||||
('Router', _('Router')),
|
||||
('Firewall', _('Firewall')),
|
||||
('Storage', _("Storage")),
|
||||
)
|
||||
ENV_CHOICES = (
|
||||
('Prod', _('Production')),
|
||||
('Dev', _('Development')),
|
||||
('Test', _('Testing')),
|
||||
)
|
||||
|
||||
# Important
|
||||
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
|
||||
ip = models.GenericIPAddressField(max_length=32, verbose_name=_('IP'), db_index=True)
|
||||
|
@ -56,18 +37,12 @@ class Asset(models.Model):
|
|||
groups = models.ManyToManyField(AssetGroup, blank=True, related_name='assets', verbose_name=_('Asset groups'))
|
||||
cluster = models.ForeignKey(Cluster, related_name='assets', default=default_cluster, on_delete=models.SET_DEFAULT, verbose_name=_('Cluster'))
|
||||
is_active = models.BooleanField(default=True, verbose_name=_('Is active'))
|
||||
type = models.CharField(choices=TYPE_CHOICES, max_length=16, blank=True, null=True, default='Server', verbose_name=_('Asset type'),)
|
||||
env = models.CharField(choices=ENV_CHOICES, max_length=8, blank=True, null=True, default='Prod', verbose_name=_('Asset environment'),)
|
||||
status = models.CharField(choices=STATUS_CHOICES, max_length=12, null=True, blank=True, default='In use', verbose_name=_('Asset status'))
|
||||
|
||||
# Auth
|
||||
admin_user = models.ForeignKey('assets.AdminUser', null=True, blank=True, on_delete=models.SET_NULL, verbose_name=_("Admin user"))
|
||||
|
||||
# Some information
|
||||
public_ip = models.GenericIPAddressField(max_length=32, blank=True, null=True, verbose_name=_('Public IP'))
|
||||
remote_card_ip = models.CharField(max_length=16, null=True, blank=True, verbose_name=_('Remote control card IP'))
|
||||
cabinet_no = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Cabinet number'))
|
||||
cabinet_pos = models.IntegerField(null=True, blank=True, verbose_name=_('Cabinet position'))
|
||||
number = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Asset number'))
|
||||
|
||||
# Collect
|
||||
|
@ -89,7 +64,6 @@ class Asset(models.Model):
|
|||
hostname_raw = models.CharField(max_length=128, blank=True, null=True, verbose_name=_('Hostname raw'))
|
||||
|
||||
labels = models.ManyToManyField('assets.Label', blank=True, related_name='assets', verbose_name=_("Labels"))
|
||||
|
||||
created_by = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Created by'))
|
||||
date_created = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name=_('Date created'))
|
||||
comment = models.TextField(max_length=128, default='', blank=True, verbose_name=_('Comment'))
|
||||
|
|
|
@ -173,7 +173,6 @@ class AssetSerializer(BulkSerializerMixin, serializers.ModelSerializer):
|
|||
def get_field_names(self, declared_fields, info):
|
||||
fields = super().get_field_names(declared_fields, info)
|
||||
fields.extend([
|
||||
'get_type_display', 'get_env_display',
|
||||
'hardware_info', 'is_connective',
|
||||
])
|
||||
return fields
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
{% bootstrap_field form.port layout="horizontal" %}
|
||||
{% bootstrap_field form.cluster layout="horizontal" %}
|
||||
{% bootstrap_field form.public_ip layout="horizontal" %}
|
||||
{% bootstrap_field form.type layout="horizontal" %}
|
||||
{% bootstrap_field form.env layout="horizontal" %}
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<h3>{% trans 'Auth' %}</h3>
|
||||
|
|
|
@ -77,22 +77,10 @@
|
|||
<td></td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Remote card IP' %}:</td>
|
||||
<td><b>{{ asset.remote_card_ip|default:"" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Cluster' %}:</td>
|
||||
<td><b>{{ asset.cluster.name }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Cabinet number' %}:</td>
|
||||
<td><b>{{ asset.cabinet_no|default:"" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Cabinet position' %}:</td>
|
||||
<td><b>{{ asset.cabinet_pos|default:"" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Vendor' %}:</td>
|
||||
<td><b>{{ asset.vendor|default:"" }}</b></td>
|
||||
|
@ -121,22 +109,10 @@
|
|||
<td>{% trans 'OS' %}:</td>
|
||||
<td><b>{{ asset.os|default:"" }} {{ asset.os_version|default:"" }} {{ asset.os_arch|default:"" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Asset status' %}:</td>
|
||||
<td><b>{{ asset.status }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Is active' %}:</td>
|
||||
<td><b>{{ asset.is_active|yesno:"Yes,No" }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Asset type' %}:</td>
|
||||
<td><b>{{ asset.type }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Asset environment' %}:</td>
|
||||
<td><b>{{ asset.env }}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{% trans 'Serial number' %}:</td>
|
||||
<td><b>{{ asset.sn|default:"" }}</b></td>
|
||||
|
@ -250,20 +226,6 @@
|
|||
<i class="fa fa-info-circle"></i> {% trans 'Labels' %}
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{# <table class="table">#}
|
||||
{# <tbody>#}
|
||||
{# {% for label in asset.labels.all %}#}
|
||||
{# <tr {% if forloop.counter == 1 %} class="no-borders-tr" {% endif %}>#}
|
||||
{# <td>{{ label.name }}</td>#}
|
||||
{# <td>#}
|
||||
{# <span class="pull-right">#}
|
||||
{# {{ label.value }}#}
|
||||
{# </span>#}
|
||||
{# </td>#}
|
||||
{# </tr>#}
|
||||
{# {% endfor %}#}
|
||||
{# </tbody>#}
|
||||
{# </table>#}
|
||||
<ul class="tag-list" style="padding: 0">
|
||||
{% for label in asset.labels.all %}
|
||||
<li ><a href=""><i class="fa fa-tag"></i> {{ label.name }}:{{ label.value }}</a></li>
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
{% bootstrap_field form.port layout="horizontal" %}
|
||||
{% bootstrap_field form.cluster layout="horizontal" %}
|
||||
{% bootstrap_field form.public_ip layout="horizontal" %}
|
||||
{% bootstrap_field form.type layout="horizontal" %}
|
||||
{% bootstrap_field form.env layout="horizontal" %}
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<h3>{% trans 'Auth' %}</h3>
|
||||
|
@ -59,16 +57,9 @@
|
|||
<div class="hr-line-dashed"></div>
|
||||
<h3>{% trans 'Configuration' %}</h3>
|
||||
{% bootstrap_field form.number layout="horizontal" %}
|
||||
{% bootstrap_field form.remote_card_ip layout="horizontal" %}
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<h3>{% trans 'Location' %}</h3>
|
||||
{% bootstrap_field form.cabinet_no layout="horizontal" %}
|
||||
{% bootstrap_field form.cabinet_pos layout="horizontal" %}
|
||||
|
||||
<div class="hr-line-dashed"></div>
|
||||
<h3>{% trans 'Other' %}</h3>
|
||||
{% bootstrap_field form.status layout="horizontal" %}
|
||||
{% bootstrap_field form.comment layout="horizontal" %}
|
||||
{% bootstrap_field form.is_active layout="horizontal" %}
|
||||
|
||||
|
|
Loading…
Reference in New Issue