Manage force_remove at screen level and unremove all selected records

This commit is contained in:
Cédric Krier committed 2011-04-20 20:01:24 +02:00
1 parent e4906780ee
commit 95f3fcf0f5
2 files changed
+6 -5

No files matched your search

+1 -1
View File
@@ -297,7 +297,7 @@ class Form(SignalEvent):
else:
msg = _('Are you sure to remove those records?')
if sur(msg, self.window):
if not self.screen.remove(delete=True):
if not self.screen.remove(delete=True, force_remove=True):
self.message_info(_('Records not removed!'))
else:
self.message_info(_('Records removed!'), 'green')
+5 -4
View File
@@ -519,10 +519,11 @@ class Screen(SignalEvent):
self.request_set()
def unremove(self):
if self.current_record in self.group:
self.group.unremove(self.current_record)
records = self.current_view.selected_records()
for record in records:
self.group.unremove(record)
def remove(self, delete=False, remove=False):
def remove(self, delete=False, remove=False, force_remove=False):
res = False
reload_ids = []
if self.current_view.view_type == 'form' and self.current_record:
@@ -597,7 +598,7 @@ class Screen(SignalEvent):
# to save the previous_model as it can be already deleted.
self.current_record = None
record.group.remove(record, remove=remove, signal=False,
force_remove=True)
force_remove=force_remove)
# send record-changed only once
record.signal('record-changed')