some small stuff

This commit is contained in:
Laura Klünder 2024-09-16 14:43:14 +02:00
parent aaf248a927
commit 55b8e6e78c
4 changed files with 9 additions and 9 deletions

View file

@ -20,7 +20,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='changeset',
name='changes',
field=django_pydantic_field.fields.PydanticSchemaField(config=None, default=c3nav.editor.operations.CollectedChanges, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=c3nav.editor.operations.CollectedChanges),
field=django_pydantic_field.fields.PydanticSchemaField(config=None, default=c3nav.editor.operations.CollectedOperations, encoder=django.core.serializers.json.DjangoJSONEncoder, schema=c3nav.editor.operations.CollectedOperations),
),
migrations.DeleteModel(
name='ChangedObject',

View file

@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _
from django.utils.translation import ngettext_lazy
from django_pydantic_field import SchemaField
from c3nav.editor.operations import CollectedChanges
from c3nav.editor.operations import CollectedOperations
from c3nav.editor.tasks import send_changeset_proposed_notification
from c3nav.mapdata.models import LocationSlug, MapUpdate
from c3nav.mapdata.models.locations import LocationRedirect
@ -43,7 +43,7 @@ class ChangeSet(models.Model):
related_name='assigned_changesets', verbose_name=_('assigned to'))
map_update = models.OneToOneField(MapUpdate, null=True, related_name='changeset',
verbose_name=_('map update'), on_delete=models.PROTECT)
changes: CollectedChanges = SchemaField(schema=CollectedChanges, default=CollectedChanges)
changes: CollectedOperations = SchemaField(schema=CollectedOperations, default=CollectedOperations)
class Meta:
verbose_name = _('Change Set')

View file

@ -187,7 +187,7 @@ class ChangedObject(BaseSchema):
m2m_changes: dict[str, ChangedManyToMany] = {}
class CollectedChanges(BaseSchema):
class CollectedOperations(BaseSchema):
uuid: UUID = Field(default_factory=uuid4)
prev: PreviousObjects = PreviousObjects()
operations: list[DatabaseOperation] = []
@ -250,7 +250,7 @@ class CollectedChanges(BaseSchema):
@dataclass
class CollectedChangesPrefetch:
changes: CollectedChanges
changes: CollectedOperations
instances: dict[ObjectReference, Model]
def apply(self):

View file

@ -9,7 +9,7 @@ from django.db.models import Model
from django.db.models.fields.related import ManyToManyField
from c3nav.editor.operations import DatabaseOperation, ObjectReference, FieldValuesDict, CreateObjectOperation, \
UpdateObjectOperation, DeleteObjectOperation, ClearManyToManyOperation, UpdateManyToManyOperation, CollectedChanges
UpdateObjectOperation, DeleteObjectOperation, ClearManyToManyOperation, UpdateManyToManyOperation, CollectedOperations
from c3nav.mapdata.fields import I18nField
from c3nav.mapdata.models import LocationSlug
@ -28,17 +28,17 @@ class InterceptAbortTransaction(Exception):
@dataclass
class DatabaseOverlayManager:
changes: CollectedChanges
changes: CollectedOperations
new_operations: list[DatabaseOperation] = field(default_factory=list)
pre_change_values: dict[ObjectReference, FieldValuesDict] = field(default_factory=dict)
@classmethod
@contextmanager
def enable(cls, changes: CollectedChanges | None, commit: bool):
def enable(cls, changes: CollectedOperations | None, commit: bool):
if getattr(overlay_state, 'manager', None) is not None:
raise TypeError
if changes is None:
changes = CollectedChanges()
changes = CollectedOperations()
try:
with transaction.atomic():
manager = DatabaseOverlayManager(changes)