Skip to content

Commit 121fea3

Browse files
committed
Merge branch 'future/appspaced_apphooks' into future/integration
2 parents c0242d0 + 0b1ca07 commit 121fea3

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

cms/admin/forms.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from django.contrib.auth.models import Permission
44
from django.contrib.contenttypes.models import ContentType
55
from django.contrib.sites.models import Site
6-
from django.core.exceptions import ValidationError
6+
from django.core.exceptions import ValidationError, ObjectDoesNotExist
77
from django.db.models.fields import BooleanField
88
from django.forms.util import ErrorList
99
from django.forms.widgets import HiddenInput
@@ -272,9 +272,23 @@ def __init__(self, *args, **kwargs):
272272
if self.data.get('application_urls', False) and self.data['application_urls'] in app_configs:
273273
self.fields['application_configs'].choices = [(config.pk, force_text(config)) for config in app_configs[self.data['application_urls']].get_configs()]
274274

275-
apphook = self.initial['application_urls']
276-
config = apphook_pool.get_apphook(apphook).get_configs().get(namespace=self.initial['application_namespace'])
277-
self.fields['application_configs'].initial = config.pk
275+
apphook = self.data.get('application_urls', False)
276+
try:
277+
config = apphook_pool.get_apphook(apphook).get_configs().get(namespace=self.initial['application_namespace'])
278+
self.fields['application_configs'].initial = config.pk
279+
except ObjectDoesNotExist:
280+
# Provided apphook configuration doesn't exist (anymore),
281+
# just skip it
282+
# The user will choose another value anyway
283+
pass
284+
else:
285+
# If app_config apphook is not selected, drop any value
286+
# for application_configs do avoid the field dato for
287+
# being validated by the field itself
288+
try:
289+
del self.data['application_configs']
290+
except KeyError:
291+
pass
278292

279293
if 'redirect' in self.fields:
280294
self.fields['redirect'].widget.language = self.fields['language'].initial

cms/forms/widgets.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,6 @@ def __init__(self, attrs=None, choices=(), app_configs={}):
289289
super(ApplicationConfigSelect, self).__init__(attrs, choices)
290290

291291
def render(self, name, value, attrs=None, choices=()):
292-
print("value", value)
293292
output = [super(ApplicationConfigSelect, self).render(name, value, attrs, choices)]
294293
output.append('<script>\n')
295294
output.append('var apphooks_configuration = {\n')

0 commit comments

Comments
 (0)