mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	Content type stored in logs instead of model name
This commit is contained in:
		| @@ -1,6 +1,7 @@ | ||||
| # Copyright (C) 2018-2020 by BDE ENS Paris-Saclay | ||||
| # SPDX-License-Identifier: GPL-3.0-or-later | ||||
|  | ||||
| from django.contrib.contenttypes.models import ContentType | ||||
| from django.utils.translation import gettext_lazy as _ | ||||
| from django.conf import settings | ||||
| from django.core.exceptions import ValidationError | ||||
| @@ -20,8 +21,9 @@ class Changelog(models.Model): | ||||
|         verbose_name=_('user'), | ||||
|     ) | ||||
|  | ||||
|     model = models.CharField( | ||||
|         max_length=255, | ||||
|     model = models.ForeignKey( | ||||
|         ContentType, | ||||
|         on_delete=models.PROTECT, | ||||
|         null=False, | ||||
|         blank=False, | ||||
|         verbose_name=_('model'), | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
|  | ||||
| import inspect | ||||
|  | ||||
| from django.contrib.contenttypes.models import ContentType | ||||
| from django.core import serializers | ||||
| from django.db.models.signals import pre_save, pre_delete | ||||
| from django.dispatch import receiver | ||||
| @@ -44,7 +45,7 @@ def save_object(sender, instance, **kwargs): | ||||
|         previous_json = None | ||||
|     instance_json = serializers.serialize('json', [instance, ],)[1:-1] | ||||
|     Changelog.objects.create(user=user, | ||||
|                                         model=model_name, | ||||
|                                         model=ContentType.objects.get_for_model(instance), | ||||
|                                         instance_pk=instance.pk, | ||||
|                                         previous=previous_json, | ||||
|                                         data=instance_json, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user