From 547fa179c55ffee24ab49750b73d76f1e2cd3ca8 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 17 Jul 2024 15:45:11 +0200 Subject: [PATCH] Various SAST fixes (#7644) * cleanup auth * clean Unexpected empty object pattern * clenaup empty object patterns * fix identical sub-expressions * fix missing title on iframe * Do not pass children as props * update node assigment * fix typing * fix variables that shadow builtins * revert StylishText change --- src/backend/InvenTree/plugin/api.py | 14 +++++++++----- .../InvenTree/report/templatetags/barcode.py | 8 ++++---- src/backend/InvenTree/templates/js/dynamic/nav.js | 4 ++-- .../TemplateEditor/PdfPreview/PdfPreview.tsx | 4 +++- src/frontend/src/forms/PartForms.tsx | 2 +- src/frontend/src/forms/StockForms.tsx | 2 +- src/frontend/src/functions/auth.tsx | 7 +++---- src/frontend/src/pages/Index/Playground.tsx | 2 +- .../Settings/AccountSettings/SecurityContent.tsx | 4 ++-- src/frontend/src/pages/part/CategoryDetail.tsx | 4 ++-- .../src/pages/part/pricing/PricingPanel.tsx | 7 +++---- src/frontend/src/pages/stock/LocationDetail.tsx | 2 +- src/frontend/src/tables/InvenTreeTable.tsx | 2 +- src/frontend/src/tables/part/PartCategoryTable.tsx | 4 ++-- .../src/tables/part/PartCategoryTemplateTable.tsx | 2 +- .../src/tables/stock/StockLocationTable.tsx | 4 ++-- 16 files changed, 38 insertions(+), 34 deletions(-) diff --git a/src/backend/InvenTree/plugin/api.py b/src/backend/InvenTree/plugin/api.py index df1877bf56..2c5d3cc864 100644 --- a/src/backend/InvenTree/plugin/api.py +++ b/src/backend/InvenTree/plugin/api.py @@ -1,5 +1,7 @@ """API for the plugin app.""" +from typing import Optional + from django.core.exceptions import ValidationError from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ @@ -266,7 +268,9 @@ class PluginSettingList(ListAPI): filterset_fields = ['plugin__active', 'plugin__key'] -def check_plugin(plugin_slug: str, plugin_pk: int) -> InvenTreePlugin: +def check_plugin( + plugin_slug: Optional[str], plugin_pk: Optional[int] +) -> InvenTreePlugin: """Check that a plugin for the provided slug exists and get the config. Args: @@ -286,16 +290,16 @@ def check_plugin(plugin_slug: str, plugin_pk: int) -> InvenTreePlugin: raise NotFound(detail='Plugin not specified') # Define filter - filter = {} + filters = {} if plugin_slug: - filter['key'] = plugin_slug + filters['key'] = plugin_slug elif plugin_pk: - filter['pk'] = plugin_pk + filters['pk'] = plugin_pk ref = plugin_slug or plugin_pk # Check that the 'plugin' specified is valid try: - plugin_cgf = PluginConfig.objects.filter(**filter).first() + plugin_cgf = PluginConfig.objects.filter(**filters).first() except PluginConfig.DoesNotExist: raise NotFound(detail=f"Plugin '{ref}' not installed") diff --git a/src/backend/InvenTree/report/templatetags/barcode.py b/src/backend/InvenTree/report/templatetags/barcode.py index 72568421ad..8e9f2af993 100644 --- a/src/backend/InvenTree/report/templatetags/barcode.py +++ b/src/backend/InvenTree/report/templatetags/barcode.py @@ -39,7 +39,7 @@ def qrcode(data, **kwargs): fill_color = kwargs.pop('fill_color', 'black') back_color = kwargs.pop('back_color', 'white') - format = kwargs.pop('format', 'PNG') + img_format = kwargs.pop('format', 'PNG') params.update(**kwargs) @@ -51,7 +51,7 @@ def qrcode(data, **kwargs): qri = qr.make_image(fill_color=fill_color, back_color=back_color) # Render to byte-encoded image - return image_data(qri, fmt=format) + return image_data(qri, fmt=img_format) @register.simple_tag() @@ -59,7 +59,7 @@ def barcode(data, barcode_class='code128', **kwargs): """Render a barcode.""" constructor = python_barcode.get_barcode_class(barcode_class) - format = kwargs.pop('format', 'PNG') + img_format = kwargs.pop('format', 'PNG') data = str(data).zfill(constructor.digits) @@ -70,4 +70,4 @@ def barcode(data, barcode_class='code128', **kwargs): image = barcode_image.render(writer_options=kwargs) # Render to byte-encoded image - return image_data(image, fmt=format) + return image_data(image, fmt=img_format) diff --git a/src/backend/InvenTree/templates/js/dynamic/nav.js b/src/backend/InvenTree/templates/js/dynamic/nav.js index 188e7be98b..4f5c73d328 100644 --- a/src/backend/InvenTree/templates/js/dynamic/nav.js +++ b/src/backend/InvenTree/templates/js/dynamic/nav.js @@ -173,7 +173,7 @@ function generateTreeStructure(data, options) { }; if (options.processNode) { - node = options.processNode(node); + data[data.indexOf(node)] = options.processNode(node); } } @@ -188,7 +188,7 @@ function generateTreeStructure(data, options) { if (node.state.expanded) { while (node.parent != null) { nodes[node.parent].state.expanded = true; - node = nodes[node.parent]; + data[data.indexOf(node)] = nodes[node.parent]; } } diff --git a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx index c38e65f8a0..c0e48ae0a5 100644 --- a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx +++ b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx @@ -81,7 +81,9 @@ export const PdfPreviewComponent: PreviewAreaComponent = forwardRef( Preview not available, click "Reload Preview". )} - {pdfUrl &&