mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-04 07:05:41 +00:00 
			
		
		
		
	Refactor states/status (#4857)
* add file for states * move general definition out * add some tests and docs * add tests for invalid definitions * make status_label tag generic * move templatetags * remove unused tag * rename test file * make status label a lookup * rename tags * move import structure * add missing tag * collect states dynamically * fix context function * move api function out * add tests for tags * rename tests * refactor imports * Add test for API function * improve errors and add tests for imporved errors * make test calls simpler * refactor definitions to use enums * switch to enum * refactor definitions to use enums * fix lookup * fix tag name * make _TAG lookup a function * cleanup BaseEnum * make _TAG definition simpler * restructure status codes to enum * reduce LoC * type status codes as int * add specific function for template context * Add definition for lookups * fix filter lookup * TEST: "fix" action lookup * Add missing migrations * Make all group code references explict * change default on models to value * switch to IntEnum * move groups into a seperate class * only request _TAG if it exsists * use value and list * use dedicated groups * fix stock assigment * fix order code * more fixes * fix borked change * fix render lookup * add group * fix import * fix syntax * clenup * fix migrations * fix typo * fix wrong value usage * fix test * remove group section * remove group section * add more test cases * Add more docstring * move choices out of migrations * change import ordeR? * last try before I revert * Update part.migrations.0112 - Add custom migration class which handles errors * Add unit test for migration - Ensure that the new fields are added to the model * Update reference to PR --------- Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
This commit is contained in:
		@@ -190,7 +190,7 @@ def update_history(apps, schema_editor):
 | 
			
		||||
                tracking_type = StockHistoryCode.RECEIVED_AGAINST_PURCHASE_ORDER
 | 
			
		||||
 | 
			
		||||
            if tracking_type is not None:
 | 
			
		||||
                entry.tracking_type = tracking_type
 | 
			
		||||
                entry.tracking_type = tracking_type.value
 | 
			
		||||
                updated = True
 | 
			
		||||
 | 
			
		||||
            if updated:
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ def update_stock_history(apps, schema_editor):
 | 
			
		||||
        history.deltas['salesorder'] = item.sales_order.pk
 | 
			
		||||
 | 
			
		||||
        # Change the history type
 | 
			
		||||
        history.tracking_type = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER
 | 
			
		||||
        history.tracking_type = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER.value
 | 
			
		||||
 | 
			
		||||
        history.save()
 | 
			
		||||
        n += 1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								InvenTree/stock/migrations/0102_alter_stockitem_status.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								InvenTree/stock/migrations/0102_alter_stockitem_status.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
# Generated by Django 3.2.19 on 2023-06-04 17:43
 | 
			
		||||
 | 
			
		||||
import django.core.validators
 | 
			
		||||
from django.db import migrations, models
 | 
			
		||||
import InvenTree.status_codes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Migration(migrations.Migration):
 | 
			
		||||
 | 
			
		||||
    dependencies = [
 | 
			
		||||
        ('stock', '0101_stockitemtestresult_metadata'),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    operations = [
 | 
			
		||||
        migrations.AlterField(
 | 
			
		||||
            model_name='stockitem',
 | 
			
		||||
            name='status',
 | 
			
		||||
            field=models.PositiveIntegerField(choices=InvenTree.status_codes.StockStatus.items(), default=10, validators=[django.core.validators.MinValueValidator(0)]),
 | 
			
		||||
        ),
 | 
			
		||||
    ]
 | 
			
		||||
		Reference in New Issue
	
	Block a user