AI Slop Code RIsk Monitor

inventree/InvenTree

Open Source Inventory Management System

12.6 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for inventree/InvenTree, a Python project with 7,694 GitHub stars. SynthScan examined 313,077 lines of code across 1420 source files, recording 2177 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 12.6 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

12.6
Adjusted Signal
12.6
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
7.7K
Stars
Python
Language
313.1K
Lines of Code
1.4K
Files
2.2K
Pattern Hits
2026-10-12
Scan Date
0.17
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 24.9/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 1470 finding(s).

Hallucinated Dependency & Supply Chain Risk 14.3/100 · LOW

Are imports declared and package/API names verified? 201 finding(s).

Agent Over-Engineering Ratio 26.9/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 1419 finding(s).

PR Review Velocity Impact 49.2/100 · MEDIUM

Which changes need focused human review? 2177 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 82HIGH 154MEDIUM 281LOW 1660

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 2177 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators82 hits · 825 pts
SeverityFileLineSnippetContext
CRITICALsrc/frontend/src/functions/auth.tsx179 const mfa_flow = err.response.data.data.flows.find(CODE
CRITICALsrc/frontend/src/functions/auth.tsx399 const mfa_trust = err.response.data.data.flows.find(CODE
CRITICALsrc/frontend/src/functions/auth.tsx810 const mfa_trust = err.response.data.data.flows.find(CODE
CRITICALsrc/backend/InvenTree/order/models.py8from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/order/test_sales_order.py9from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/order/serializers.py5from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/order/test_api.py12from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/models.py10from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/validators.py5from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/serializers.py5from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/operations.py5from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/tests.py198 from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/tests.py237 from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/tests.py337 from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/tests.py384 from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/importer/tests.py414 from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/test_plugin.py15from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/serializers.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/installer.py11from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/api.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…nd/InvenTree/plugin/samples/integration/test_sample.py3from django.core.exceptions import ValidationErrorCODE
CRITICAL…end/InvenTree/plugin/samples/integration/transition.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…e/plugin/samples/integration/test_validation_sample.py3from django.core.exceptions import ValidationErrorCODE
CRITICAL…backend/InvenTree/plugin/samples/integration/sample.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…backend/InvenTree/plugin/builtin/labels/label_sheet.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…d/InvenTree/plugin/base/integration/ValidationMixin.py5from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/base/label/mixins.py3from django.core.exceptions import ValidationErrorCODE
CRITICAL…ackend/InvenTree/plugin/base/label/test_label_mixin.py8from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/base/supplier/mixins.py7from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/plugin/base/barcodes/mixins.py5from django.core.exceptions import ValidationErrorCODE
CRITICAL…/backend/InvenTree/plugin/base/barcodes/serializers.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/models.py3221 from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/icons.py8from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/test_api.py5from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/test_api.py1610 from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/test_api.py1631 from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/tests.py16from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/currency.py7from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/test_emails.py4from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/filters.py6from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/common/setting/tests.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/users/api.py9from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/generic/states/validators.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/generic/states/transition.py7from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/generic/states/test_transition.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/generic/states/api_helpers.py8from django.core.exceptions import ValidationError as DjangoValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/models.py11from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/test_tags.py13from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/validators.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/api.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/tests.py14from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/tests.py778 from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/report/templatetags/barcode.py7from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/data_exporter/mixins.py6from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/tasks.py6from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/models.py17from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/serializers.py6from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/test_category.py3from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/test_api.py9from django.core.exceptions import ValidationErrorCODE
CRITICALsrc/backend/InvenTree/part/test_part.py7from django.core.exceptions import ValidationErrorCODE
22 more matches not shown…
Hyper-Verbose Identifiers904 hits · 776 pts
SeverityFileLineSnippetContext
LOWtasks.py37def is_devcontainer_environment():CODE
LOWtasks.py77def get_inventree_api_version():CODE
LOWtasks.py2091def export_settings_definitions(c, filename='inventree_settings.json', overwrite=False):CODE
LOWdocs/docs/hooks.py263def check_status_codes_documented(gen_base):CODE
LOWdocs/docs/hooks.py290def check_status_code_values_documented(gen_base):CODE
LOWdocs/docs/plugins/walkthrough.md122export function RenderAttachmentCarouselPanel(context: InvenTreePluginContext) {CODE
LOWdocs/docs/plugins/machines/overview.md62 def my_custom_required_method(self):CODE
LOWdocs/docs/javascripts/fontawesome.js1060 function makeLayersCounterAbstract(params) {CODE
LOWdocs/docs/javascripts/fontawesome.js1837 function generateSvgReplacementMutation(node, nodeMeta) {CODE
LOWdocs/docs/javascripts/splide.esm.js7(function webpackUniversalModuleDefinition(root, factory) {CODE
LOW.github/scripts/version_check.py114def get_existing_release_tags(include_prerelease: bool = True):CODE
LOWsrc/frontend/tests/baseFixtures.ts55async function collectCoverageFromContext(context: BrowserContext) {CODE
LOW…c/frontend/src/tables/settings/SelectionListDrawer.tsx31function SelectionListEntriesTable({CODE
LOW…rontend/src/tables/sales/SalesOrderParametricTable.tsx15export default function SalesOrderParametricTable({CODE
LOW…rontend/src/tables/sales/SalesOrderAllocationTable.tsx43export default function SalesOrderAllocationTable({CODE
LOW…ontend/src/tables/sales/ReturnOrderParametricTable.tsx15export default function ReturnOrderParametricTable({CODE
LOW…src/tables/purchasing/PurchaseOrderParametricTable.tsx15export default function PurchaseOrderParametricTable({CODE
LOW…/src/tables/purchasing/SupplierPartParametricTable.tsx12export default function SupplierPartParametricTable({CODE
LOW…d/src/tables/purchasing/PurchaseOrderLineItemTable.tsx60export function PurchaseOrderLineItemTable({CODE
LOW…/tables/purchasing/ManufacturerPartParametricTable.tsx13export default function ManufacturerPartParametricTable({CODE
LOW…tend/src/tables/purchasing/SupplierPriceBreakTable.tsx29export function calculateSupplierPartUnitPrice(record: any) {CODE
LOW…tend/src/tables/purchasing/SupplierPriceBreakTable.tsx36export function SupplierPriceBreakColumns(): TableColumn[] {CODE
LOW…frontend/src/tables/part/PartCategoryTemplateTable.tsx28export default function PartCategoryTemplateTable({CODE
LOW…frontend/src/tables/part/PartBuildAllocationsTable.tsx33export default function PartBuildAllocationsTable({CODE
LOW…frontend/src/tables/part/PartSalesAllocationsTable.tsx30export default function PartSalesAllocationsTable({CODE
LOW…ontend/src/tables/stock/TransferOrderLineItemTable.tsx60export default function TransferOrderLineItemTable({CODE
LOW…tend/src/tables/stock/StockLocationParametricTable.tsx10export default function StockLocationParametricTable({CODE
LOW…tend/src/tables/stock/TransferOrderAllocationTable.tsx34export default function TransferOrderAllocationTable({CODE
LOW…tend/src/tables/stock/TransferOrderParametricTable.tsx20export default function TransferOrderParametricTable({CODE
LOWsrc/frontend/src/contexts/colorSchema.tsx11export function localStorageColorSchemeManager({CODE
LOWsrc/frontend/src/forms/CompanyForms.tsx124export function useManufacturerPartFields({CODE
LOWsrc/frontend/src/forms/StockForms.tsx396export function useStockItemUninstallFields(): ApiFormFieldSet {CODE
LOWsrc/frontend/src/forms/StockForms.tsx412export function useStockItemInstallFields({CODE
LOWsrc/frontend/src/forms/StockForms.tsx466export function useStockItemSerializeFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx120export function useSalesOrderLineItemFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx309function SalesOrderAllocateLineRow({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx398export function useAllocateToSalesOrderForm({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx488export function useSalesOrderAllocateSerialsFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx514export function useSalesOrderShipmentFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx548export function useSalesOrderShipmentCompleteFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx563export function useSalesOrderAllocationFields({CODE
LOWsrc/frontend/src/forms/SalesOrderForms.tsx591export function useSalesOrderAutoAllocateFields({CODE
LOWsrc/frontend/src/forms/TransferOrderForms.tsx76export function useTransferOrderLineItemFields({CODE
LOWsrc/frontend/src/forms/TransferOrderForms.tsx107function TransferOrderAllocateLineRow({CODE
LOWsrc/frontend/src/forms/TransferOrderForms.tsx194export function useAllocateToTransferOrderForm({CODE
LOWsrc/frontend/src/forms/TransferOrderForms.tsx283export function useTransferOrderAllocationFields({CODE
LOWsrc/frontend/src/forms/TransferOrderForms.tsx299export function useTransferOrderAllocateSerialsFields({CODE
LOWsrc/frontend/src/forms/PurchaseOrderForms.tsx64export function usePurchaseOrderLineItemFields({CODE
LOWsrc/frontend/src/forms/BomForms.tsx107export function useEditBomSubstitutesForm(props: BomItemSubstituteFormProps) {CODE
LOWsrc/frontend/src/forms/BuildForms.tsx171export function useBuildOrderOutputFields({CODE
LOWsrc/frontend/src/forms/BuildForms.tsx242export function useBuildAutoAllocateFields({CODE
LOWsrc/frontend/src/forms/BuildForms.tsx336export function useCompleteBuildOutputsForm({CODE
LOWsrc/frontend/src/forms/BuildForms.tsx505export function useCancelBuildOutputsForm({CODE
LOWsrc/frontend/src/forms/BuildForms.tsx668export function useAllocateStockToBuildForm({CODE
LOWsrc/frontend/src/forms/ImporterForms.tsx4export function dataImporterSessionFields({CODE
LOWsrc/frontend/src/forms/ReturnOrderForms.tsx106export function useReturnOrderLineItemFields({CODE
LOWsrc/frontend/src/forms/ReturnOrderForms.tsx152function ReturnOrderLineItemFormRow({CODE
LOWsrc/frontend/src/forms/ReturnOrderForms.tsx214export function useReceiveReturnOrderLineItems(CODE
LOWsrc/frontend/src/forms/CommonForms.tsx102export function useParameterTemplateFields(): ApiFormFieldSet {CODE
LOWsrc/frontend/src/forms/CommonForms.tsx135export function useDynamicParameterValueField(resetDep?: any): {CODE
844 more matches not shown…
Empty Error Handlers116 hits · 580 pts
SeverityFileLineSnippetContext
HIGHsrc/backend/InvenTree/order/api.py472except NotFound:CODE
HIGHsrc/backend/InvenTree/order/api.py1135except NotFound:CODE
HIGHsrc/backend/InvenTree/order/api.py1715except NotFound:CODE
HIGHsrc/backend/InvenTree/order/api.py2018except NotFound:CODE
HIGHsrc/backend/InvenTree/plugin/models.py237except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/models.py254except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/registry.py422except (OperationalError, ProgrammingError, IntegrityError):CODE
HIGHsrc/backend/InvenTree/plugin/registry.py425except IntegrationPluginError:CODE
HIGHsrc/backend/InvenTree/plugin/registry.py1091except (OperationalError, ProgrammingError):CODE
HIGHsrc/backend/InvenTree/plugin/registry.py1144except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/registry.py827except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/urls.py35except Resolver404:CODE
HIGHsrc/backend/InvenTree/plugin/helpers.py161except NotGitRepository:CODE
HIGHsrc/backend/InvenTree/plugin/helpers.py211except AppRegistryNotReady: # pragma: no coverCODE
HIGH…enTree/plugin/samples/integration/validation_sample.py143except ValueError:CODE
HIGH…enTree/plugin/samples/integration/validation_sample.py160except ValueError:CODE
HIGH…InvenTree/plugin/builtin/integration/core_wellknown.py42except Exception: # pragma: no coverCODE
HIGH…InvenTree/plugin/builtin/barcodes/inventree_barcode.py83except (ValueError, model.DoesNotExist):CODE
HIGH…InvenTree/plugin/builtin/barcodes/inventree_barcode.py96except json.JSONDecodeError:CODE
HIGH…InvenTree/plugin/builtin/barcodes/inventree_barcode.py119except (ValueError, model.DoesNotExist):CODE
HIGH…end/InvenTree/plugin/base/integration/ScheduleMixin.py238except Schedule.DoesNotExist:CODE
HIGH…/backend/InvenTree/plugin/base/integration/AppMixin.py109except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/plugin/base/supplier/mixins.py176except ValidationError:CODE
HIGHsrc/backend/InvenTree/plugin/base/supplier/helpers.py80except common.models.ParameterTemplate.DoesNotExist:CODE
HIGHsrc/backend/InvenTree/plugin/base/barcodes/mixins.py67except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/base/barcodes/api.py530except Exception:CODE
HIGHsrc/backend/InvenTree/plugin/base/event/test_events.py107except ValueError:CODE
HIGHsrc/backend/InvenTree/common/tasks.py104except (IntegrityError, OperationalError):CODE
HIGHsrc/backend/InvenTree/common/models.py315except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/common/models.py942except self.DoesNotExist:CODE
HIGHsrc/backend/InvenTree/common/models.py2285except Exception:CODE
HIGHsrc/backend/InvenTree/common/models.py2739except ParameterTemplate.DoesNotExist:CODE
HIGHsrc/backend/InvenTree/common/models.py650except (IntegrityError, OperationalError, ProgrammingError):CODE
HIGHsrc/backend/InvenTree/common/models.py653except ValidationError:CODE
HIGHsrc/backend/InvenTree/common/models.py1094except Exception:CODE
HIGHsrc/backend/InvenTree/common/models.py1995except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/common/models.py2002except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/common/models.py2037except Exception:CODE
HIGHsrc/backend/InvenTree/common/serializers.py352except Exception:CODE
HIGHsrc/backend/InvenTree/common/apps.py44except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/common/notifications.py113except Exception:CODE
HIGHsrc/backend/InvenTree/machine/registry.py435except Exception:CODE
HIGHsrc/backend/InvenTree/machine/registry.py485except (IntegrityError, OperationalError, ProgrammingError):CODE
HIGHsrc/backend/InvenTree/users/models.py515except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/users/models.py522except Exception: # pragma: no coverCODE
HIGHsrc/backend/InvenTree/users/models.py603except Owner.DoesNotExist:CODE
HIGHsrc/backend/InvenTree/users/apps.py36except (OperationalError, ProgrammingError): # pragma: no coverCODE
HIGHsrc/backend/InvenTree/users/apps.py43except (OperationalError, ProgrammingError): # pragma: no coverCODE
HIGHsrc/backend/InvenTree/generic/states/api.py100except Exception:CODE
HIGHsrc/backend/InvenTree/generic/states/states.py181except Exception:CODE
HIGHsrc/backend/InvenTree/generic/states/states.py236except Exception:CODE
HIGHsrc/backend/InvenTree/report/apps.py81except Exception:CODE
HIGHsrc/backend/InvenTree/report/templatetags/report.py499except ValueError:CODE
HIGHsrc/backend/InvenTree/report/templatetags/report.py804except (ValueError, TypeError):CODE
HIGHsrc/backend/InvenTree/report/templatetags/report.py994except Exception:CODE
HIGHsrc/backend/InvenTree/data_exporter/apps.py24except Exception:CODE
HIGHsrc/backend/InvenTree/part/tasks.py390except ValidationError:CODE
HIGHsrc/backend/InvenTree/part/models.py2238except IntegrityError:CODE
HIGHsrc/backend/InvenTree/part/models.py2823except IntegrityError:CODE
HIGHsrc/backend/InvenTree/part/models.py4402except Part.DoesNotExist:CODE
56 more matches not shown…
Self-Referential Comments198 hits · 567 pts
SeverityFileLineSnippetContext
MEDIUM⚡src/backend/InvenTree/order/test_sales_order.py78 # Create a SalesOrder to ship againstCOMMENT
MEDIUM⚡src/backend/InvenTree/order/test_sales_order.py83 # Create a Shipment against this SalesOrderCOMMENT
MEDIUM⚡src/backend/InvenTree/order/test_sales_order.py88 # Create a line itemCOMMENT
MEDIUM⚡src/backend/InvenTree/order/test_sales_order.py93 # Create an extra lineCOMMENT
MEDIUM⚡src/backend/InvenTree/order/test_sales_order.py102 # Create an address for a different companyCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py54 # Create a Company to ship the goods toCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py59 # Create a Part to shipCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py544 # Create a new SalesOrderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py554 # Create a partCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py779 # Create an orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py793 # Create a second orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/serializers.py2002 # Create a new SalesOrderAllocationCOMMENT
MEDIUMsrc/backend/InvenTree/order/serializers.py2855 # Create a new TransferOrderAllocationCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py1734 # Create a new orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py2258 # Create a duplicate of this sales orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py2486 # Create a line itemCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py2654 # Create a bunch of SalesOrderLineItems for each orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py2861 # Create a new shipment against this SalesOrderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py2996 # Create a new line itemCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py3004 # Create a new shipment against this SalesOrderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py3322 # Create a required testCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py3713 # Create an orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py3810 # Create a new ReturnOrderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py4654 # Create a line itemCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py4722 # Create a line itemCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py5005 # Create a bunch of TransferOrderLineItems for each orderCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py5306 # Create a new line itemCOMMENT
MEDIUMsrc/backend/InvenTree/order/test_api.py5314 # Create a new shipment against this TransferOrderCOMMENT
MEDIUMsrc/backend/InvenTree/order/tests.py92 # Create a contact which does does not match the companyCOMMENT
MEDIUMsrc/backend/InvenTree/order/tests.py354 # Create a new supplier part with larger pack sizeCOMMENT
MEDIUMsrc/backend/InvenTree/order/tests.py359 # Create a new supplier part with smaller pack sizeCOMMENT
MEDIUMsrc/backend/InvenTree/order/tests.py370 # Create a new PurchaseOrderCOMMENT
MEDIUMsrc/backend/InvenTree/importer/models.py237 # Create a default mapping for each available field in the databaseCOMMENT
MEDIUMsrc/backend/InvenTree/importer/models.py287 # Create the column mappingsCOMMENT
MEDIUMsrc/backend/InvenTree/plugin/test_plugin.py220 # Create a sample plugin with a known static fileCOMMENT
MEDIUMsrc/backend/InvenTree/plugin/test_plugin.py503 # Create an __init__.py fileCOMMENT
MEDIUM…backend/InvenTree/plugin/templatetags/plugin_extras.py1"""This module provides template tags for handling plugins."""STRING
MEDIUM…e/plugin/samples/integration/test_validation_sample.py48 # Create a BomItem to run tests onCOMMENT
MEDIUM…end/InvenTree/plugin/base/integration/ScheduleMixin.py220 # Create a new scheduled taskCOMMENT
MEDIUM…ckend/InvenTree/plugin/base/integration/test_mixins.py172 # Create a fake modelCOMMENT
MEDIUM…ckend/InvenTree/plugin/base/integration/test_mixins.py176 # Create a mock app_config that returns our fake modelCOMMENT
MEDIUM⚡…backend/InvenTree/plugin/base/barcodes/test_barcode.py417 # Create a sales orderCOMMENT
MEDIUM⚡…backend/InvenTree/plugin/base/barcodes/test_barcode.py420 # Create a shipmentCOMMENT
MEDIUM⚡…backend/InvenTree/plugin/base/barcodes/test_barcode.py425 # Create a line itemCOMMENT
MEDIUM…backend/InvenTree/plugin/base/barcodes/test_barcode.py522 # Create a shipment for a different orderCOMMENT
MEDIUMsrc/backend/InvenTree/common/models.py2103 # Create a new file with the new name, and delete the old fileCOMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py632 # Create a simple part to test withCOMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py639 # Create a ParameterTemplate for the Part modelCOMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py648 # Create a Parameter via the APICOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py225 # Create a new ParameterTemplate - initially with invalid model_type fieldCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py379 # Create a Parameter against a specific Company instanceCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py1028 # Create a parameter for every company against every templateCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py1083 # Create a ParameterTemplate for the Part modelCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py1090 # Create a Parameter for the BuildCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py1528 # Create a note on the other part; it should be primary for *that* partCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py2725 # Create a note directly via ORM (bypasses API permission checks)COMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py3194 # Create a parameter directly via ORM (bypasses API permission checks)COMMENT
MEDIUMsrc/backend/InvenTree/common/tests.py1428 # Create a notification messageCOMMENT
MEDIUMsrc/backend/InvenTree/common/tests.py2099 # Create a new project codeCOMMENT
MEDIUMsrc/backend/InvenTree/common/test_emails.py176 # Create a test eventCOMMENT
138 more matches not shown…
Excessive Try-Catch Wrapping303 hits · 315 pts
SeverityFileLineSnippetContext
MEDIUMtasks.py634def check(cmd):CODE
LOWtasks.py1703 except Exception as e:CODE
LOWtasks.py1755 except Exception as e:CODE
LOWtasks.py1876 except Exception:CODE
LOWtasks.py2295 except Exception:CODE
LOWtasks.py2463 except Exception:CODE
LOWtasks.py2486 except Exception as e:CODE
MEDIUMdocs/docs/hooks.py26 print(f'Error fetching RTD versions: {response.status_code}')CODE
MEDIUM.github/scripts/seed_content_excludes_data.py46 print('Error: no superuser found - run `invoke dev.setup-test` first')CODE
MEDIUM.github/scripts/seed_content_excludes_data.py56 print('Error: no groups found - run `invoke dev.setup-test` first')CODE
MEDIUM.github/scripts/check_exported_data.py61 print(f"Error: Expected '{label}' data ('{model}') was not found")CODE
MEDIUM.github/scripts/check_exported_data.py139 print(f'Error: File not found: {args.datafile}')CODE
MEDIUM.github/scripts/check_exported_data.py148 print(f'Error: Failed to parse JSON file: {e}')CODE
MEDIUM.github/scripts/check_exported_data.py188 print('Error: No metadata entry found in exported data')CODE
MEDIUM.github/scripts/check_exported_data.py201 print(f'Error: No plugin configuration found for plugin "{PLUGIN_KEY}"')CODE
MEDIUM.github/scripts/check_exported_data.py214 print('Error: Plugin data was found, but should have been excluded')CODE
MEDIUMsrc/backend/InvenTree/order/test_sales_order.py1273def allocate(line_item):CODE
LOWsrc/backend/InvenTree/order/test_sales_order.py1292 except Exception as exc: # pragma: no cover - surfaced via errors listCODE
LOWsrc/backend/InvenTree/order/serializers.py193 except Exception:CODE
MEDIUMsrc/backend/InvenTree/order/test_api.py5536def allocate(line_item):CODE
LOWsrc/backend/InvenTree/order/test_api.py5551 except Exception as exc: # pragma: no cover - surfaced via errors listCODE
LOWsrc/backend/InvenTree/importer/models.py992 except Exception as e:CODE
MEDIUMsrc/backend/InvenTree/importer/tests.py495def update(field, value):CODE
LOWsrc/backend/InvenTree/importer/tests.py507 except Exception as exc: # pragma: no cover - surfaced via errors listCODE
LOWsrc/backend/InvenTree/plugin/models.py237 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/models.py254 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/test_plugin.py1064 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/registry.py304 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py493 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py537 except Exception as e:CODE
LOWsrc/backend/InvenTree/plugin/registry.py577 except Exception as e: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/registry.py590 except Exception: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/registry.py664 except Exception as error: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/registry.py827 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py829 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py848 except Exception as error:CODE
LOWsrc/backend/InvenTree/plugin/registry.py910 except Exception as error:CODE
LOWsrc/backend/InvenTree/plugin/registry.py997 except Exception as error: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/registry.py1081 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py1094 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/registry.py1144 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/registry.py1179 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/installer.py109 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/installer.py127 except Exception:CODE
LOW⚡src/backend/InvenTree/plugin/installer.py165 except Exception:CODE
LOW⚡src/backend/InvenTree/plugin/installer.py178 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/installer.py212 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/installer.py220 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/installer.py248 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/installer.py285 except Exception as exc:CODE
LOWsrc/backend/InvenTree/plugin/installer.py363 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/installer.py451 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/plugin.py554 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/urls.py45 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/urls.py72 except Exception: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/urls.py104 except Exception: # pragma: no coverCODE
LOWsrc/backend/InvenTree/plugin/helpers.py89 except Exception:CODE
LOWsrc/backend/InvenTree/plugin/helpers.py196 except Exception as error:CODE
LOWsrc/backend/InvenTree/plugin/helpers.py213 except Exception as error:CODE
LOWsrc/backend/InvenTree/plugin/helpers.py226 except Exception:CODE
243 more matches not shown…
Decorative Section Separators58 hits · 201 pts
SeverityFileLineSnippetContext
MEDIUM⚡contrib/container/docker-compose.yml8# ---------------------COMMENT
MEDIUM⚡contrib/container/docker-compose.yml10# ---------------------COMMENT
MEDIUM⚡contrib/container/docker-compose.yml12# -----------------------------COMMENT
MEDIUM⚡contrib/container/docker-compose.yml14# -----------------------------COMMENT
MEDIUM⚡contrib/container/docker-compose.yml22# ------------------------COMMENT
MEDIUM⚡contrib/container/docker-compose.yml24# ------------------------COMMENT
MEDIUMcontrib/container/docker-compose.yml35# ----------------------------COMMENT
MEDIUMcontrib/container/docker-compose.yml37# ----------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5617 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5619 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5645 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5647 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5691 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5693 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5907 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5909 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5920 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/order/test_api.py5922 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/plugin/test_api.py724 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/plugin/test_api.py726 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1703 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1705 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1757 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1759 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1780 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1782 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1813 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1815 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1838 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1840 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1887 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1889 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1905 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1907 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1924 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1926 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1938 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1940 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1956 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1958 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1972 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py1974 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2316 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2318 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2344 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2346 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2397 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2399 # ------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2739 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2741 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2799 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2801 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2890 # -------------------------------------------------------------------------COMMENT
MEDIUM⚡src/backend/InvenTree/common/test_api.py2892 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py2258 # ------------------------------------------------------------------COMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py2260 # ------------------------------------------------------------------COMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py2849 # -------------------------------------------------------------------------COMMENT
MEDIUMsrc/backend/InvenTree/common/test_api.py2851 # -------------------------------------------------------------------------COMMENT
Redundant / Tautological Comments97 hits · 146 pts
SeverityFileLineSnippetContext
LOWtasks.py657 # Return the resultCOMMENT
LOWdocs/main.py148 # Check if we are in ReadTheDocsCOMMENT
LOWdocs/docs/hooks.py235 # Check if there is a local file with release informationCOMMENT
LOWcontrib/install.sh55 # Check if os and version is supportedCOMMENT
LOWcontrib/packager.io/before.sh56# Check if tag sha is the same as the commit shaCOMMENT
LOWcontrib/packager.io/postinstall.sh43# Check if we are updating and need to alertCOMMENT
LOWcontrib/packager.io/functions.sh389 # Check if INVENTREE_SITE_URL in inventree configCOMMENT
LOWcontrib/packager.io/preinstall.sh12 # Check if clear-generated is availableCOMMENT
LOWcontrib/container/init.sh27# Check if "config.yaml" has been copied into the correct locationCOMMENT
LOWcontrib/installer/src/root_command.sh45# Check if os and version is supportedCOMMENT
LOWsrc/backend/InvenTree/config_template.yaml34# Set debug to False to run in production mode, or use the environment variable INVENTREE_DEBUGCOMMENT
LOWsrc/backend/InvenTree/config_template.yaml111# Set sentry_enabled to True to report errors back to the maintainersCOMMENT
LOWsrc/backend/InvenTree/config_template.yaml116# Set sentry_send_pii to True to include PII (e.g. user id/email, IP address, request data)COMMENT
LOWsrc/backend/InvenTree/order/models.py162 # Check if the order has been saved (otherwise we can't calculate the total price)COMMENT
LOWsrc/backend/InvenTree/order/models.py418 # Check if a responsible owner is required for this order typeCOMMENT
LOWsrc/backend/InvenTree/order/models.py708 # Add the part to the list of subscribed usersCOMMENT
LOWsrc/backend/InvenTree/order/models.py831 # Check if there is already a matching line item (for this PurchaseOrder)COMMENT
LOWsrc/backend/InvenTree/order/models.py1446 # Add the part to the list of subscribed usersCOMMENT
LOWsrc/backend/InvenTree/order/models.py3032 # Check if the shipment can be completed (throw error if not)COMMENT
LOWsrc/backend/InvenTree/order/models.py3304 # Add the part to the list of subscribed usersCOMMENT
LOWsrc/backend/InvenTree/order/models.py3740 # Add the part to the list of subscribed usersCOMMENT
LOWsrc/backend/InvenTree/order/serializers.py1032 # Check if the location is not specified for any particular itemCOMMENT
LOWsrc/backend/InvenTree/plugin/registry.py69 # Check if the registry needs to be reloadedCOMMENT
LOWsrc/backend/InvenTree/plugin/registry.py648 # Check if not running in testing mode and apps should be loaded from hooksCOMMENT
LOWsrc/backend/InvenTree/plugin/registry.py774 # Check if this is a 'builtin' pluginCOMMENT
LOWsrc/backend/InvenTree/plugin/registry.py795 # Check if this plugin is considered 'mandatory'COMMENT
LOWsrc/backend/InvenTree/plugin/installer.py258 # Check if plugin is already in fileCOMMENT
LOWsrc/backend/InvenTree/plugin/installer.py277 # Write file back to diskCOMMENT
LOWsrc/backend/InvenTree/plugin/staticfiles.py230 # Check if the directory is a plugin directoryCOMMENT
LOWsrc/backend/InvenTree/plugin/test_api.py656 # Check if the plugin is installedCOMMENT
LOWsrc/backend/InvenTree/plugin/urls.py30 # Check if the plugin has a custom URL patternCOMMENT
LOW…InvenTree/plugin/builtin/integration/core_wellknown.py35 # Check if OIDC is enabled, and if so, add the relevant entriesCOMMENT
LOWsrc/backend/InvenTree/plugin/base/ui/api.py58 # Add the feature to the list (serialize)COMMENT
LOWsrc/backend/InvenTree/plugin/base/label/mixins.py100 # Check if pdf data is providedCOMMENT
LOWsrc/backend/InvenTree/plugin/base/event/events.py201 # Check if the plugin registry needs to be reloadedCOMMENT
LOWsrc/backend/InvenTree/common/tasks.py86 # Check if id already existsCOMMENT
LOWsrc/backend/InvenTree/common/models.py936 # Check if a duplicate setting already existsCOMMENT
LOWsrc/backend/InvenTree/common/serializers.py144 # Check if confirmation was provided if requiredCOMMENT
LOWsrc/backend/InvenTree/common/serializers.py336 # Check if object has an absolute_url functionCOMMENT
LOWsrc/backend/InvenTree/common/notifications.py130 # Check if data is importing currentlyCOMMENT
LOWsrc/backend/InvenTree/common/notifications.py163 # Check if we have notified recently...COMMENT
LOWsrc/backend/InvenTree/common/currency.py195 # Check if quantity is fraction and disable multiplesCOMMENT
LOWsrc/backend/InvenTree/machine/registry.py68 # Check if the machine registry needs to be reloadedCOMMENT
LOWsrc/backend/InvenTree/users/tasks.py187 # Check if child permission not already in groupCOMMENT
LOWsrc/backend/InvenTree/users/permissions.py120 # Check if the rule has the specified permissionCOMMENT
LOWsrc/backend/InvenTree/users/permissions.py181 # Check if parent role has change permissionCOMMENT
LOWsrc/backend/InvenTree/users/tests.py34 # Check if there are any rulesets which do not have models definedCOMMENT
LOWsrc/backend/InvenTree/users/tests.py43 # Check if models have been defined for a ruleset which is incorrectCOMMENT
LOWsrc/backend/InvenTree/generic/states/transition.py218 # Check if a sending fnc is definedCOMMENT
LOWsrc/backend/InvenTree/report/tests.py1055 # Set DEBUG_MODE to return the report as an HTML fileCOMMENT
LOWsrc/backend/InvenTree/report/tests.py757 # Read the file contents back out, and validateSTRING
LOWsrc/backend/InvenTree/report/templatetags/report.py439 # Check if the image data is validCOMMENT
LOWsrc/backend/InvenTree/part/tasks.py174 # Check if stock expiry functionality is enabledCOMMENT
LOWsrc/backend/InvenTree/part/tasks.py179 # Check if STOCK_STALE_DAYS is configuredCOMMENT
LOWsrc/backend/InvenTree/part/models.py3186 # Check if internal pricing should override other pricingCOMMENT
LOWsrc/backend/InvenTree/part/models.py3926 # Check if the part was changedCOMMENT
LOWsrc/backend/InvenTree/part/test_api.py470 # Check if all parts deletedCOMMENT
LOWsrc/backend/InvenTree/part/test_api.py486 # Check if all categories are deletedCOMMENT
LOWsrc/backend/InvenTree/part/test_api.py491 # Check if all subcategories to parent moved to parent and all parts deletedCOMMENT
LOWsrc/backend/InvenTree/stock/models.py518 # Check if "interesting" fields have been changedCOMMENT
37 more matches not shown…
Deep Nesting135 hits · 114 pts
SeverityFileLineSnippetContext
LOWtasks.py1397CODE
LOWtasks.py1763CODE
LOWtasks.py1933CODE
LOWtasks.py2143CODE
LOWdocs/extract_schema.py127CODE
LOW.github/scripts/check_source_strings.py32CODE
LOWsrc/backend/InvenTree/order/models.py1014CODE
LOWsrc/backend/InvenTree/order/serializers.py1005CODE
LOWsrc/backend/InvenTree/order/api.py2458CODE
LOWsrc/backend/InvenTree/order/api.py2518CODE
LOWsrc/backend/InvenTree/order/api.py2539CODE
LOWsrc/backend/InvenTree/order/test_api.py3093CODE
LOWsrc/backend/InvenTree/order/test_api.py5409CODE
LOWsrc/backend/InvenTree/importer/models.py723CODE
LOWsrc/backend/InvenTree/importer/models.py1029CODE
LOWsrc/backend/InvenTree/plugin/registry.py143CODE
LOWsrc/backend/InvenTree/plugin/registry.py457CODE
LOWsrc/backend/InvenTree/plugin/registry.py545CODE
LOWsrc/backend/InvenTree/plugin/registry.py611CODE
LOWsrc/backend/InvenTree/plugin/registry.py730CODE
LOWsrc/backend/InvenTree/plugin/registry.py882CODE
LOWsrc/backend/InvenTree/plugin/installer.py227CODE
LOWsrc/backend/InvenTree/plugin/installer.py290CODE
LOWsrc/backend/InvenTree/plugin/urls.py16CODE
LOWsrc/backend/InvenTree/plugin/urls.py61CODE
LOWsrc/backend/InvenTree/plugin/urls.py79CODE
LOWsrc/backend/InvenTree/plugin/helpers.py180CODE
LOWsrc/backend/InvenTree/plugin/builtin/suppliers/tme.py46CODE
LOW…backend/InvenTree/plugin/builtin/labels/label_sheet.py178CODE
LOW…InvenTree/plugin/builtin/barcodes/inventree_barcode.py55CODE
LOWsrc/backend/InvenTree/plugin/base/ui/api.py25CODE
LOW…end/InvenTree/plugin/base/integration/ScheduleMixin.py158CODE
LOW…/backend/InvenTree/plugin/base/integration/AppMixin.py33CODE
LOW…/backend/InvenTree/plugin/base/integration/AppMixin.py90CODE
LOWsrc/backend/InvenTree/plugin/base/supplier/api.py140CODE
LOWsrc/backend/InvenTree/plugin/base/barcodes/api.py506CODE
LOWsrc/backend/InvenTree/plugin/base/event/events.py191CODE
LOWsrc/backend/InvenTree/plugin/base/event/test_events.py56CODE
LOWsrc/backend/InvenTree/plugin/base/event/test_events.py77CODE
LOWsrc/backend/InvenTree/plugin/base/event/test_events.py97CODE
LOWsrc/backend/InvenTree/plugin/base/event/test_events.py122CODE
LOWsrc/backend/InvenTree/common/models.py3933CODE
LOWsrc/backend/InvenTree/common/models.py352CODE
LOWsrc/backend/InvenTree/common/models.py863CODE
LOWsrc/backend/InvenTree/common/models.py1526CODE
LOWsrc/backend/InvenTree/common/models.py2900CODE
LOWsrc/backend/InvenTree/common/models.py3160CODE
LOWsrc/backend/InvenTree/common/serializers.py50CODE
LOWsrc/backend/InvenTree/common/serializers.py329CODE
LOWsrc/backend/InvenTree/common/notifications.py120CODE
LOWsrc/backend/InvenTree/common/tests.py1745CODE
LOWsrc/backend/InvenTree/machine/models.py186CODE
LOWsrc/backend/InvenTree/machine/registry.py20CODE
LOWsrc/backend/InvenTree/machine/registry.py29CODE
LOWsrc/backend/InvenTree/machine/registry.py137CODE
LOWsrc/backend/InvenTree/machine/registry.py187CODE
LOWsrc/backend/InvenTree/machine/registry.py329CODE
LOWsrc/backend/InvenTree/machine/registry.py33CODE
LOWsrc/backend/InvenTree/machine/registry.py354CODE
LOWsrc/backend/InvenTree/machine/machine_type.py304CODE
75 more matches not shown…
Over-Commented Block86 hits · 80 pts
SeverityFileLineSnippetContext
LOWdocs/requirements.txt281jinja2==3.1.6 \COMMENT
LOWdocs/requirements.txt401 # viaCOMMENT
LOWdocs/requirements.txt421 --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20eCOMMENT
LOWdocs/requirements.txt521pygments==2.21.0 \COMMENT
LOWdocs/requirements.txt621 # properdocsCOMMENT
LOWcontrib/container/dev-docker-compose.yml1# Docker compose recipe for InvenTree development serverCOMMENT
LOWcontrib/container/docker-compose.yml1# Docker compose recipe for a production-ready InvenTree setup, with the following containers:COMMENT
LOWcontrib/container/docker-compose.yml21COMMENT
LOWcontrib/installer/settings.yml1# All settings are optional (with their default values provided below), andCOMMENT
LOWcontrib/installer/settings.yml21# When true, the generated script will use tab indentation instead of spacesCOMMENT
LOWcontrib/installer/src/initialize.sh1## Code here runs inside the initialize() functionCOMMENT
LOW.github/workflows/scorecard.yaml41 with:COMMENT
LOW.github/workflows/docker.yaml1# Build, test and push InvenTree docker imageCOMMENT
LOWsrc/frontend/tests/pui_settings.spec.ts21// await page.getByLabel('Select language').first().click();COMMENT
LOWsrc/frontend/src/pages/stock/TransferOrderDetail.tsx121 // TODO: add back the accordion if we need extra linesCOMMENT
LOWsrc/frontend/src/pages/stock/TransferOrderDetail.tsx141 // {/* <Accordion.Item value='extra-items' key='extraitems'>COMMENT
LOWsrc/backend/requirements.txt1# This file was autogenerated by uv via the following command:COMMENT
LOWsrc/backend/requirements.txt561 --hash=sha256:9d4d93be539a18ab80d058eb515900e10951e04c537c5a6b394fc49528d3251f \COMMENT
LOWsrc/backend/requirements.txt581 # django-picklefieldCOMMENT
LOWsrc/backend/requirements.txt1321 # via -r src/backend/requirements.inCOMMENT
LOWsrc/backend/requirements.txt1341 # opentelemetry-instrumentation-dbapiCOMMENT
LOWsrc/backend/requirements.txt1381 --hash=sha256:0b32e2fcfec1e4bd48511a3b77ce32bfb1c16dcd5479396b21f9086a4b06c0c9 \COMMENT
LOWsrc/backend/requirements.txt1441opentelemetry-sdk==1.45.0 \COMMENT
LOWsrc/backend/requirements.txt2221 # viaCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt1# This file was autogenerated by uv via the following command:COMMENT
LOWsrc/backend/requirements-dev-3.14.txt21 # -c src/backend/requirements-3.14.txtCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt501 --hash=sha256:fc3ed7ebd2a8c96f5b166de0ab9b624996bef3b07bbeb19364dfb78222c22c80 \COMMENT
LOWsrc/backend/requirements-dev-3.14.txt521 --hash=sha256:0782484e8a1bd29498fa0195a67106e47cdcc98fafe80cebb1991964077cb694COMMENT
LOWsrc/backend/requirements-dev-3.14.txt541 # -r src/backend/requirements-dev.inCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt561 # -r src/backend/requirements-dev.inCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt581 # viaCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt601 # scim2-clientCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt681 # viaCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt721 --hash=sha256:a863379a2668c4ef079d820ffd5b14073145380dfbe0e70fef498dc73c568f86COMMENT
LOWsrc/backend/requirements-dev-3.14.txt861 --hash=sha256:ff218293c9c806138dca139765e3b067621be52bcd93cdc14c7711be7ddc90a9COMMENT
LOWsrc/backend/requirements-dev-3.14.txt921pytest-django==4.14.0 \COMMENT
LOWsrc/backend/requirements-dev-3.14.txt941rich==15.0.0 \COMMENT
LOWsrc/backend/requirements-dev-3.14.txt961 # scim2-testerCOMMENT
LOWsrc/backend/requirements-dev-3.14.txt1021 --hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 \COMMENT
LOWsrc/backend/requirements-dev-3.14.txt1041urllib3==2.8.0 \COMMENT
LOWsrc/backend/requirements-3.14.txt1# This file was autogenerated by uv via the following command:COMMENT
LOWsrc/backend/requirements-3.14.txt101 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt561 --hash=sha256:fc3ed7ebd2a8c96f5b166de0ab9b624996bef3b07bbeb19364dfb78222c22c80 \COMMENT
LOWsrc/backend/requirements-3.14.txt581 --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61COMMENT
LOWsrc/backend/requirements-3.14.txt601 # django-js-assetCOMMENT
LOWsrc/backend/requirements-3.14.txt621 # djangorestframework-simplejwtCOMMENT
LOWsrc/backend/requirements-3.14.txt681 # -c src/backend/requirements.txtCOMMENT
LOWsrc/backend/requirements-3.14.txt721 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt761 --hash=sha256:e48491c862f4350b0747ceb1016700686fb93c4f4e0fb9c490fe6c6658ffd933COMMENT
LOWsrc/backend/requirements-3.14.txt821 # -c src/backend/requirements.txtCOMMENT
LOWsrc/backend/requirements-3.14.txt1101 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1121 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1141 # boto3COMMENT
LOWsrc/backend/requirements-3.14.txt1481 --hash=sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050COMMENT
LOWsrc/backend/requirements-3.14.txt1501 # opentelemetry-instrumentation-sqlite3COMMENT
LOWsrc/backend/requirements-3.14.txt1521 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1541 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1561 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1581 # viaCOMMENT
LOWsrc/backend/requirements-3.14.txt1601 # -r src/backend/requirements.inCOMMENT
26 more matches not shown…
Unused Imports77 hits · 72 pts
SeverityFileLineSnippetContext
LOWsrc/backend/InvenTree/plugin/events.py4CODE
LOWsrc/backend/InvenTree/plugin/events.py4CODE
LOWsrc/backend/InvenTree/plugin/events.py4CODE
LOWsrc/backend/InvenTree/plugin/events.py4CODE
LOWsrc/backend/InvenTree/plugin/events.py4CODE
LOWsrc/backend/InvenTree/plugin/__init__.py3CODE
LOWsrc/backend/InvenTree/plugin/__init__.py3CODE
LOWsrc/backend/InvenTree/plugin/__init__.py4CODE
LOWsrc/backend/InvenTree/plugin/__init__.py4CODE
LOWsrc/backend/InvenTree/plugin/__init__.py5CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py3CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py4CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py4CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py5CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py6CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py7CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py8CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py9CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py10CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py11CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py12CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py13CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py14CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py15CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py16CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py17CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py18CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py19CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py20CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py21CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py22CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py23CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py24CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py25CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py26CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py27CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py8CODE
LOWsrc/backend/InvenTree/plugin/machine/machine_types.py3CODE
LOW…InvenTree/plugin/builtin/integration/core_wellknown.py3CODE
LOW…InvenTree/plugin/base/integration/NotificationMixin.py15CODE
LOWsrc/backend/InvenTree/plugin/base/barcodes/mixins.py3CODE
LOWsrc/backend/InvenTree/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/machine/__init__.py1CODE
LOWsrc/backend/InvenTree/machine/__init__.py7CODE
LOWsrc/backend/InvenTree/machine/machine_types/__init__.py1CODE
LOWsrc/backend/InvenTree/machine/machine_types/__init__.py1CODE
LOWsrc/backend/InvenTree/generic/templatetags/generic.py6CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py9CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py9CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py11CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py12CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py12CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py13CODE
17 more matches not shown…
Docstring Block Structure13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHsrc/backend/InvenTree/importer/operations.py70Extract column names from a data file. Uses the tablib library to extract column names from a data file. Args:STRING
HIGHsrc/backend/InvenTree/plugin/api.py321Check that a plugin for the provided slug exists and get the config. Args: plugin_slug (str): Slug for plugSTRING
HIGHsrc/backend/InvenTree/common/settings.py91Set a global warning for a code. Args: key (str): The key for the warning. options (dict or bool): STRING
HIGHsrc/backend/InvenTree/generic/states/transition.py232Perform a state transition. When used with ``@inventree_transition``-decorated methods, plugin handlersSTRING
HIGHsrc/backend/InvenTree/report/models.py504Print reports for a list of items against this template. Arguments: items: A list of items to printSTRING
HIGHsrc/backend/InvenTree/report/templatetags/report.py307Return the fully qualified file path to an uploaded media file. Arguments: path: The path to the media fileSTRING
HIGHsrc/backend/InvenTree/stock/models.py738Create multiple stock items with the provided serial numbers. Arguments: serials: List of serial nuSTRING
HIGHsrc/backend/InvenTree/stock/models.py2075Disassemble this stock item into its component parts. The provided BOM lines determine which component parts arSTRING
HIGHsrc/backend/InvenTree/stock/models.py2847Split this stock item into two items, in the same location. Stock tracking notes for this StockItem will be dupSTRING
HIGHsrc/backend/InvenTree/InvenTree/tasks.py715Register the given task as a scheduled task. Example: ```python @scheduled_task(ScheduledTask.DAILY) deSTRING
HIGHsrc/backend/InvenTree/InvenTree/format.py39Construct a regular expression based on a provided format string. This function turns a python format string into aSTRING
HIGHsrc/backend/InvenTree/InvenTree/format.py121Validate that the provided string matches the specified format. Args: value: The string to be tested e.g. 'STRING
HIGHsrc/backend/InvenTree/InvenTree/format.py141Extract a named value from the provided string, given the provided format string. Args: name: Name of groupSTRING
Cross-File Repetition13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHsrc/backend/InvenTree/order/models.py0return the associated barcode model type code for this model.STRING
HIGHsrc/backend/InvenTree/part/models.py0return the associated barcode model type code for this model.STRING
HIGHsrc/backend/InvenTree/stock/models.py0return the associated barcode model type code for this model.STRING
HIGHsrc/backend/InvenTree/company/models.py0return the associated barcode model type code for this model.STRING
HIGHsrc/backend/InvenTree/order/test_api.py0test that notes are copied when duplicating a company via the api. companyserializer declares its 'duplicate' options wiSTRING
HIGHsrc/backend/InvenTree/stock/test_api.py0test that notes are copied when duplicating a company via the api. companyserializer declares its 'duplicate' options wiSTRING
HIGHsrc/backend/InvenTree/company/test_api.py0test that notes are copied when duplicating a company via the api. companyserializer declares its 'duplicate' options wiSTRING
HIGH…nvenTree/plugin/samples/event/filtered_event_sample.py0return whether given event should be processed or not.STRING
HIGH…nTree/plugin/builtin/integration/part_notifications.py0return whether given event should be processed or not.STRING
HIGH…/InvenTree/plugin/builtin/events/auto_create_builds.py0return whether given event should be processed or not.STRING
HIGHsrc/backend/InvenTree/report/apps.py0this function is called whenever the company app is loaded.STRING
HIGHsrc/backend/InvenTree/part/apps.py0this function is called whenever the company app is loaded.STRING
HIGHsrc/backend/InvenTree/company/apps.py0this function is called whenever the company app is loaded.STRING
Cross-Language Confusion11 hits · 38 pts
SeverityFileLineSnippetContext
HIGH.github/scripts/seed_content_excludes_data.py15 cd src/backend/InvenTree && python ../../../.github/scripts/seed_content_excludes_data.pySTRING
HIGHsrc/backend/InvenTree/order/models.py2473 part: Link to a Part object (may be null)STRING
HIGHsrc/backend/InvenTree/order/models.py2642 shipment_date: Date this shipment was "shipped" (or null)STRING
HIGHsrc/backend/InvenTree/order/models.py4011 part: Link to a Part object (may be null)STRING
HIGHsrc/backend/InvenTree/part/models.py494 default_location: Where the item is normally stored (may be null)STRING
HIGHsrc/backend/InvenTree/part/test_pricing.py363 # Cost is still null, as the order is not completeCOMMENT
HIGHsrc/backend/InvenTree/part/test_pricing.py374 # Cost is still null, as the lines have not been receivedCOMMENT
HIGHsrc/backend/InvenTree/stock/models.py3064 location: Destination location (cannot be null)STRING
HIGHsrc/backend/InvenTree/stock/models.py3729 If the underlying stock item is deleted, the "item" field will be set to null, but the tracking information willSTRING
HIGH…enTree/InvenTree/management/commands/clean_settings.py11 """Cleanup old (undefined) settings in the database."""STRING
HIGH…enTree/InvenTree/management/commands/clean_settings.py14 """Cleanup old (undefined) settings in the database."""STRING
Fake / Example Data31 hits · 30 pts
SeverityFileLineSnippetContext
LOWsrc/frontend/playwright.config.ts120 INVENTREE_EMAIL_SENDER: 'noreply@example.org',CODE
LOWsrc/frontend/tests/defaults.ts61 email: 'ssotestuser@example.org',CODE
LOWsrc/frontend/tests/pui_sso.spec.ts345 email: 'someoneelse@example.org'CODE
LOWsrc/frontend/tests/pui_sso.spec.ts378 email: 'ssoconnecttest@example.org',CODE
LOWsrc/frontend/tests/pages/pui_purchasing.spec.ts410 ).toHaveAttribute('placeholder', expectedPrice.toString(), {CODE
LOWsrc/frontend/tests/pages/pui_sales.spec.ts472 ).toHaveAttribute('placeholder', expectedPrice.toString(), {CODE
LOWsrc/frontend/tests/pages/pui_build.spec.ts313 .getAttribute('placeholder')) || '';CODE
LOWsrc/frontend/tests/pages/pui_stock.spec.ts305 ).toHaveAttribute('placeholder', '365+');CODE
LOW…c/frontend/src/components/forms/AuthenticationForm.tsx175 placeholder='email@example.org'CODE
LOW…c/frontend/src/components/forms/AuthenticationForm.tsx306 placeholder='email@example.org'CODE
LOWsrc/frontend/src/pages/Auth/Reset.tsx19 placeholder='email@example.org'CODE
LOWsrc/frontend/src/pages/Auth/ProviderSignup.tsx137 placeholder='email@example.org'CODE
LOWsrc/backend/InvenTree/config_template.yaml93 sender: '' # 'inventree@example.org'CODE
LOWsrc/backend/InvenTree/common/test_emails.py30 'from@example.org',CODE
LOWsrc/backend/InvenTree/common/test_emails.py31 ['to@example.org'],CODE
LOWsrc/backend/InvenTree/common/test_emails.py46 recipients='to@example.org',CODE
LOWsrc/backend/InvenTree/common/test_emails.py66 to=['to@example.org'],CODE
LOWsrc/backend/InvenTree/common/test_emails.py85 recipients=['to@example.org'],CODE
LOWsrc/backend/InvenTree/common/test_emails.py107 reverse('api-email-test'), {'email': 'test@example.org'}, expected_code=200CODE
LOWsrc/backend/InvenTree/common/test_emails.py139 subject='test sub', body='test msg', to='abc@example.org', priority=3CODE
LOWsrc/backend/InvenTree/common/test_emails.py146 subject='test sub', body='test msg', to='abc@example.org', priority=3CODE
LOWsrc/backend/InvenTree/common/test_emails.py241 from_email='user@example.com',CODE
LOWsrc/backend/InvenTree/users/test_api.py96 'email': 'aa@example.org',CODE
LOWsrc/backend/InvenTree/users/test_api.py172 'email': 'grouped@example.org',CODE
LOWsrc/backend/InvenTree/InvenTree/auth_overrides.py62 'placeholder': _('Email address confirmation'),CODE
LOWsrc/backend/InvenTree/InvenTree/test_commands.py75 username=uname, email=f'{uname}@example.org'CODE
LOWsrc/backend/InvenTree/InvenTree/test_commands.py92 call_command('remove_mfa', mail='admin@example.org', verbosity=0)CODE
LOWsrc/backend/InvenTree/InvenTree/test_tasks.py810 ['Test Email 1', 'This is a test email.', 'abc@example.org', threshold_low],CODE
LOWsrc/backend/InvenTree/InvenTree/test_tasks.py814 'def@example.org',CODE
LOWsrc/backend/InvenTree/InvenTree/test_api.py910 username='metadata_victim', password='hunter2', email='victim@example.org'CODE
LOW…end/InvenTree/InvenTree/static/tabler-icons/icons.json1{"a-b-2":{"name":"a-b-2","category":"","tags":["test","visual","user"],"variants":{"outline":"f25f"}},"a-b-off":{"name":CODE
AI Slop Vocabulary12 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUMsrc/backend/InvenTree/order/api.py2459 """Overload call in order to check for authentication.STRING
MEDIUMsrc/backend/InvenTree/plugin/test_plugin.py250 # A more comprehensive test - to find a hashed version of the fileCOMMENT
LOWsrc/backend/InvenTree/plugin/installer.py325 # Ignore url and just use default indexCOMMENT
LOWsrc/backend/InvenTree/users/models.py64 # we can just call .save() nowCOMMENT
LOWsrc/backend/InvenTree/report/templatetags/report.py766 # If the base URL is not set, just return the textCOMMENT
LOWsrc/backend/InvenTree/report/templatetags/report.py1171 # If the number cannot be converted to a Decimal, just return the original valueCOMMENT
LOWsrc/backend/InvenTree/part/test_api.py3335 # We should be able to filter the API list to just return this new partCOMMENT
LOWsrc/backend/InvenTree/InvenTree/tasks.py812 # otherwise they just create extra noiseCOMMENT
LOWsrc/backend/InvenTree/InvenTree/helpers.py419 # If we cannot match the regex, then simply return the provided valueCOMMENT
LOWsrc/backend/InvenTree/InvenTree/helpers.py738 # In the case of a different number of hyphens, simply add the entire groupCOMMENT
MEDIUM…enTree/InvenTree/management/commands/rebuild_models.py15 """Rebuild all database models which leverage the MPTT structure."""STRING
MEDIUM…enTree/InvenTree/management/commands/rebuild_models.py18 """Rebuild all database models which leverage the MPTT structure."""STRING
Modern Structural Boilerplate16 hits · 16 pts
SeverityFileLineSnippetContext
LOWsrc/backend/InvenTree/order/models.py2428 def update_pricing(self) -> None:CODE
LOWsrc/backend/InvenTree/scim/resources.py119def set_group_members(group: DjangoGroup, members: list[GroupMember] | None) -> None:CODE
LOWsrc/backend/InvenTree/plugin/events.py20__all__ = [CODE
LOWsrc/backend/InvenTree/plugin/__init__.py7__all__ = [CODE
LOW⚡src/backend/InvenTree/plugin/installer.py170def set_env_plugin_hash(file_hash: str) -> None:CODE
LOWsrc/backend/InvenTree/plugin/mixins/__init__.py29__all__ = [CODE
LOWsrc/backend/InvenTree/plugin/machine/__init__.py10__all__ = [CODE
LOW…end/InvenTree/plugin/base/integration/SettingsMixin.py140 def set_user_setting(self, key: str, value: Any, user: User) -> None:CODE
LOWsrc/backend/InvenTree/machine/__init__.py9__all__ = [CODE
LOWsrc/backend/InvenTree/machine/machine_types/__init__.py6__all__ = [CODE
LOWsrc/backend/InvenTree/users/tasks.py31def update_group_roles(group: Group, debug: bool = False) -> None:CODE
LOWsrc/backend/InvenTree/generic/templatetags/generic.py8__all__ = ['status_label']CODE
LOWsrc/backend/InvenTree/generic/states/__init__.py23__all__ = [CODE
LOWsrc/backend/InvenTree/generic/states/api_helpers.py407__all__ = [CODE
LOWsrc/backend/InvenTree/part/models.py320 def set_starred(self, user, status: bool, **kwargs) -> None:CODE
LOWsrc/backend/InvenTree/InvenTree/cache.py171def set_session_cache(key: str, value: Any) -> None:CODE
Overly Generic Function Names12 hits · 12 pts
SeverityFileLineSnippetContext
LOW…nTree/plugin/samples/integration/simpleactionplugin.py14 def perform_action(self, user=None, data=None):CODE
LOW…Tree/plugin/samples/integration/test_scheduled_task.py19 def test_function(self):CODE
LOW…/plugin/samples/integration/test_simpleactionplugin.py23 def test_function(self):CODE
LOW…ckend/InvenTree/plugin/base/integration/test_mixins.py67 def test_function(self):CODE
LOW…ckend/InvenTree/plugin/base/integration/test_mixins.py108 def test_function(self):CODE
LOW…ckend/InvenTree/plugin/base/integration/test_mixins.py148 def test_function(self):CODE
LOW…ckend/InvenTree/plugin/base/integration/test_mixins.py224 def test_function(self):CODE
LOW…ckend/InvenTree/plugin/base/integration/test_mixins.py260 def test_function(self):CODE
LOWsrc/backend/InvenTree/plugin/base/action/mixins.py31 def perform_action(self, user=None, data=None):CODE
LOWsrc/backend/InvenTree/plugin/base/action/test_action.py31 def perform_action(self, user=None, data=None):CODE
LOWsrc/backend/InvenTree/plugin/base/action/test_action.py53 def test_function(self):CODE
LOWsrc/backend/InvenTree/InvenTree/unit_test.py861 def helper(self, model: type[models.Model], model_kwargs=None):CODE
AI Structural Patterns9 hits · 9 pts
SeverityFileLineSnippetContext
LOWtasks.py1004CODE
LOWtasks.py1122CODE
LOWtasks.py1214CODE
LOWtasks.py1397CODE
LOWtasks.py1845CODE
LOWtasks.py1933CODE
LOWsrc/backend/InvenTree/report/templatetags/report.py953CODE
LOWsrc/backend/InvenTree/report/templatetags/report.py1139CODE
LOWsrc/backend/InvenTree/InvenTree/middleware.py213CODE
AI Response Leakage1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHdocs/docs/plugins/walkthrough.md514The reference requires the host and the [plugin-name](./index.md##static-files). Rather than statically coding these refCODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMcontrib/installer/settings.yml5# When setting environment variables, you can use:COMMENT
LOWsrc/backend/InvenTree/common/currency.py180 - Don't forget to add in flat-fee cost (base_cost field)STRING
Verbosity Indicators1 hit · 0 pts
SeverityFileLineSnippetContext
LOWsrc/backend/InvenTree/report/templatetags/report.py780 The purpose of this function is to provide "seamless" math operations in templates,STRING