diff --git a/pulp_rpm/app/serializers/package.py b/pulp_rpm/app/serializers/package.py index 71bad563d..f53712a46 100644 --- a/pulp_rpm/app/serializers/package.py +++ b/pulp_rpm/app/serializers/package.py @@ -335,21 +335,26 @@ def validate(self, data): sign_package = validated_data.get("sign_package") temp_uploaded_file = validated_data.get("file") associated_repo = validated_data.get("repository") - signing_service_pk = associated_repo.package_signing_service.pk - signing_fingerprint = associated_repo.package_signing_pubkey - if sign_package is True and not temp_uploaded_file: - raise serializers.ValidationError( - _("To sign a package on upload, a file must be provided.") - ) - if not signing_service_pk and not signing_fingerprint: - raise serializers.ValidationError( - _( - "To sign a package on upload, the related Repository should have" - "both 'package_signing_service' and 'package_signing_pubkey' set." + if sign_package is True: + if not temp_uploaded_file: + raise serializers.ValidationError( + _("To sign a package on upload, a file must be provided.") ) - ) - validated_data["signing_service_pk"] = signing_service_pk - validated_data["signing_fingerprint"] = signing_fingerprint + if not associated_repo: + raise serializers.ValidationError( + _("To sign a package on upload, you should provide a Repository.") + ) + signing_service_pk = associated_repo.package_signing_service.pk + signing_fingerprint = associated_repo.package_signing_pubkey + if not signing_service_pk and not signing_fingerprint: + raise serializers.ValidationError( + _( + "To sign a package on upload, the related Repository should have" + "both 'package_signing_service' and 'package_signing_pubkey' set." + ) + ) + validated_data["signing_service_pk"] = signing_service_pk + validated_data["signing_fingerprint"] = signing_fingerprint return validated_data def create(self, validated_data): diff --git a/pulp_rpm/app/serializers/repository.py b/pulp_rpm/app/serializers/repository.py index 65911c882..73fe662e5 100644 --- a/pulp_rpm/app/serializers/repository.py +++ b/pulp_rpm/app/serializers/repository.py @@ -72,9 +72,8 @@ class RpmRepositorySerializer(RepositorySerializer): "The signing service will use that on signing operations related to this repository." ), max_length=40, - min_length=40, required=False, - allow_null=True, + allow_blank=True, ) retain_package_versions = serializers.IntegerField( help_text=_(