environment: autorize secondary Service title homonymy (#41984)

This commit is contained in:
Thomas NOËL 2020-04-22 16:00:46 +02:00
parent 66094c66e2
commit 51078a11de
2 changed files with 21 additions and 1 deletions

View File

@ -167,7 +167,7 @@ class ServiceBase(models.Model):
continue
if service.slug == self.slug:
raise ValidationError(_('This slug is already used. It must be unique.'))
if service.title == self.title:
if service.title == self.title and service.secondary is False and self.secondary is False:
raise ValidationError(_('This title is already used. It must be unique.'))
return super(ServiceBase, self).clean(*args, **kwargs)

View File

@ -63,6 +63,26 @@ def test_unique_title():
assert e.value.messages[0] == u'This title is already used. It must be unique.'
# secondary services can be added
combo.secondary = True
combo.clean()
# secondary service does not prevent homonym creation
Combo.objects.create(
title='Combo test secondary',
slug='second',
last_operational_success_timestamp=timezone.now(),
last_operational_check_timestamp=timezone.now(),
secret_key='1nesüper5Cr!eteKAaY~',
base_url='http://example.com',
secondary=True
)
combo.title = 'Combo test secondary'
combo.secondary = False
combo.clean()
# two secondary services are ok
combo.secondary = True
combo.clean()
def test_base_url_field_validator():
kwargs = {'last_operational_success_timestamp': timezone.now(),