Mercurial > getan > getan
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) |