some small stuff
This commit is contained in:
parent
aaf248a927
commit
55b8e6e78c
4 changed files with 9 additions and 9 deletions
|
@ -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',
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue