From f23d0015d7002552f3532203ee41f8ef79d991db Mon Sep 17 00:00:00 2001 From: inso <insomniak.fr@gmaiL.com> Date: Sat, 14 Jan 2017 16:10:25 +0100 Subject: [PATCH] Fix Informations + search linked identities --- .../gui/navigation/identities/controller.py | 17 ++--------------- src/sakia/gui/navigation/identities/model.py | 16 ++++++++++++++++ .../gui/sub/user_information/controller.py | 2 ++ 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/sakia/gui/navigation/identities/controller.py b/src/sakia/gui/navigation/identities/controller.py index 8a97f101..48a7d107 100644 --- a/src/sakia/gui/navigation/identities/controller.py +++ b/src/sakia/gui/navigation/identities/controller.py @@ -70,23 +70,10 @@ class IdentitiesController(QObject): except NoPeerAvailable as e: logging.debug(str(e)) - @once_at_a_time - @asyncify - async def search_direct_connections(self): + def search_direct_connections(self): """ Search identities directly connected to account :return: """ - self_identity = await self.account.identity(self.community) - account_connections = [] - certs_of = await self_identity.unique_valid_certifiers_of(self.app.identities_registry, self.community) - for p in certs_of: - account_connections.append(p['identity']) - certifiers_of = [p for p in account_connections] - certs_by = await self_identity.unique_valid_certified_by(self.app.identities_registry, self.community) - for p in certs_by: - account_connections.append(p['identity']) - certified_by = [p for p in account_connections - if p.pubkey not in [i.pubkey for i in certifiers_of]] - identities = certifiers_of + certified_by + identities = self.model.linked_identities() self.model.refresh_identities(identities) diff --git a/src/sakia/gui/navigation/identities/model.py b/src/sakia/gui/navigation/identities/model.py index ca65f3a7..e91df361 100644 --- a/src/sakia/gui/navigation/identities/model.py +++ b/src/sakia/gui/navigation/identities/model.py @@ -1,3 +1,4 @@ +import asyncio from PyQt5.QtCore import Qt, QObject from .table_model import IdentitiesFilterProxyModel, IdentitiesTableModel @@ -62,3 +63,18 @@ class IdentitiesModel(QObject): If no identities is passed, use the account connections. """ self.table_model.sourceModel().refresh_identities(identities) + + def linked_identities(self): + + # create Identity from node metadata + connection_identity = self.identities_service.get_identity(self.connection.pubkey) + linked = [] + certifier_list = self.identities_service.certifications_received(connection_identity.pubkey) + for certification in tuple(certifier_list): + linked.append(self.identities_service.get_identity(certification.certifier)) + + certified_list = self.identities_service.certifications_sent(connection_identity.pubkey) + for certification in tuple(certified_list): + linked.append(self.identities_service.get_identity(certification.certified)) + + return linked diff --git a/src/sakia/gui/sub/user_information/controller.py b/src/sakia/gui/sub/user_information/controller.py index 09c075c9..5ffb47cc 100644 --- a/src/sakia/gui/sub/user_information/controller.py +++ b/src/sakia/gui/sub/user_information/controller.py @@ -34,6 +34,7 @@ class UserInformationController(QObject): @classmethod def show_identity(cls, parent, app, currency, identity): dialog = QDialog() + dialog.setWindowTitle("Informations") user_info = cls.create(parent, app, currency, identity) user_info.view.setParent(dialog) user_info.refresh() @@ -43,6 +44,7 @@ class UserInformationController(QObject): @asyncify async def search_and_show_pubkey(cls, parent, app, currency, pubkey): dialog = QDialog(parent) + dialog.setWindowTitle("Informations") layout = QVBoxLayout(dialog) tabwidget = QTabWidget(dialog) layout.addWidget(tabwidget) -- GitLab