kiwitcms/Kiwi

View on GitHub

Showing 261 of 403 total issues

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

function applyStyleToCell (cell) {
    const cellElement = cell[1]
    if (cellElement) {
        const cellChildren = cellElement.children
        if (cellChildren) {
Severity: Minor
Found in tcms/telemetry/static/telemetry/js/testing/status-matrix.js - 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 clone has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
Open

    def clone(self, new_author, test_plans):
        values = self.__dict__.copy()
        del values["_state"]
        del values["id"]
        if "sortkey" in values:
Severity: Minor
Found in tcms/testcases/models.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 deny_uploads_containing_script_tag has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
Open

def deny_uploads_containing_script_tag(uploaded_file):
    for chunk in uploaded_file.chunks(2048):
        for tag_name in generally_xss_unsafe:
            if chunk.lower().find(b"<" + tag_name.encode()) > -1:
                raise ValidationError(_(f"File contains forbidden tag: <{tag_name}>"))
Severity: Minor
Found in tcms/kiwi_attachments/validators.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 ajax has 30 lines of code (exceeds 25 allowed). Consider refactoring.
Open

        ajax: function (data, callback, settings) {
            const params = {}

            if ($('#id_summary').val()) {
                params.summary__icontains = $('#id_summary').val()
Severity: Minor
Found in tcms/bugs/static/bugs/js/search.js - About 1 hr to fix

    Function pageTestrunsMutableReadyHandler has 30 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    export function pageTestrunsMutableReadyHandler () {
        initializeDateTimePicker('#id_planned_start')
        initializeDateTimePicker('#id_planned_stop')
    
        $('#add_id_product').click(function () {
    Severity: Minor
    Found in tcms/testruns/static/testruns/js/mutable.js - About 1 hr to fix

      Function testPlanAutoComplete has 30 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      export function testPlanAutoComplete (selector, planCache) {
          $(`${selector}.typeahead`).typeahead({
              minLength: 1,
              highlight: true
          }, {
      Severity: Minor
      Found in tcms/static/js/jsonrpc.js - About 1 hr to fix

        Function filterTestExecutionsByProperty has 30 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function filterTestExecutionsByProperty (runId, executions, filterBy, filterValue) {
            // no input => show all rows
            if (filterValue.trim().length === 0) {
                $('.test-execution-element').show()
                $('.test-executions-count').text(executions.length)
        Severity: Minor
        Found in tcms/testruns/static/testruns/js/get.js - About 1 hr to fix

          Function ajax has 30 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  ajax: function (data, callback, settings) {
                      const query = {}
          
                      const productIds = $('#id_product').val()
                      if (productIds.length) {
          Severity: Minor
          Found in tcms/telemetry/static/telemetry/js/testing/test-case-health.js - About 1 hr to fix

            Function pageBugsMutableReadyHandler has 29 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            export function pageBugsMutableReadyHandler () {
                $('#add_id_product').click(function () {
                    return showRelatedObjectPopup(this)
                })
            
            
            Severity: Minor
            Found in tcms/bugs/static/bugs/js/mutable.js - About 1 hr to fix

              Function preProcessData has 29 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              function preProcessData (data, callbackF) {
                  const runIds = []
                  const productIds = []
                  data.forEach(function (element) {
                      runIds.push(element.id)
              Severity: Minor
              Found in tcms/testruns/static/testruns/js/search.js - About 1 hr to fix

                Function pageTestplansMutableReadyHandler has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                export function pageTestplansMutableReadyHandler () {
                    if ($('#id_version').find('option').length === 0) {
                        populateVersion()
                    }
                
                
                Severity: Minor
                Found in tcms/testplans/static/testplans/js/mutable.js - About 1 hr to fix

                  Function ajax has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          ajax: function (data, callbackF, settings) {
                              const params = {}
                  
                              if ($('#id_name').val()) {
                                  params.name__icontains = $('#id_name').val()
                  Severity: Minor
                  Found in tcms/testplans/static/testplans/js/search.js - About 1 hr to fix

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

                    def create_permissions(
                        app_config,
                        verbosity=2,
                        interactive=True,
                        using=DEFAULT_DB_ALIAS,
                    Severity: Minor
                    Found in tcms/bugs/management.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 filterTestExecutionsByProperty has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                    Open

                    function filterTestExecutionsByProperty (runId, executions, filterBy, filterValue) {
                        // no input => show all rows
                        if (filterValue.trim().length === 0) {
                            $('.test-execution-element').show()
                            $('.test-executions-count').text(executions.length)
                    Severity: Minor
                    Found in tcms/testruns/static/testruns/js/get.js - 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 parse_translation_string has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def parse_translation_string(self, filename, lines):
                            startline = 0
                            startcol = 0
                            blocktrans_string = ""
                    
                    
                    Severity: Minor
                    Found in kiwi_lint/similar_string.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 visit_call has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                    Open

                        def visit_call(self, node):
                            if node.func.as_string().endswith("Field") and node.keywords:
                                for keyword in node.keywords:
                                    if keyword.arg == "label":
                                        self.add_message("form-field-label-used", node=node)
                    Severity: Minor
                    Found in kiwi_lint/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 drawTable has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                    Open

                    export function drawTable () {
                        $('.js-spinner').show()
                        if (table) {
                            table.destroy()
                    
                    
                    Severity: Minor
                    Found in tcms/telemetry/static/telemetry/js/testing/status-matrix.js - 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 advancedSearchAndAddTestCases has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                    export function advancedSearchAndAddTestCases (objId, rpcMethod, href, errorMessage) {
                        window.addTestCases = function (testCaseIDs, sender) {
                            let rpcErrors = 0
                    
                            // close the popup
                    Severity: Minor
                    Found in tcms/static/js/utils.js - About 1 hr to fix

                      Function renderTestExecutionRow has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      function renderTestExecutionRow (testExecution) {
                          // refresh the internal data structure b/c some fields are used
                          // to render the expand area and may have changed via bulk-update meanwhile
                          testExecution.status__name = $('#test_run_pk').data(`trans-execution-status-${testExecution.status}`)
                          allExecutions[testExecution.id] = testExecution
                      Severity: Minor
                      Found in tcms/testruns/static/testruns/js/get.js - About 1 hr to fix

                        Similar blocks of code found in 14 locations. Consider refactoring.
                        Open

                                    if ($('#id_before').val()) {
                                        params.created_at__lte = $('#id_before').data('DateTimePicker').date().format('YYYY-MM-DD 23:59:59')
                                    }
                        Severity: Major
                        Found in tcms/bugs/static/bugs/js/search.js and 13 other locations - About 1 hr to fix
                        tcms/bugs/static/bugs/js/search.js on lines 47..49
                        tcms/testcases/static/testcases/js/search.js on lines 76..78
                        tcms/testcases/static/testcases/js/search.js on lines 80..82
                        tcms/testplans/static/testplans/js/search.js on lines 61..63
                        tcms/testplans/static/testplans/js/search.js on lines 65..67
                        tcms/testruns/static/testruns/js/search.js on lines 69..71
                        tcms/testruns/static/testruns/js/search.js on lines 73..75
                        tcms/testruns/static/testruns/js/search.js on lines 77..79
                        tcms/testruns/static/testruns/js/search.js on lines 81..83
                        tcms/testruns/static/testruns/js/search.js on lines 85..87
                        tcms/testruns/static/testruns/js/search.js on lines 89..91
                        tcms/testruns/static/testruns/js/search.js on lines 93..95
                        tcms/testruns/static/testruns/js/search.js on lines 97..99

                        Duplicated Code

                        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                        Tuning

                        This issue has a mass of 56.

                        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                        Refactorings

                        Further Reading

                        Severity
                        Category
                        Status
                        Source
                        Language