comparison getan/controller.py @ 240:78967e4218bd

Refactor controller move_selected_entries method to use move_entries
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 09 Apr 2013 20:41:59 +0200
parents cc24919789be
children fcd0a8b09fcf
comparison
equal deleted inserted replaced
239:cc24919789be 240:78967e4218bd
85 old_project.entries = self.backend.load_entries(old_project.id) 85 old_project.entries = self.backend.load_entries(old_project.id)
86 self.update_entries(old_project) 86 self.update_entries(old_project)
87 self.project_view.update_rows() 87 self.project_view.update_rows()
88 88
89 def move_selected_entries(self, project): 89 def move_selected_entries(self, project):
90 old_project = None
91 entries = [] 90 entries = []
92 try: 91 while self.entries_view.selection:
93 while self.entries_view.selection: 92 node = self.entries_view.selection.pop()
94 node = self.entries_view.selection.pop() 93 if node.selected:
95 if node.selected: 94 node.select()
96 node.select() 95 entries.append(node.item)
97 entries.append(node.item) 96 logger.info("GetanController: move entry '%s' (id = %d, "\
98 logger.info("GetanController: move entry '%s' (id = %d, "\ 97 "project id = %d) to project '%s'"
99 "project id = %d) to project '%s'" 98 % (node.item.desc, node.item.id,
100 % (node.item.desc, node.item.id, 99 node.item.project_id, project.desc))
101 node.item.project_id, project.desc)) 100 self.move_entries(entries, project)
102
103 if not old_project:
104 old_project = self.project_by_id(node.item.project_id)
105 finally:
106 self.backend.move_entries(entries, project.id)
107 if not old_project:
108 return
109 project.entries = self.backend.load_entries(project.id)
110 old_project.entries = self.backend.load_entries(old_project.id)
111 self.update_entries(old_project)
112 self.project_view.update_all()
113 101
114 def delete_entries(self, entry_nodes): 102 def delete_entries(self, entry_nodes):
115 if not entry_nodes: 103 if not entry_nodes:
116 return 104 return
117 proj = self.project_by_id(entry_nodes[0].project_id) 105 proj = self.project_by_id(entry_nodes[0].project_id)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)