2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-01 03:00:54 +00:00

refactor: refactor unnecessary else / elif when if block has a return statement (#5735)

The use of `else` or `elif` becomes redundant and can be dropped if the last statement under the leading `if` / `elif` block is a `return` statement.
In the case of an `elif` after `return`, it can be written as a separate `if` block.
For `else` blocks after `return`, the statements can be shifted out of `else`. Please refer to the examples below for reference.

Refactoring the code this way can improve code-readability and make it easier to maintain.

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
This commit is contained in:
Matthias Mair
2023-10-18 00:06:54 +02:00
committed by GitHub
parent 3f93151cca
commit eb79bd1743
29 changed files with 123 additions and 235 deletions

View File

@ -236,8 +236,7 @@ class StockLocationFilter(rest_filters.FilterSet):
"""Filter by whether or not the location has a location type"""
if str2bool(value):
return queryset.exclude(location_type=None)
else:
return queryset.filter(location_type=None)
return queryset.filter(location_type=None)
class StockLocationList(APIDownloadMixin, ListCreateAPI):
@ -483,9 +482,8 @@ class StockFilter(rest_filters.FilterSet):
if str2bool(value):
# Filter StockItem with either build allocations or sales order allocations
return queryset.filter(Q(sales_order_allocations__isnull=False) | Q(allocations__isnull=False))
else:
# Filter StockItem without build allocations or sales order allocations
return queryset.filter(Q(sales_order_allocations__isnull=True) & Q(allocations__isnull=True))
# Filter StockItem without build allocations or sales order allocations
return queryset.filter(Q(sales_order_allocations__isnull=True) & Q(allocations__isnull=True))
expired = rest_filters.BooleanFilter(label='Expired', method='filter_expired')
@ -496,8 +494,7 @@ class StockFilter(rest_filters.FilterSet):
if str2bool(value):
return queryset.filter(StockItem.EXPIRED_FILTER)
else:
return queryset.exclude(StockItem.EXPIRED_FILTER)
return queryset.exclude(StockItem.EXPIRED_FILTER)
external = rest_filters.BooleanFilter(label=_('External Location'), method='filter_external')
@ -505,8 +502,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter by whether or not the stock item is located in an external location"""
if str2bool(value):
return queryset.filter(location__external=True)
else:
return queryset.exclude(location__external=True)
return queryset.exclude(location__external=True)
in_stock = rest_filters.BooleanFilter(label='In Stock', method='filter_in_stock')
@ -514,8 +510,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter by if item is in stock."""
if str2bool(value):
return queryset.filter(StockItem.IN_STOCK_FILTER)
else:
return queryset.exclude(StockItem.IN_STOCK_FILTER)
return queryset.exclude(StockItem.IN_STOCK_FILTER)
available = rest_filters.BooleanFilter(label='Available', method='filter_available')
@ -528,9 +523,8 @@ class StockFilter(rest_filters.FilterSet):
# The 'quantity' field is greater than the calculated 'allocated' field
# Note that the item must also be "in stock"
return queryset.filter(StockItem.IN_STOCK_FILTER).filter(Q(quantity__gt=F('allocated')))
else:
# The 'quantity' field is less than (or equal to) the calculated 'allocated' field
return queryset.filter(Q(quantity__lte=F('allocated')))
# The 'quantity' field is less than (or equal to) the calculated 'allocated' field
return queryset.filter(Q(quantity__lte=F('allocated')))
batch = rest_filters.CharFilter(label="Batch code filter (case insensitive)", lookup_expr='iexact')
@ -552,8 +546,7 @@ class StockFilter(rest_filters.FilterSet):
if str2bool(value):
return queryset.exclude(q)
else:
return queryset.filter(q)
return queryset.filter(q)
has_batch = rest_filters.BooleanFilter(label='Has batch code', method='filter_has_batch')
@ -563,8 +556,7 @@ class StockFilter(rest_filters.FilterSet):
if str2bool(value):
return queryset.exclude(q)
else:
return queryset.filter(q)
return queryset.filter(q)
tracked = rest_filters.BooleanFilter(label='Tracked', method='filter_tracked')
@ -580,8 +572,7 @@ class StockFilter(rest_filters.FilterSet):
if str2bool(value):
return queryset.exclude(q_batch & q_serial)
else:
return queryset.filter(q_batch & q_serial)
return queryset.filter(q_batch & q_serial)
installed = rest_filters.BooleanFilter(label='Installed in other stock item', method='filter_installed')
@ -589,8 +580,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter stock items by "belongs_to" field being empty."""
if str2bool(value):
return queryset.exclude(belongs_to=None)
else:
return queryset.filter(belongs_to=None)
return queryset.filter(belongs_to=None)
has_installed_items = rest_filters.BooleanFilter(label='Has installed items', method='filter_has_installed')
@ -598,8 +588,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter stock items by "belongs_to" field being empty."""
if str2bool(value):
return queryset.filter(installed_items__gt=0)
else:
return queryset.filter(installed_items=0)
return queryset.filter(installed_items=0)
sent_to_customer = rest_filters.BooleanFilter(label='Sent to customer', method='filter_sent_to_customer')
@ -607,8 +596,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter by sent to customer."""
if str2bool(value):
return queryset.exclude(customer=None)
else:
return queryset.filter(customer=None)
return queryset.filter(customer=None)
depleted = rest_filters.BooleanFilter(label='Depleted', method='filter_depleted')
@ -616,8 +604,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter by depleted items."""
if str2bool(value):
return queryset.filter(quantity__lte=0)
else:
return queryset.exclude(quantity__lte=0)
return queryset.exclude(quantity__lte=0)
has_purchase_price = rest_filters.BooleanFilter(label='Has purchase price', method='filter_has_purchase_price')
@ -625,8 +612,7 @@ class StockFilter(rest_filters.FilterSet):
"""Filter by having a purchase price."""
if str2bool(value):
return queryset.exclude(purchase_price=None)
else:
return queryset.filter(purchase_price=None)
return queryset.filter(purchase_price=None)
ancestor = rest_filters.ModelChoiceFilter(
label='Ancestor',
@ -896,8 +882,7 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView):
return self.get_paginated_response(data)
elif request.is_ajax():
return JsonResponse(data, safe=False)
else:
return Response(data)
return Response(data)
def get_queryset(self, *args, **kwargs):
"""Annotate queryset before returning."""
@ -1359,8 +1344,7 @@ class StockTrackingList(ListAPI):
return self.get_paginated_response(data)
if request.is_ajax():
return JsonResponse(data, safe=False)
else:
return Response(data)
return Response(data)
def create(self, request, *args, **kwargs):
"""Create a new StockItemTracking object.

View File

@ -1842,9 +1842,8 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo
self.delete()
return False
else:
self.save()
return True
self.save()
return True
@transaction.atomic
def stocktake(self, count, user, notes=''):
@ -2234,8 +2233,7 @@ class StockItemTracking(models.Model):
"""Return label."""
if self.tracking_type in StockHistoryCode.keys():
return StockHistoryCode.label(self.tracking_type)
else:
return self.title
return self.title
tracking_type = models.IntegerField(
default=StockHistoryCode.LEGACY,