if restoring a deleted object … potentially remove from changeset
This commit is contained in:
parent
bcff9796ee
commit
69d93ddf38
2 changed files with 9 additions and 0 deletions
|
@ -26,6 +26,10 @@ class ChangedManyToMany(BaseSchema):
|
||||||
added: list[ObjectID] = []
|
added: list[ObjectID] = []
|
||||||
removed: list[ObjectID] = []
|
removed: list[ObjectID] = []
|
||||||
|
|
||||||
|
@property
|
||||||
|
def __bool__(self):
|
||||||
|
return not (self.cleared or self.added or self.removed)
|
||||||
|
|
||||||
|
|
||||||
class ChangedObject(BaseSchema):
|
class ChangedObject(BaseSchema):
|
||||||
obj: ObjectReference
|
obj: ObjectReference
|
||||||
|
@ -35,6 +39,9 @@ class ChangedObject(BaseSchema):
|
||||||
fields: FieldValuesDict = {}
|
fields: FieldValuesDict = {}
|
||||||
m2m_changes: dict[FieldName, ChangedManyToMany] = {}
|
m2m_changes: dict[FieldName, ChangedManyToMany] = {}
|
||||||
|
|
||||||
|
def __bool__(self):
|
||||||
|
return self.created or self.deleted or self.fields or any(self.m2m_changes.values())
|
||||||
|
|
||||||
|
|
||||||
class OperationDependencyObjectExists(BaseSchema):
|
class OperationDependencyObjectExists(BaseSchema):
|
||||||
model_config = ConfigDict(frozen=True)
|
model_config = ConfigDict(frozen=True)
|
||||||
|
|
|
@ -48,6 +48,8 @@ def changeset_detail(request, pk):
|
||||||
messages.error(request, _("Can't restore this object because it wasn't deleted"))
|
messages.error(request, _("Can't restore this object because it wasn't deleted"))
|
||||||
else:
|
else:
|
||||||
changed_object.deleted = False
|
changed_object.deleted = False
|
||||||
|
if not changed_object:
|
||||||
|
changeset.changes.objects[changed_object.obj.model].pop(changed_object.obj.id)
|
||||||
update = changeset.updates.create(user=request.user, objects_changed=True)
|
update = changeset.updates.create(user=request.user, objects_changed=True)
|
||||||
changeset.last_update = update
|
changeset.last_update = update
|
||||||
changeset.last_change = update
|
changeset.last_change = update
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue