From 9041401b73f93228cc9b5183a9ef30e5f7f171a6 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Sun, 7 Jun 2020 16:51:27 +0200 Subject: drawing graphs with backlinks --- cli/app/sql/models/graph.py | 2 +- cli/app/sql/models/page.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'cli') diff --git a/cli/app/sql/models/graph.py b/cli/app/sql/models/graph.py index 88a15ef..fdea32a 100644 --- a/cli/app/sql/models/graph.py +++ b/cli/app/sql/models/graph.py @@ -37,7 +37,7 @@ class Graph(Base): def toFullJSON(self): data = self.toJSON() - data['pages'] = [ page.toJSON() for page in self.pages ] + data['pages'] = [ page.toLinkJSON() for page in self.pages ] return data class GraphForm(ModelForm): diff --git a/cli/app/sql/models/page.py b/cli/app/sql/models/page.py index 960ffd7..4ca758d 100644 --- a/cli/app/sql/models/page.py +++ b/cli/app/sql/models/page.py @@ -23,6 +23,7 @@ class Page(Base): updated_at = Column(UtcDateTime(), onupdate=utcnow()) tiles = relationship("Tile", foreign_keys="Tile.page_id", lazy='dynamic', order_by="asc(Tile.sort_order)") + backlinks = relationship("Tile", foreign_keys="Tile.target_page_id", lazy='dynamic') def toJSON(self): return { @@ -37,6 +38,11 @@ class Page(Base): 'updated_at': self.updated_at, } + def toLinkJSON(self): + data = self.toJSON() + data['backlinks'] = [ tile.toJSON() for tile in self.backlinks ] + return data + def toFullJSON(self): data = self.toJSON() data['tiles'] = [ tile.toJSON() for tile in self.tiles ] -- cgit v1.2.3-70-g09d2