divio/django-cms

View on GitHub
cms/admin/forms.py

Summary

Maintainability
F
5 days
Test Coverage

File forms.py has 1050 lines of code (exceeds 250 allowed). Consider refactoring.
Open

from django import forms
from django.apps import apps
from django.contrib.auth import get_permission_codename, get_user_model
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType
Severity: Major
Found in cms/admin/forms.py - About 2 days to fix

    Function clean has a Cognitive Complexity of 45 (exceeds 5 allowed). Consider refactoring.
    Open

        def clean(self):
            cleaned_data = super().clean()
            if cleaned_data.get("overwrite_url"):
                # Assuming that the user enters a full URL in the overwrite_url input.
                # Here we validate it before publishing the page and if it contains
    Severity: Minor
    Found in cms/admin/forms.py - About 6 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function __init__ has a Cognitive Complexity of 23 (exceeds 5 allowed). Consider refactoring.
    Open

        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.title_obj = self.instance.get_title_obj(
                language=self._language,
                fallback=False,
    Severity: Minor
    Found in cms/admin/forms.py - About 3 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function clean has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

        def clean(self):
            data = super().clean()
    
            # Validate Page options
            if not data.get('can_change_page'):
    Severity: Minor
    Found in cms/admin/forms.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function __init__ has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            user = get_current_user() # current user from threadlocals
            site = Site.objects.get_current()
            sub_users = get_subordinate_users(user, site)
    Severity: Minor
    Found in cms/admin/forms.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function clean has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
    Open

        def clean(self):
            data = super().clean()
    
            if self._errors:
                # Form already has errors, best to let those be
    Severity: Minor
    Found in cms/admin/forms.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function clean has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
    Open

        def clean(self):
            from cms.utils.plugins import has_reached_plugin_limit
    
            data = self.cleaned_data
    
    
    Severity: Minor
    Found in cms/admin/forms.py - About 55 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function save_permissions has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

    def save_permissions(data, obj):
        models = (
            (Page, 'page'),
            (PageUser, 'pageuser'),
            (PageUserGroup, 'pageuser'),
    Severity: Minor
    Found in cms/admin/forms.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function clean has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

        def clean(self):
            data = self.cleaned_data
    
            obj_id = data.get('obj_id')
            obj_type = data.get('obj_type')
    Severity: Minor
    Found in cms/admin/forms.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Avoid deeply nested control flow statements.
    Open

                            if self._check_unique_namespace_instance(application_namespace):
                                # Looks like there's already one with the default instance
                                # namespace defined.
                                self._errors['application_namespace'] = ErrorList([
                                    _('An application instance with this name already exists.')
    Severity: Major
    Found in cms/admin/forms.py - About 45 mins to fix

      Function save has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
      Open

          def save(self, *args, **kwargs):
              source = self.cleaned_data.get('source')
              parent = self.cleaned_data.get('parent_node')
      
              if source:
      Severity: Minor
      Found in cms/admin/forms.py - About 35 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Function clean has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
      Open

          def clean(self):
              data = self.cleaned_data
      
              if self._errors:
                  # Form already has errors, best to let those be
      Severity: Minor
      Found in cms/admin/forms.py - About 35 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Avoid too many return statements within this function.
      Open

              return data
      Severity: Major
      Found in cms/admin/forms.py - About 30 mins to fix

        Avoid too many return statements within this function.
        Open

                return self.cleaned_data
        Severity: Major
        Found in cms/admin/forms.py - About 30 mins to fix

          There are no issues that match your filters.

          Category
          Status