diff --git a/assets/management/commands/generateSampleAssetsData.py b/assets/management/commands/generateSampleAssetsData.py index 49e709ab..d9d66f16 100644 --- a/assets/management/commands/generateSampleAssetsData.py +++ b/assets/management/commands/generateSampleAssetsData.py @@ -105,8 +105,7 @@ class Command(BaseCommand): for i in range(100): prefix = random.choice(asset_prefixes) - asset_id = str(get_available_asset_id(wanted_prefix=prefix)) - asset_id = prefix + asset_id + asset_id = get_available_asset_id(wanted_prefix=prefix) asset = models.Asset( asset_id=asset_id, description=random.choice(asset_description), diff --git a/assets/models.py b/assets/models.py index ef535fa4..32331029 100644 --- a/assets/models.py +++ b/assets/models.py @@ -102,7 +102,8 @@ class AssetManager(models.Manager): def get_available_asset_id(wanted_prefix=""): last_asset = Asset.objects.filter(asset_id_prefix=wanted_prefix).last() - return 9000 if last_asset is None else wanted_prefix + str(last_asset.asset_id_number + 1) + last_asset_id = last_asset.asset_id_number if last_asset else 0 + return wanted_prefix + str(last_asset_id + 1) def validate_positive(value): diff --git a/assets/views.py b/assets/views.py index 4ad4c94c..46f83fb3 100644 --- a/assets/views.py +++ b/assets/views.py @@ -168,7 +168,7 @@ class DuplicateMixin: class AssetDuplicate(DuplicateMixin, AssetIDUrlMixin, AssetCreate): def get_initial(self, *args, **kwargs): initial = super().get_initial(*args, **kwargs) - initial["asset_id"] = models.get_available_asset_id(wanted_prefix=self.get_object().asset_id_prefix) + initial["asset_id"] = models.get_available_asset_id() return initial def get_context_data(self, **kwargs):