Просмотр исходного кода

#19713: Remove changelog_message from bulk import form for unsupported models

Jeremy Stretch 6 месяцев назад
Родитель
Сommit
9c96089cfb

+ 7 - 1
netbox/netbox/views/generic/bulk_views.py

@@ -21,6 +21,7 @@ from core.models import ObjectType
 from core.signals import clear_events
 from extras.choices import CustomFieldUIEditableChoices
 from extras.models import CustomField, ExportTemplate
+from netbox.models.features import ChangeLoggingMixin
 from netbox.object_actions import AddObject, BulkDelete, BulkEdit, BulkExport, BulkImport, BulkRename
 from utilities.error_handlers import handle_protectederror
 from utilities.exceptions import AbortRequest, PermissionsViolation
@@ -495,10 +496,13 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
     #
 
     def get(self, request):
+        model = self.model_form._meta.model
         form = BulkImportForm()
+        if not issubclass(model, ChangeLoggingMixin):
+            form.fields.pop('changelog_message')
 
         return render(request, self.template_name, {
-            'model': self.model_form._meta.model,
+            'model': model,
             'form': form,
             'fields': self._get_form_fields(),
             'return_url': self.get_return_url(request),
@@ -509,6 +513,8 @@ class BulkImportView(GetReturnURLMixin, BaseMultiObjectView):
         logger = logging.getLogger('netbox.views.BulkImportView')
         model = self.model_form._meta.model
         form = BulkImportForm(request.POST, request.FILES)
+        if not issubclass(model, ChangeLoggingMixin):
+            form.fields.pop('changelog_message')
 
         if form.is_valid():
             logger.debug("Import form validation was successful")

+ 14 - 7
netbox/templates/generic/bulk_import.html

@@ -53,8 +53,10 @@ Context:
         {% render_field form.csv_delimiter %}
 
         {# Meta fields #}
-        <div class="bg-primary-subtle border border-primary rounded-1 pt-3 mb-3">
-          {% render_field form.changelog_message %}
+        <div class="bg-primary-subtle border border-primary rounded-1 pt-3 px-3 mb-3">
+          {% if form.changelog_message %}
+            {% render_field form.changelog_message %}
+          {% endif %}
           {% render_field form.background_job %}
         </div>
 
@@ -83,9 +85,12 @@ Context:
         {% render_field form.csv_delimiter %}
 
         {# Meta fields #}
-        <div class="bg-primary-subtle border border-primary rounded-1 pt-3 mb-3">
-          {% render_field form.changelog_message %}
-        </div>
+        {# Background jobs not supported with file uploads #}
+        {% if form.changelog_message %}
+          <div class="bg-primary-subtle border border-primary rounded-1 pt-3 px-3 mb-3">
+            {% render_field form.changelog_message %}
+          </div>
+        {% endif %}
 
         <div class="form-group">
           <div class="col col-md-12 text-end">
@@ -113,8 +118,10 @@ Context:
         {% render_field form.csv_delimiter %}
 
         {# Meta fields #}
-        <div class="bg-primary-subtle border border-primary rounded-1 pt-3 mb-3">
-          {% render_field form.changelog_message %}
+        <div class="bg-primary-subtle border border-primary rounded-1 pt-3 px-3 mb-3">
+          {% if form.changelog_message %}
+            {% render_field form.changelog_message %}
+          {% endif %}
           {% render_field form.background_job %}
         </div>