From b531d9eeb2ae6e72a7232f4f8e913fc4816ed8bd Mon Sep 17 00:00:00 2001 From: wangyong <864072399@qq.com> Date: Sun, 4 Sep 2016 19:12:31 +0800 Subject: [PATCH] asset add html --- apps/assets/forms.py | 5 + apps/assets/models.py | 12 +-- apps/assets/templates/assets/asset_add.html | 108 ++++---------------- apps/assets/urls.py | 18 ++-- 4 files changed, 38 insertions(+), 105 deletions(-) diff --git a/apps/assets/forms.py b/apps/assets/forms.py index 33df74a45..90283c37a 100644 --- a/apps/assets/forms.py +++ b/apps/assets/forms.py @@ -2,6 +2,7 @@ from django import forms from .models import IDC, Asset, AssetGroup +from django.utils.translation import gettext_lazy as _ class AssetForm(forms.ModelForm): @@ -15,6 +16,10 @@ class AssetForm(forms.ModelForm): "number", "status", "type", "env", "sn", "is_active", "comment" ] + widgets = { + 'groups': forms.SelectMultiple(attrs={'class': 'select2', 'data-placeholder': _('Join assetgroups')}), + } + class AssetGroupForm(forms.ModelForm): class Meta: diff --git a/apps/assets/models.py b/apps/assets/models.py index 91a506a5e..6c9556db8 100644 --- a/apps/assets/models.py +++ b/apps/assets/models.py @@ -114,12 +114,12 @@ class Asset(models.Model): 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, unique=True, verbose_name=_('Asset number')) - status = models.ManyToManyField(AssetExtend, null=True, blank=True, - related_name="asset_status_extend", verbose_name=_('Asset status')) - type = models.ManyToManyField(AssetExtend, null=True, blank=True, - related_name="asset_type_extend", verbose_name=_('Asset type')) - env = models.ManyToManyField(AssetExtend, null=True, blank=True, - related_name="asset_env_extend", verbose_name=_('Asset environment')) + status = models.ForeignKey(AssetExtend, related_name="asset_extend_status", null=True, + blank=True, verbose_name=_('Asset status')) + type = models.ForeignKey(AssetExtend, related_name="asset_extend_type", null=True, + blank=True, verbose_name=_('Asset type')) + env = models.ForeignKey(AssetExtend, related_name="asset_extend_env", null=True, + blank=True, verbose_name=_('Asset environment')) sn = models.CharField(max_length=128, null=True, blank=True, unique=True, verbose_name=_('Serial number')) created_by = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Created by')) is_active = models.BooleanField(default=True, verbose_name=_('Is active')) diff --git a/apps/assets/templates/assets/asset_add.html b/apps/assets/templates/assets/asset_add.html index 23b5bbbf2..5a265253d 100644 --- a/apps/assets/templates/assets/asset_add.html +++ b/apps/assets/templates/assets/asset_add.html @@ -1,5 +1,10 @@ {% extends 'base.html' %} +{% load static %} {% load bootstrap %} +{% block custom_head_css_js %} + + +{% endblock %} {% block content %}
@@ -40,12 +45,14 @@
-
- -
- -
-
+{#
#} +{# #} +{#
#} +{# #} +{#
#} +{#
#} + + {{ form.type|bootstrap_horizontal }} {{ form.comment|bootstrap_horizontal }} @@ -79,7 +86,7 @@

所属

{{ form.idc|bootstrap_horizontal }} - {{ form.group|bootstrap_horizontal }} + {{ form.groups|bootstrap_horizontal }}

标签

@@ -103,85 +110,10 @@ {% endblock %} -{% block self_footer_js %} -{##} - +{% block custom_foot_js %} + {% endblock %} \ No newline at end of file diff --git a/apps/assets/urls.py b/apps/assets/urls.py index 409bc6dca..eccd3fbcb 100644 --- a/apps/assets/urls.py +++ b/apps/assets/urls.py @@ -1,10 +1,8 @@ # coding:utf-8 from django.conf.urls import url, include -from .views import * # from .api import ( # AssetGroupViewSet, AssetViewSet, IDCViewSet # ) -from django.conf.urls import url,include import views # from rest_framework import routers # router = routers.DefaultRouter() @@ -14,18 +12,16 @@ import views app_name = 'assets' urlpatterns = [ - url(r'^$', AssetListView.as_view(), name='asset-list'), - url(r'^(?P[0-9]+)/delete/$', AssetDeleteView.as_view(), name='asset-delete'), - url(r'^(?P[0-9]+)/detail/$', AssetDetailView.as_view(), name='asset-detail'), - url(r'^asset', views.AssetListView.as_view(), name='asset-list'), + # url(r'^$', views.AssetListView.as_view(), name='asset-index'), + # url(r'^asset', views.AssetListView.as_view(), name='asset-list'), url(r'^asset/add$', views.AssetAddView.as_view(), name='asset-add'), url(r'^asset/(?P[0-9]+)$', views.AssetDetailView.as_view(), name='asset-detail'), url(r'^asset/(?P[0-9]+)$/edit', views.AssetEditView.as_view(), name='asset-edit'), url(r'^asset/(?P[0-9]+)/delete$', views.AssetDeleteView.as_view(), name='asset-delete'), - url(r'^asset-group', views.AssetGroupListView.as_view(), name='assetgroup-list'), - url(r'^asset-group/add$', views.AssetAddView.as_view(), name='asset-add'), - url(r'^asset-group/(?P[0-9]+)$', views.AssetDetailView.as_view(), name='asset-detail'), - url(r'^asset-group/(?P[0-9]+)$/edit', views.AssetEditView.as_view(), name='asset-edit'), - url(r'^asset-group/(?P[0-9]+)/delete$', views.AssetDeleteView.as_view(), name='asset-delete'), + url(r'^asset-group', views.AssetGroupListView.as_view(), name='asset-group-list'), + url(r'^asset-group/add$', views.AssetGroupAddView.as_view(), name='asset-group-add'), + url(r'^asset-group/(?P[0-9]+)$', views.AssetDetailView.as_view(), name='asset-group-detail'), + url(r'^asset-group/(?P[0-9]+)$/edit', views.AssetEditView.as_view(), name='asset-group-edit'), + url(r'^asset-group/(?P[0-9]+)/delete$', views.AssetDeleteView.as_view(), name='asset-group-delete'), # url(r'^api/v1.0/', include(router.urls)), ]