diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index af767f3fdc..97327a559a 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -21,7 +21,6 @@ class CompanyResource(ModelResource): class Meta: model = Company - exclude = ('is_deleted', ) skip_unchanged = True report_skipped = False clean_model_instances = True @@ -38,14 +37,6 @@ class CompanyAdmin(ImportExportModelAdmin): 'description', ] - exclude = ('is_deleted',) - - def has_delete_permission(self, request, obj=None): - """Magic objects are not allowd to be deleted""" - if obj and obj.is_deleted: - return False - return True - class SupplierPartResource(ModelResource): """ diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 7866fbc8a7..e4b3a1b640 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -60,20 +60,6 @@ def rename_company_image(instance, filename): return os.path.join(base, fn) -def get_deleted_company(): - """ - Returns the deleted company object - """ - return Company.objects.get_or_create( - name='deleted', - email='deleted', - is_deleted=True, - is_customer=True, - is_supplier=True, - is_manufacturer=True - )[0] - - class Company(models.Model): """ A Company object represents an external company. It may be a supplier or a customer or a manufacturer (or a combination) @@ -161,8 +147,6 @@ class Company(models.Model): is_manufacturer = models.BooleanField(default=False, verbose_name=_('is manufacturer'), help_text=_('Does this company manufacture parts?')) - is_deleted = models.BooleanField(default=False, verbose_name=_('is deleted'), help_text=_('Is this company a deleted placeholder?')) - currency = models.CharField( max_length=3, verbose_name=_('Currency'), @@ -282,18 +266,6 @@ class Company(models.Model): return self.purchase_orders.filter(status__in=PurchaseOrderStatus.FAILED) - def save(self, *args, **kwargs): - """Save the instance, unless it is the magic already deleted object""" - if self.pk and self.is_deleted: - raise PermissionDenied(_('This company is a placeholder and can not be updated')) - return super().save(*args, **kwargs) - - def delete(self, *args, **kwargs): - """Delete the instance, unless it is the magic already deleted object""" - if self.is_deleted: - raise PermissionDenied(_('This company is a placeholder and can not be deleted')) - return super().delete(*args, **kwargs) - class Contact(models.Model): """ A Contact represents a person who works at a particular company. diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index b9bec62890..2eb5b0d69c 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -24,7 +24,7 @@ from mptt.models import TreeForeignKey from users import models as UserModels from part import models as PartModels from stock import models as stock_models -from company.models import Company, SupplierPart, get_deleted_company +from company.models import Company, SupplierPart from plugin.events import trigger_event import InvenTree.helpers @@ -219,7 +219,7 @@ class PurchaseOrder(Order): help_text=_('Purchase order status')) supplier = models.ForeignKey( - Company, on_delete=models.SET(get_deleted_company), + Company, on_delete=models.SET_NULL, limit_choices_to={ 'is_supplier': True, }, @@ -567,7 +567,7 @@ class SalesOrder(Order): customer = models.ForeignKey( Company, - on_delete=models.SET(get_deleted_company), + on_delete=models.SET_NULL, null=True, limit_choices_to={'is_customer': True}, related_name='sales_orders',