def test_get_subfolders(self): root = DummyFolder().create_dummy_root_folder() f2 = DummyFolder().create_dummy_folder(parent=root) f3 = DummyFolder().create_dummy_folder(parent=f2) f4 = DummyFolder().create_dummy_folder(parent=f2, name='f4') self.assertEqual(list(get_subfolders(root)), [f2]) self.assertEqual(list(get_subfolders(f2)), [f3, f4]) self.assertEqual(list(get_subfolders(f3)), [])
def delete(self, request, *args, **kwargs): folder = self.get_object() if get_subfolders(folder) or get_subreports(folder): return HttpResponseRedirect(reverse("folders:folder-not-empty")) else: folder.delete() return HttpResponseRedirect(self.get_success_url())
def processing(self, folder, rqst, msg): # Умови при яких зміни не відбудуться: if get_subfolders(folder) or get_subreports(folder): msg.title = rqst.name msg.type = msgType.Forbidden msg.message = "Обрана тека не порожня! Спершу слід видалити вміст теки." else: # Робимо зміни: folder.delete() # тека видалена з бази даних msg.title = rqst.name msg.type = msgType.DeleteRow msg.message = "Теку видалено!" return None, msg