diff --git a/apps/assets/templates/assets/asset_list.html b/apps/assets/templates/assets/asset_list.html index 970f21555..a2b1c306c 100644 --- a/apps/assets/templates/assets/asset_list.html +++ b/apps/assets/templates/assets/asset_list.html @@ -84,6 +84,7 @@ {% endblock %} {% block custom_foot_js %} + diff --git a/apps/assets/views.py b/apps/assets/views.py index 5f70c0ef5..7070d78bf 100644 --- a/apps/assets/views.py +++ b/apps/assets/views.py @@ -772,7 +772,7 @@ class BulkImportAssetView(AdminUserRequiredMixin, JSONResponseMixin, FormView): 'cabinet_pos', 'number', 'status', 'type', 'env', 'sn', 'comment'] header_min = ['hostname', 'ip', 'port', 'admin_user', 'comment'] header = [col.value for col in next(rows)] - if header not in header_all and header_min not in header: + if not set(header).issubset(set(header_all)) and not set(header).issuperset(set(header_min)): data = {'valid': False, 'msg': 'Must be same format as template or export file'} return self.render_json_response(data) @@ -790,12 +790,12 @@ class BulkImportAssetView(AdminUserRequiredMixin, JSONResponseMixin, FormView): asset_dict['idc'] = idc if asset_dict.get('type'): - asset_display_type_map = dict(zip(dict(Asset.TYPE_CHOICES).values, dict(Asset.TYPE_CHOICES).keys())) + asset_display_type_map = dict(zip(dict(Asset.TYPE_CHOICES).values(), dict(Asset.TYPE_CHOICES).keys())) asset_type = asset_display_type_map.get(asset_dict['type'], 'Server') asset_dict['type'] = asset_type if asset_dict.get('status'): - asset_display_status_map = dict(zip(dict(Asset.STATUS_CHOICES).values, + asset_display_status_map = dict(zip(dict(Asset.STATUS_CHOICES).values(), dict(Asset.STATUS_CHOICES).keys())) asset_status = asset_display_status_map.get(asset_dict['status'], 'In use') asset_dict['status'] = asset_status diff --git a/apps/terminal/serializers.py b/apps/terminal/serializers.py index 2903fa896..60b5c6c26 100644 --- a/apps/terminal/serializers.py +++ b/apps/terminal/serializers.py @@ -24,10 +24,10 @@ class TerminalSerializer(serializers.ModelSerializer): @staticmethod def get_is_alive(obj): log = obj.terminalheatbeat_set.last() - if timezone.now() - log.date_created > timezone.timedelta(seconds=600): - return False - else: + if log and timezone.now() - log.date_created < timezone.timedelta(seconds=600): return True + else: + return False class TerminalHeatbeatSerializer(serializers.ModelSerializer):