From ad568fdc0b91c86aa8a2bf240cc4f35494d005c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Mon, 12 Jun 2017 18:26:24 +0200 Subject: [PATCH] fix Change.clean() regarding creation --- src/c3nav/editor/models.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/c3nav/editor/models.py b/src/c3nav/editor/models.py index 9d6d3ba1..23bfec44 100644 --- a/src/c3nav/editor/models.py +++ b/src/c3nav/editor/models.py @@ -77,7 +77,7 @@ class Change(models.Model): ('m2m_remove', _('add many to many relation')), ) changeset = models.ForeignKey(ChangeSet, on_delete=models.CASCADE, verbose_name=_('Change Set')) - author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.PROTECT, verbose_name=_('Author')) + author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.PROTECT, verbose_name=_('Author')) created = models.DateTimeField(auto_now_add=True, verbose_name=_('created')) action = models.CharField(max_length=16, choices=ACTIONS, verbose_name=_('action')) deletes_change = models.OneToOneField('Change', null=True, on_delete=models.CASCADE, related_name='deleted_by', @@ -172,18 +172,11 @@ class Change(models.Model): raise ValidationError('model_name has to be set if action is not delchange.') try: - object = self.object # noqa + tmp = self.model_class if self.action == 'create' else self.object # noqa except TypeError as e: raise ValidationError(str(e)) except ObjectDoesNotExist: - raise ValidationError('model_name has to be set if action is not delchange.') - - if self.existing_object_pk is None: - if self.created_object is None: - raise ValidationError('existing_model_pk or created_object have to be set if action is not delchange.') - else: - if self.created_object is not None: - raise ValidationError('existing_model_pk and created_object can not both be set.') + raise ValidationError('existing object does not exist.') if self.action in ('create', 'delete'): for field_name in ('field_name', 'field_value'):