From 10eb13920b121d299e52b5f6d9a8b6ad136d9177 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 24 Mar 2017 14:48:18 +0800 Subject: [PATCH] =?UTF-8?q?[Delete]=20=E5=88=A0=E9=99=A4=E8=B5=84=E4=BA=A7?= =?UTF-8?q?tag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/api.py | 18 +- apps/assets/forms.py | 75 +------- apps/assets/models/asset.py | 16 +- apps/assets/serializers.py | 23 +-- .../assets/_asset_bulk_update_modal.html | 16 -- .../assets/templates/assets/asset_create.html | 1 - apps/assets/urls/api_urls.py | 3 - apps/assets/urls/views_urls.py | 7 - apps/assets/utils.py | 37 ---- apps/assets/views.py | 177 +----------------- apps/templates/_nav.html | 1 - 11 files changed, 18 insertions(+), 356 deletions(-) diff --git a/apps/assets/api.py b/apps/assets/api.py index 0d427b91f..37ed15c5c 100644 --- a/apps/assets/api.py +++ b/apps/assets/api.py @@ -12,7 +12,7 @@ from django.shortcuts import get_object_or_404 from common.mixins import IDInFilterMixin from common.utils import get_object_or_none, signer from .hands import IsSuperUser, IsAppUser -from .models import AssetGroup, Asset, IDC, SystemUser, AdminUser, Tag +from .models import AssetGroup, Asset, IDC, SystemUser, AdminUser from . import serializers @@ -25,14 +25,11 @@ class AssetViewSet(IDInFilterMixin, BulkModelViewSet): def get_queryset(self): queryset = super(AssetViewSet, self).get_queryset() idc_id = self.request.query_params.get('idc_id', '') - tags_id = self.request.query_params.get('tag_id', '') system_users_id = self.request.query_params.get('system_user_id', '') asset_group_id = self.request.query_params.get('asset_group_id', '') admin_user_id = self.request.query_params.get('admin_user_id', '') if idc_id: queryset = queryset.filter(idc__id=idc_id) - if tags_id: - queryset = queryset.filter(tags__id=tags_id) if system_users_id: queryset = queryset.filter(system_users__id=system_users_id) if admin_user_id: @@ -147,16 +144,3 @@ class SystemUserAuthInfoApi(generics.RetrieveAPIView): } return Response(data) - -class TagViewSet(IDInFilterMixin, BulkModelViewSet): - queryset = Tag.objects.all() - serializer_class = serializers.TagSerializer - permission_classes = (IsSuperUser,) - - -## update the IDC, and add or delete the assets to the IDC -class TagUpdateAssetsApi(generics.RetrieveUpdateAPIView): - queryset = Tag.objects.all() - serializer_class = serializers.TagUpdateAssetsSerializer - permission_classes = (IsSuperUser,) - diff --git a/apps/assets/forms.py b/apps/assets/forms.py index 0c1a12625..66da29afd 100644 --- a/apps/assets/forms.py +++ b/apps/assets/forms.py @@ -2,7 +2,7 @@ from django import forms from django.utils.translation import gettext_lazy as _ -from .models import IDC, Asset, AssetGroup, AdminUser, SystemUser, Tag +from .models import IDC, Asset, AssetGroup, AdminUser, SystemUser from common.utils import validate_ssh_private_key, ssh_pubkey_gen, ssh_key_gen, get_logger @@ -10,20 +10,6 @@ logger = get_logger(__file__) class AssetCreateForm(forms.ModelForm): - - def __init__(self, *args, **kwargs): - instance = kwargs.get('instance', None) - if instance: - initial = kwargs.get('initial', {}) - initial['tags'] = [t.pk for t in kwargs['instance'].tags.all()] - super(AssetCreateForm, self).__init__(*args, **kwargs) - - def _save_m2m(self): - super(AssetCreateForm, self)._save_m2m() - tags = self.cleaned_data['tags'] - self.instance.tags.clear() - self.instance.tags.add(*tuple(tags)) - def clean_admin_user(self): if not self.cleaned_data['admin_user']: raise forms.ValidationError(_('Select admin user')) @@ -31,16 +17,13 @@ class AssetCreateForm(forms.ModelForm): class Meta: model = Asset - tags = forms.ModelMultipleChoiceField(queryset=Tag.objects.all()) fields = [ 'hostname', 'ip', 'public_ip', 'port', 'type', 'comment', 'admin_user', - 'idc', 'groups', 'status', 'env', 'tags', 'is_active' + 'idc', 'groups', 'status', 'env', 'is_active' ] widgets = { 'groups': forms.SelectMultiple(attrs={'class': 'select2', 'data-placeholder': _('Select asset groups')}), - 'tags': forms.SelectMultiple(attrs={'class': 'select2', - 'data-placeholder': _('Select asset tags')}), 'admin_user': forms.Select(attrs={'class': 'select2', 'data-placeholder': _('Select asset admin user')}), } help_texts = { @@ -48,24 +31,20 @@ class AssetCreateForm(forms.ModelForm): 'ip': '* required', 'system_users': _('System user will be granted for user to login assets (using ansible create automatic)'), 'admin_user': _('Admin user should be exist on asset already, And have sudo ALL permission'), - 'tags': '最多5个标签,单个标签最长8个汉字,按回车确认' } class AssetUpdateForm(AssetCreateForm): class Meta: model = Asset - tags = forms.ModelMultipleChoiceField(queryset=Tag.objects.all()) fields = [ 'hostname', 'ip', 'port', 'groups', 'admin_user', 'idc', 'is_active', 'type', 'env', 'status', 'public_ip', 'remote_card_ip', 'cabinet_no', - 'cabinet_pos', 'number', 'comment', 'tags' + 'cabinet_pos', 'number', 'comment' ] widgets = { 'groups': forms.SelectMultiple(attrs={'class': 'select2', 'data-placeholder': _('Select asset groups')}), - 'tags': forms.SelectMultiple(attrs={'class': 'select2', - 'data-placeholder': _('Select asset tags')}), 'admin_user': forms.Select(attrs={'class': 'select2', 'data-placeholder': _('Select asset admin user')}), } help_texts = { @@ -73,18 +52,18 @@ class AssetUpdateForm(AssetCreateForm): 'ip': '* required', 'system_users': _('System user will be granted for user to login assets (using ansible create automatic)'), 'admin_user': _('Admin user should be exist on asset already, And have sudo ALL permission'), - 'tags': '最多5个标签,单个标签最长8个汉字,按回车确认' } class AssetGroupForm(forms.ModelForm): # See AdminUserForm comment same it - assets = forms.ModelMultipleChoiceField(queryset=Asset.objects.all(), - label=_('Asset'), - required=False, - widget=forms.SelectMultiple( - attrs={'class': 'select2', 'data-placeholder': _('Select assets')}) - ) + assets = forms.ModelMultipleChoiceField( + queryset=Asset.objects.all(), + label=_('Asset'), + required=False, + widget=forms.SelectMultiple( + attrs={'class': 'select2', 'data-placeholder': _('Select assets')}) + ) def __init__(self, *args, **kwargs): if kwargs.get('instance', None): @@ -297,39 +276,5 @@ class SystemUserForm(forms.ModelForm): } -class AssetTagForm(forms.ModelForm): - assets = forms.ModelMultipleChoiceField(queryset=Asset.objects.all(), - label=_('Asset'), - required=False, - widget=forms.SelectMultiple( - attrs={'class': 'select2', 'data-placeholder': _('Select assets')}) - ) - - def __init__(self, *args, **kwargs): - if kwargs.get('instance', None): - initial = kwargs.get('initial', {}) - initial['assets'] = kwargs['instance'].asset_set.all() - super(AssetTagForm, self).__init__(*args, **kwargs) - - def _save_m2m(self): - assets = self.cleaned_data['assets'] - self.instance.assets.clear() - self.instance.assets.add(*tuple(assets)) - super(AssetTagForm, self)._save_m2m() - - class Meta: - model = Tag - fields = [ - "name", - ] - widgets = { - 'name': forms.TextInput(attrs={}), - - } - help_texts = { - 'name': '* required', - } - - class FileForm(forms.Form): file = forms.FileField() diff --git a/apps/assets/models/asset.py b/apps/assets/models/asset.py index 1e6540586..54a2d4820 100644 --- a/apps/assets/models/asset.py +++ b/apps/assets/models/asset.py @@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _ from . import IDC, AssetGroup, AdminUser, SystemUser -__all__ = ['Asset', 'Tag'] +__all__ = ['Asset'] logger = logging.getLogger(__name__) @@ -83,7 +83,6 @@ class Asset(models.Model): 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 added')) comment = models.TextField(max_length=128, default='', blank=True, verbose_name=_('Comment')) - tags = models.ManyToManyField('Tag', related_name='assets', blank=True, verbose_name=_('Tags')) def __unicode__(self): return '%s <%s: %s>' % (self.hostname, self.ip, self.port) @@ -146,16 +145,3 @@ class Asset(models.Model): print('Error continue') continue - -class Tag(models.Model): - name = models.CharField(max_length=64, unique=True, verbose_name=_('Name')) - created_time = models.DateTimeField(auto_now_add=True, verbose_name=_('Create time')) - created_by = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Created by')) - - def __unicode__(self): - return self.name - - __str__ = __unicode__ - - class Meta: - db_table = 'tag' diff --git a/apps/assets/serializers.py b/apps/assets/serializers.py index aae1c4b13..50e7188f3 100644 --- a/apps/assets/serializers.py +++ b/apps/assets/serializers.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from django.utils.translation import ugettext_lazy as _ from rest_framework import viewsets, serializers, generics -from .models import AssetGroup, Asset, IDC, AdminUser, SystemUser, Tag +from .models import AssetGroup, Asset, IDC, AdminUser, SystemUser from common.mixins import IDInFilterMixin from rest_framework_bulk import BulkListSerializer, BulkSerializerMixin @@ -61,20 +61,6 @@ class IDCUpdateAssetsSerializer(serializers.ModelSerializer): fields = ['id', 'assets'] -class TagSerializer(BulkSerializerMixin, serializers.ModelSerializer): - assets_amount = serializers.SerializerMethodField() - assets = serializers.PrimaryKeyRelatedField(many=True, queryset=Asset.objects.all()) - - class Meta: - model = Tag - list_serializer_class = BulkListSerializer - fields = '__all__' - - @staticmethod - def get_assets_amount(obj): - return obj.assets.count() - - class AdminUserSerializer(serializers.ModelSerializer): assets = serializers.PrimaryKeyRelatedField(many=True, queryset=Asset.objects.all()) @@ -189,10 +175,3 @@ class IDCSerializer(BulkSerializerMixin, serializers.ModelSerializer): fields.append('assets_amount') return fields - -class TagUpdateAssetsSerializer(serializers.ModelSerializer): - assets = serializers.PrimaryKeyRelatedField(many=True, queryset=Asset.objects.all()) - - class Meta: - model = Tag - fields = ['id', 'assets'] \ No newline at end of file diff --git a/apps/assets/templates/assets/_asset_bulk_update_modal.html b/apps/assets/templates/assets/_asset_bulk_update_modal.html index 9ff3d2973..df012f619 100644 --- a/apps/assets/templates/assets/_asset_bulk_update_modal.html +++ b/apps/assets/templates/assets/_asset_bulk_update_modal.html @@ -61,22 +61,6 @@ - -
- -
- -

- 最多5个标签,单个标签最长8个汉字,按回车确认 -

-
- -
- {% endblock %} {% block modal_confirm_id %}btn_asset_bulk_update{% endblock %} \ No newline at end of file diff --git a/apps/assets/templates/assets/asset_create.html b/apps/assets/templates/assets/asset_create.html index a1fa33705..5535f2b64 100644 --- a/apps/assets/templates/assets/asset_create.html +++ b/apps/assets/templates/assets/asset_create.html @@ -29,7 +29,6 @@

{% trans 'Other' %}

- {{ form.tags|bootstrap_horizontal }} {{ form.comment|bootstrap_horizontal }} {{ form.is_active|bootstrap_horizontal }} diff --git a/apps/assets/urls/api_urls.py b/apps/assets/urls/api_urls.py index 42839bdfa..0abe9db6f 100644 --- a/apps/assets/urls/api_urls.py +++ b/apps/assets/urls/api_urls.py @@ -13,7 +13,6 @@ router.register(r'v1/assets', api.AssetViewSet, 'asset') router.register(r'v1/idc', api.IDCViewSet, 'idc') router.register(r'v1/admin-user', api.AdminUserViewSet, 'admin-user') router.register(r'v1/system-user', api.SystemUserViewSet, 'system-user') -router.register(r'v1/tags', api.TagViewSet, 'asset-tag') urlpatterns = [ url(r'^v1/assets_bulk/$', api.AssetListUpdateApi.as_view(), name='asset-bulk-update'), @@ -45,8 +44,6 @@ urlpatterns = [ url(r'^v1/idc/(?P\d+)/assets/$', api.IDCupdateAssetsApi.as_view(), name='idc-update-assets'), - url(r'v1/tag/(?P\d+)/assets/$', - api.TagUpdateAssetsApi.as_view(), name='tag-update-assets'), ] urlpatterns += router.urls diff --git a/apps/assets/urls/views_urls.py b/apps/assets/urls/views_urls.py index a2b4537a3..e583f3b6a 100644 --- a/apps/assets/urls/views_urls.py +++ b/apps/assets/urls/views_urls.py @@ -24,13 +24,6 @@ urlpatterns = [ url(r'^asset-group/(?P[0-9]+)/update/$', views.AssetGroupUpdateView.as_view(), name='asset-group-update'), url(r'^asset-group/(?P[0-9]+)/delete/$', views.AssetGroupDeleteView.as_view(), name='asset-group-delete'), - url(r'^tags/$', views.TagsListView.as_view(), name='asset-tag-list'), - url(r'^asset-by-tag/(?P[0-9]+)/$', views.TagView.as_view(), name='asset-tags'), - url(r'^tags/create/$', views.AssetTagCreateView.as_view(), name='asset-tag-create'), - url(r'^asset-tag/(?P[0-9]+)/$', views.AssetTagDetailView.as_view(), name='asset-tag-detail'), - url(r'^asset-tag/(?P[0-9]+)/update/$', views.AssetTagUpdateView.as_view(), name='asset-tag-update'), - url(r'^asset-tag/(?P[0-9]+)/delete/$', views.AssetTagDeleteView.as_view(), name='asset-tag-delete'), - # Resource idc url url(r'^idc/$', views.IDCListView.as_view(), name='idc-list'), url(r'^idc/create/$', views.IDCCreateView.as_view(), name='idc-create'), diff --git a/apps/assets/utils.py b/apps/assets/utils.py index 4eeb3ed65..cd064e942 100644 --- a/apps/assets/utils.py +++ b/apps/assets/utils.py @@ -1,40 +1,3 @@ # ~*~ coding: utf-8 ~*~ # -from rest_framework import serializers -from models import Tag -from django.views.generic.edit import CreateView - -class CreateAssetTagsMiXin(CreateView): - def get_form_kwargs(self): - tags_list = self.request.POST.getlist('tags') - kwargs = { - 'initial': self.get_initial(), - 'prefix': self.get_prefix(), - } - if self.request.method in ('POST', 'PUT'): - post_data = self.request.POST.copy() - if post_data.has_key('tags'): - post_data.pop('tags') - for t in tags_list: - try: - oTag = Tag.objects.get(pk=int(t)) - except (Tag.DoesNotExist, UnicodeEncodeError): - oTag = Tag(name=t, created_by=self.request.user.username or 'Admin') - oTag.save() - post_data.update({'tags':oTag.pk}) - else: - post_data.update({'tags':int(t)}) - kwargs.update({ - 'data': post_data, - 'files': self.request.FILES, - }) - return kwargs - - -class UpdateAssetTagsMiXin(CreateAssetTagsMiXin): - def get_form_kwargs(self): - kwargs = super(UpdateAssetTagsMiXin, self).get_form_kwargs() - if hasattr(self, 'object'): - kwargs.update({'instance': self.object}) - return kwargs \ No newline at end of file diff --git a/apps/assets/views.py b/apps/assets/views.py index 9d5adf464..d526f8856 100644 --- a/apps/assets/views.py +++ b/apps/assets/views.py @@ -25,9 +25,8 @@ from django.utils import timezone from common.mixins import JSONResponseMixin from common.utils import get_object_or_none -from .utils import CreateAssetTagsMiXin, UpdateAssetTagsMiXin from . import forms -from .models import Asset, AssetGroup, AdminUser, IDC, SystemUser, Tag +from .models import Asset, AssetGroup, AdminUser, IDC, SystemUser from .hands import AdminUserRequiredMixin @@ -40,16 +39,13 @@ class AssetListView(AdminUserRequiredMixin, TemplateView): 'action': 'asset list', 'groups': AssetGroup.objects.all(), 'system_users': SystemUser.objects.all(), - 'tag_list': [(i.id, i.name, i.assets.all().count())for i in Tag.objects.all().order_by('name')], - 'tags': Tag.objects.all().order_by('name') } kwargs.update(context) return super(AssetListView, self).get_context_data(**kwargs) -class AssetCreateView(AdminUserRequiredMixin, CreateAssetTagsMiXin, CreateView): +class AssetCreateView(AdminUserRequiredMixin, CreateView): model = Asset - tag_type = 'asset' form_class = forms.AssetCreateForm template_name = 'assets/asset_create.html' success_url = reverse_lazy('assets:asset-list') @@ -69,7 +65,7 @@ class AssetCreateView(AdminUserRequiredMixin, CreateAssetTagsMiXin, CreateView): return super(AssetCreateView, self).get_context_data(**kwargs) -class AssetModalCreateView(AdminUserRequiredMixin, CreateAssetTagsMiXin, ListView): +class AssetModalCreateView(AdminUserRequiredMixin, ListView): model = Asset form_class = forms.AssetCreateForm template_name = 'assets/asset_modal_update.html' @@ -97,31 +93,11 @@ class AssetModalCreateView(AdminUserRequiredMixin, CreateAssetTagsMiXin, ListVie return super(AssetModalCreateView, self).get_context_data(**kwargs) -class AssetUpdateView(AdminUserRequiredMixin, UpdateAssetTagsMiXin, UpdateView): +class AssetUpdateView(AdminUserRequiredMixin, UpdateView): model = Asset form_class = forms.AssetUpdateForm template_name = 'assets/asset_update.html' success_url = reverse_lazy('assets:asset-list') - # new_form = '' - # assets_ids = '' - - # def post(self, request, *args, **kwargs): - # default_keys = [ - # 'csrfmiddlewaretoken', - # 'assets_ids', - # 'ip', - # 'number', - # 'hostname', - # 'system_users', - # 'admin_user', - # ] - # self.assets_ids = self.request.POST.getlist('assets_ids') - # self.new_form = self.request.POST.copy() - # for i in default_keys: - # if self.new_form.has_key(i): - # self.new_form.pop(i) - - # return super(AssetUpdateView, self).post(request, *args, **kwargs) def get_context_data(self, **kwargs): context = { @@ -135,26 +111,6 @@ class AssetUpdateView(AdminUserRequiredMixin, UpdateAssetTagsMiXin, UpdateView): print(form.errors) return super(AssetUpdateView, self).form_invalid(form) - # def form_valid(self, form): - # asset = form.save(commit=False) - # - # def prn_obj_key(obj_form): - # return obj_form.clean().keys() - # - # for i in prn_obj_key(form): - # if i not in self.new_form.keys(): - # print i - - #delattr(asset, '"%s" % i') - #del asset.i - # asset.save() - # asset.id = 27 - # # asset.created_by = self.request.user.username or 'Admin' - # asset.save() - # asset.id = 28 - # asset.save() - # return super(AssetUpdateView, self).form_valid(form) - class AssetDeleteView(DeleteView): model = Asset @@ -192,7 +148,6 @@ class AssetModalListView(AdminUserRequiredMixin, ListView): def get_context_data(self, **kwargs): group_id = self.request.GET.get('group_id') - tag_id = self.request.GET.get('tag_id') plain_id_lists = self.request.GET.get('plain_id_lists') self.s = self.request.GET.get('plain_id_lists') if "," in str(self.s): @@ -206,7 +161,7 @@ class AssetModalListView(AdminUserRequiredMixin, ListView): else: plain_id_lists = [int(self.s)] context = { - 'all_assets' :plain_id_lists + 'all_assets': plain_id_lists } kwargs.update(context) if group_id: @@ -215,12 +170,6 @@ class AssetModalListView(AdminUserRequiredMixin, ListView): 'all_assets': [x.id for x in group.assets.all()] } kwargs.update(context) - if tag_id: - tag = Tag.objects.get(id=tag_id) - context = { - 'all_assets': [x.id for x in tag.asset_set.all()] - } - kwargs.update(context) return super(AssetModalListView, self).get_context_data(**kwargs) @@ -390,7 +339,6 @@ class IDCAssetsView(AdminUserRequiredMixin, DetailView): 'action': _('Asset detail'), 'groups': AssetGroup.objects.all(), 'system_users': SystemUser.objects.all(), - 'tags': Tag.objects.all(), 'assets_remain': assets_remain, 'assets': [asset for asset in Asset.objects.all() if asset not in assets_remain], } @@ -615,123 +563,8 @@ class SystemUserAssetView(AdminUserRequiredMixin, SingleObjectMixin, ListView): return super(SystemUserAssetView, self).get_context_data(**kwargs) -class TagView(ListView): - context_object_name = 'asset_list' - template_name = 'assets/asset_list.html' - - def get_queryset(self): - asset_list = Asset.objects.filter(tags=self.kwargs['tag_id']) - return asset_list - - def get_context_data(self, **kwargs): - kwargs['app'] = 'Assets' - kwargs['action']='asset list' - kwargs['tag_list'] = [(i.id,i.name,i.asset_set.all().count() )for i in Tag.objects.all().order_by('name')] - kwargs['tag_id'] = self.kwargs['tag_id'] - return super(TagView, self).get_context_data(**kwargs) - - -class TagsListView(AdminUserRequiredMixin, ListView): - model = Tag - paginate_by = settings.CONFIG.DISPLAY_PER_PAGE - context_object_name = 'asset_tags_list' - template_name = 'assets/asset_tags_list.html' - ordering = '-id' - - def get_context_data(self, **kwargs): - context = { - 'app': _('Tag'), - 'action': _('Asset Tags list'), - 'keyword': self.request.GET.get('keyword', '') - } - kwargs.update(context) - return super(TagsListView, self).get_context_data(**kwargs) - - -class AssetTagCreateView(AdminUserRequiredMixin, CreateAssetTagsMiXin, CreateView): - model = Tag - form_class = forms.AssetTagForm - template_name = 'assets/asset_tag_create.html' - success_url = reverse_lazy('assets:asset-tag-list') - #ordering = '-id' - - # Todo: Asset group create template select assets so hard, need be resolve next - - def get_context_data(self, **kwargs): - context = { - 'app': _('Tag'), - 'action': _('Asset Tags list'), - 'assets_count': 0, - } - kwargs.update(context) - return super(AssetTagCreateView, self).get_context_data(**kwargs) - - def form_valid(self, form): - asset_tag = form.save() - assets_id_list = self.request.POST.getlist('assets', []) - assets = [get_object_or_404(Asset, id=int(asset_id)) for asset_id in assets_id_list] - asset_tag.created_by = self.request.user.username or 'Admin' - asset_tag.assets.add(*tuple(assets)) - asset_tag.save() - return super(AssetTagCreateView, self).form_valid(form) - - -class AssetTagDetailView(SingleObjectMixin, AdminUserRequiredMixin, ListView): - template_name = 'assets/asset_tag_detail.html' - paginate_by = settings.CONFIG.DISPLAY_PER_PAGE - - def get(self, request, *args, **kwargs): - self.object = self.get_object(queryset=Tag.objects.all()) - return super(AssetTagDetailView, self).get(request, *args, **kwargs) - - def get_queryset(self): - return self.object.assets.all() - - def get_context_data(self, **kwargs): - assets_remain = Asset.objects.exclude(id__in=self.object.assets.all()) - context = { - 'app': _('Tag'), - 'action': _('Asset Tags detail'), - 'asset_tag': self.object, - 'assets_remain': assets_remain, - 'assets': [asset for asset in Asset.objects.all() if asset not in assets_remain] - } - kwargs.update(context) - return super(AssetTagDetailView, self).get_context_data(**kwargs) - - -class AssetTagUpdateView(AdminUserRequiredMixin, UpdateView): - model = Tag - form_class = forms.AssetTagForm - template_name = 'assets/asset_tag_create.html' - success_url = reverse_lazy('assets:asset-tag-list') - - def get(self, request, *args, **kwargs): - self.object = self.get_object(queryset=Tag.objects.all()) - return super(AssetTagUpdateView, self).get(request, *args, **kwargs) - - def get_context_data(self, **kwargs): - assets_all = self.object.assets.all() - context = { - 'app': _('Tag'), - 'action': _('Asset Tags detail'), - 'assets_count': len(assets_all), - 'assets_on_list': assets_all, - 'tag_id':self.object.id, - } - kwargs.update(context) - return super(AssetTagUpdateView, self).get_context_data(**kwargs) - - -class AssetTagDeleteView(AdminUserRequiredMixin, DeleteView): - template_name = 'assets/delete_confirm.html' - model = Tag - success_url = reverse_lazy('assets:asset-tag-list') - - @method_decorator(csrf_exempt, name='dispatch') class AssetExportView(View): - @staticmethod def get_asset_attr(asset, attr): if attr in ['admin_user', 'idc']: diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index 078229c39..d0a2b9073 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -23,7 +23,6 @@
  • {% trans 'IDC' %}
  • {% trans 'Admin user' %}
  • {% trans 'System user' %}
  • -
  • {% trans 'Label' %}