mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Refactor deletion of multiple manufacturer part objects
- issues multiple DELETE requests via the API
This commit is contained in:
		| @@ -25,7 +25,7 @@ | ||||
|             {% endif %} | ||||
|             <div class='btn-group'> | ||||
|                 <div class="dropdown" style="float: right;"> | ||||
|                     <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{% trans "Options" %} | ||||
|                     <button class="btn btn-primary dropdown-toggle" id='table-options', type="button" data-toggle="dropdown">{% trans "Options" %} | ||||
|                         <span class="caret"></span> | ||||
|                     </button> | ||||
|                     <ul class="dropdown-menu"> | ||||
| @@ -59,7 +59,9 @@ | ||||
|                 data: { | ||||
|                     manufacturer: {{ company.id }}, | ||||
|                 }, | ||||
|                 reload: true, | ||||
|                 success: function() { | ||||
|                     $("#part-table").bootstrapTable("refresh"); | ||||
|                 }, | ||||
|                 secondary: [ | ||||
|                     { | ||||
|                         field: 'part', | ||||
| @@ -88,22 +90,15 @@ | ||||
|         } | ||||
|     ); | ||||
|  | ||||
|     linkButtonsToSelection($("#manufacturer-table"), ['#table-options']); | ||||
|  | ||||
|     $("#multi-part-delete").click(function() { | ||||
|         var selections = $("#part-table").bootstrapTable("getSelections"); | ||||
|  | ||||
|         var parts = []; | ||||
|  | ||||
|         selections.forEach(function(item) { | ||||
|             parts.push(item.pk); | ||||
|         }); | ||||
|  | ||||
|         var url = "{% url 'manufacturer-part-delete' %}" | ||||
|  | ||||
|         launchModalForm(url, { | ||||
|             data: { | ||||
|                 parts: parts, | ||||
|             }, | ||||
|             reload: true, | ||||
|         deleteManufacturerParts(selections, { | ||||
|             onSuccess: function() {  | ||||
|                 $("#part-table").bootstrapTable("refresh"); | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
|   | ||||
| @@ -258,34 +258,4 @@ class ManufacturerPartViewTests(CompanyViewTestBase): | ||||
|         (response, errors) = self.post(url, data, valid=True) | ||||
|  | ||||
|         # Check that the ManufacturerPart was created! | ||||
|         self.assertEqual(n + 1, ManufacturerPart.objects.all().count()) | ||||
|  | ||||
|     def test_manufacturer_part_delete(self): | ||||
|         """ | ||||
|         Test the ManufacturerPartDelete view | ||||
|         """ | ||||
|  | ||||
|         url = reverse('manufacturer-part-delete') | ||||
|  | ||||
|         # Get form using 'part' argument | ||||
|         response = self.client.get(url, {'part': '2'}, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertEqual(response.status_code, 200) | ||||
|  | ||||
|         # POST to delete manufacturer part | ||||
|         n = ManufacturerPart.objects.count() | ||||
|         m = SupplierPart.objects.count() | ||||
|  | ||||
|         response = self.client.post( | ||||
|             url, | ||||
|             { | ||||
|                 'manufacturer-part-2': 'manufacturer-part-2', | ||||
|                 'confirm_delete': True | ||||
|             }, | ||||
|             HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|  | ||||
|         self.assertEqual(response.status_code, 200) | ||||
|  | ||||
|         # Check that the ManufacturerPart was deleted | ||||
|         self.assertEqual(n - 1, ManufacturerPart.objects.count()) | ||||
|         # Check that the SupplierParts were deleted | ||||
|         self.assertEqual(m - 2, SupplierPart.objects.count()) | ||||
|         self.assertEqual(n + 1, ManufacturerPart.objects.all().count()) | ||||
		Reference in New Issue
	
	Block a user