more work on redesigning
[meabook] / controller.py
index 687eec3..9878d23 100644 (file)
@@ -7,10 +7,6 @@ class MeabookController:
         self.config = config
         self.model = model
         self.view = view_class(self)
-
-        # activate necessary level
-        level = self.config.get_last_active_level()
-        self.view.show_items(None, level)
         self.view.start()
 
     def stop(self):
@@ -19,23 +15,38 @@ class MeabookController:
         self.config.set_last_active_level(self.view.get_current_level())
         self.model.close()
 
-    def get_level1_items(self, parent=None):
-        """Gets from model level1 items."""
+    def get_items(self, parent=0):
+        """Gets from model items with selected level."""
+
+        folders_list = list(self.get_all_folders(parent))
+        files_list = [(fields['cn'], internal_name, 'file') for internal_name, \
+            fields in self.model.get_files(['cn'], parent).items()]
+        return folders_list + files_list
+
+    def get_item(self, _id):
+        """Gets person info."""
+
+        return self.model.get_entry_by_id(_id)
+
+    def get_all_folders(self, parent=0):
+        """Gets all filials."""
 
-        #return self.model.....
-        return [('level1', 1)]
+        return [(name, internal_name, 'folder') for name, internal_name in \
+            self.model.get_folders(parent)]
 
-    def get_level2_items(self, parent=None):
-        """Gets from model level2 items."""
+    def get_all_subfolders(self):
+        """Gets all departments."""
 
-        #return self.model.....
-        return [('level2', 1)]
+        return [(name, internal_name, 'folder') for name, internal_name in \
+            self.model.get_folders()]
 
-    def get_level3_items(self, parent=None):
-        """Gets from model level3 items."""
+    def get_all_files(self):
+        """Gets all peoples."""
 
-        #return self.model.....
-        return [('level3', 1)]
+        # FIXME: read field names from Config
+        files_dict = self.model.get_files(['cn'])
+        return [(files_dict[internal_name]['cn'], internal_name, 'file') for \
+            internal_name in files_dict]
 
     def get_fields(self):
         """Returns all exists fields from model."""