Преглед изворни кода

Fixes: #18241 - Script results log_threshold should default to Default (#18501)

* Changed LogLevelChoices order; Changed ScriptResultView to select LogLevelChoices to LOG_DEFAULT and setup the html template to put (All) in the last one

* Change LogLevelChoices in ScriptResultView get_table method

* Remove default option, add Default string to INFO

* Fix scripts.py and reports.py to reflect removing DEFAULT level

* fix linting
Renato Almeida de Oliveira пре 1 година
родитељ
комит
efa939d0c2

+ 1 - 3
netbox/extras/choices.py

@@ -155,7 +155,6 @@ class JournalEntryKindChoices(ChoiceSet):
 class LogLevelChoices(ChoiceSet):
 
     LOG_DEBUG = 'debug'
-    LOG_DEFAULT = 'default'
     LOG_INFO = 'info'
     LOG_SUCCESS = 'success'
     LOG_WARNING = 'warning'
@@ -163,16 +162,15 @@ class LogLevelChoices(ChoiceSet):
 
     CHOICES = (
         (LOG_DEBUG, _('Debug'), 'teal'),
-        (LOG_DEFAULT, _('Default'), 'gray'),
         (LOG_INFO, _('Info'), 'cyan'),
         (LOG_SUCCESS, _('Success'), 'green'),
         (LOG_WARNING, _('Warning'), 'yellow'),
         (LOG_FAILURE, _('Failure'), 'red'),
+
     )
 
     SYSTEM_LEVELS = {
         LOG_DEBUG: logging.DEBUG,
-        LOG_DEFAULT: logging.INFO,
         LOG_INFO: logging.INFO,
         LOG_SUCCESS: logging.INFO,
         LOG_WARNING: logging.WARNING,

+ 4 - 5
netbox/extras/constants.py

@@ -138,9 +138,8 @@ DEFAULT_DASHBOARD = [
 
 LOG_LEVEL_RANK = {
     LogLevelChoices.LOG_DEBUG: 0,
-    LogLevelChoices.LOG_DEFAULT: 1,
-    LogLevelChoices.LOG_INFO: 2,
-    LogLevelChoices.LOG_SUCCESS: 3,
-    LogLevelChoices.LOG_WARNING: 4,
-    LogLevelChoices.LOG_FAILURE: 5,
+    LogLevelChoices.LOG_INFO: 1,
+    LogLevelChoices.LOG_SUCCESS: 2,
+    LogLevelChoices.LOG_WARNING: 3,
+    LogLevelChoices.LOG_FAILURE: 4,
 }

+ 1 - 1
netbox/extras/reports.py

@@ -15,7 +15,7 @@ class Report(BaseScript):
 
     # There is no generic log() equivalent on BaseScript
     def log(self, message):
-        self._log(message, None, level=LogLevelChoices.LOG_DEFAULT)
+        self._log(message, None, level=LogLevelChoices.LOG_INFO)
 
     def log_success(self, obj=None, message=None):
         super().log_success(message, obj)

+ 1 - 1
netbox/extras/scripts.py

@@ -460,7 +460,7 @@ class BaseScript:
     # Logging
     #
 
-    def _log(self, message, obj=None, level=LogLevelChoices.LOG_DEFAULT):
+    def _log(self, message, obj=None, level=LogLevelChoices.LOG_INFO):
         """
         Log a message. Do not call this method directly; use one of the log_* wrappers below.
         """

+ 6 - 6
netbox/extras/views.py

@@ -1315,9 +1315,9 @@ class ScriptResultView(TableMixin, generic.ObjectView):
         index = 0
 
         try:
-            log_threshold = LOG_LEVEL_RANK[request.GET.get('log_threshold', LogLevelChoices.LOG_DEBUG)]
+            log_threshold = LOG_LEVEL_RANK[request.GET.get('log_threshold', LogLevelChoices.LOG_INFO)]
         except KeyError:
-            log_threshold = LOG_LEVEL_RANK[LogLevelChoices.LOG_DEBUG]
+            log_threshold = LOG_LEVEL_RANK[LogLevelChoices.LOG_INFO]
         if job.data:
 
             if 'log' in job.data:
@@ -1325,7 +1325,7 @@ class ScriptResultView(TableMixin, generic.ObjectView):
                     tests = job.data['tests']
 
                 for log in job.data['log']:
-                    log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_DEFAULT)
+                    log_level = LOG_LEVEL_RANK.get(log.get('status'), LogLevelChoices.LOG_INFO)
                     if log_level >= log_threshold:
                         index += 1
                         result = {
@@ -1348,7 +1348,7 @@ class ScriptResultView(TableMixin, generic.ObjectView):
             for method, test_data in tests.items():
                 if 'log' in test_data:
                     for time, status, obj, url, message in test_data['log']:
-                        log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_DEFAULT)
+                        log_level = LOG_LEVEL_RANK.get(status, LogLevelChoices.LOG_INFO)
                         if log_level >= log_threshold:
                             index += 1
                             result = {
@@ -1374,9 +1374,9 @@ class ScriptResultView(TableMixin, generic.ObjectView):
         if job.completed:
             table = self.get_table(job, request, bulk_actions=False)
 
-        log_threshold = request.GET.get('log_threshold', LogLevelChoices.LOG_DEBUG)
+        log_threshold = request.GET.get('log_threshold', LogLevelChoices.LOG_INFO)
         if log_threshold not in LOG_LEVEL_RANK:
-            log_threshold = LogLevelChoices.LOG_DEBUG
+            log_threshold = LogLevelChoices.LOG_INFO
 
         context = {
             'script': job.object,

+ 1 - 1
netbox/templates/extras/script_result.html

@@ -53,7 +53,7 @@
             <div class="dropdown-menu">
               {% for level, name in log_levels.items %}
                 <a class="dropdown-item d-flex justify-content-between" href="{% url 'extras:script_result' job_pk=job.pk %}?log_threshold={{ level }}">
-                  {{ name }}{% if forloop.first %} ({% trans "All" %}){% endif %}
+                  {{ name }}{% if forloop.counter == 1 %} ({% trans "All" %}){% elif forloop.counter == 2 %} ({% trans "Default" %}){% endif %}
                   {% if level == log_threshold %}<span class="badge bg-green ms-auto"></span>{% endif %}
                 </a>
               {% endfor %}