Don't add new record from on_write function
This commit is contained in:
1 parent
78c9f0ca85
commit
e49c9f952b
2 files changed
+4
-12
No files matched your search
@@ -102,23 +102,15 @@ class ModelRecordGroup(SignalEvent):
|
||||
ids = self.on_write_ids([edited_id])
|
||||
if not ids:
|
||||
return
|
||||
index = self.models.index(self[edited_id])
|
||||
self.reload(ids, index)
|
||||
self.reload(ids)
|
||||
|
||||
def reload(self, ids, index):
|
||||
def reload(self, ids):
|
||||
for obj_id in ids:
|
||||
cont = False
|
||||
for model in self.models:
|
||||
if model.id == obj_id:
|
||||
cont = True
|
||||
model.reload()
|
||||
if cont:
|
||||
continue
|
||||
newmod = ModelRecord(self.resource, obj_id, self.window,
|
||||
parent=self.parent, group=self)
|
||||
newmod.reload()
|
||||
new_index = min(index, len(self.models)-1)
|
||||
self.model_add(newmod, new_index)
|
||||
|
||||
def on_write_ids(self, ids):
|
||||
if not self.on_write:
|
||||
|
||||
@@ -433,7 +433,7 @@ class Screen(SignalEvent):
|
||||
else:
|
||||
self.current_model = None
|
||||
if reload_ids:
|
||||
self.models.reload(reload_ids, idx)
|
||||
self.models.reload(reload_ids)
|
||||
self.display()
|
||||
self.current_view.set_cursor()
|
||||
res = obj_id
|
||||
@@ -455,7 +455,7 @@ class Screen(SignalEvent):
|
||||
self.models.remove(model)
|
||||
self.current_model = None
|
||||
if reload_ids:
|
||||
self.models.reload(reload_ids, 0)
|
||||
self.models.reload(reload_ids)
|
||||
self.display()
|
||||
self.current_view.set_cursor()
|
||||
res = ids
|
||||
|
||||
Reference in new issue
Block a user