2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-08-07 12:22:11 +00:00

Merge branch 'master' into custom-states

This commit is contained in:
Oliver Walters
2024-11-24 04:53:10 +00:00
2 changed files with 36 additions and 0 deletions

View File

@@ -67,6 +67,22 @@ For more information, refer to the installation guides:
Before performing an update, check the release notes! Any *breaking changes* (changes which require user intervention) will be clearly noted.
### Cannot import name get_storage_class
When running an install or update, you may see an error similar to:
```python
ImportError: cannot import name 'get_storage_class' from 'django.core.files.storage'
```
In such a situation, it is likely that the automatic backup procedure is unable to run, as the required python packages are not yet installed or are unavailable.
To proceed in this case, you can skip the backup procedure by running the `invoke update` command with the `--skip-backup` flag:
```bash
invoke update --skip-backup
```
### Feature *x* does not work after update
If a particular menu / item is not visible after updating InvenTree, or a certain function no longer seems to work, it may be due to your internet browser caching old versions of CSS and JavaScript files.

View File

@@ -143,6 +143,13 @@ class InvenTreeTaskTests(TestCase):
os.environ['INVENTREE_AUTO_UPDATE'] = 'True'
InvenTree.tasks.check_for_migrations()
# List all current migrations for the InvenTree app
migration_dir = os.path.join(
os.path.dirname(os.path.abspath(__file__)), 'migrations'
)
migration_files = os.listdir(migration_dir)
# Create migration
self.assertEqual(len(InvenTree.tasks.get_migration_plan()), 0)
call_command('makemigrations', ['InvenTree', '--empty'], interactive=False)
@@ -165,6 +172,19 @@ class InvenTreeTaskTests(TestCase):
except IndexError: # pragma: no cover
pass
# Let's remove the newly created migration file
for fn in os.listdir(migration_dir):
fn = os.path.join(migration_dir, fn)
if (
os.path.isfile(fn)
and fn not in migration_files
and 'auto' in fn
and fn.endswith('.py')
):
print('Removing dummy migration file:', fn)
os.remove(fn)
def test_failed_task_notification(self):
"""Test that a failed task will generate a notification."""
from common.models import NotificationEntry, NotificationMessage