diff --git a/sourcing/templates/build_links.html b/sourcing/templates/build_links.html
index 2b647ad..e45455a 100644
--- a/sourcing/templates/build_links.html
+++ b/sourcing/templates/build_links.html
@@ -45,7 +45,7 @@ body, html {
-{%- for start, line in iter_lines(doc.text) if line != '\r\n' %}
+{% for start, line in iter_lines(doc.text) if line != '\r\n' %}
{{- nbsp_at_start(line) -}}
{%- endfor -%}
@@ -77,6 +77,19 @@ body, html {
{% endif %}
+ {% if links %}
+ {% if links | count == 1 %}
+ There is one link between these documents.
+ {% else %}
+ There are {{ links | count }} links between these documents.
+ {% endif %}
+
+ {% endif %}
+
{% if doc1 %}
diff --git a/sourcing/view.py b/sourcing/view.py
index 8c37825..20d8177 100644
--- a/sourcing/view.py
+++ b/sourcing/view.py
@@ -5,7 +5,7 @@ from flask_login import (login_user, current_user, logout_user,
from .forms import (LoginForm, SignupForm, AccountSettingsForm,
UploadSourceDocForm, SourceDocForm, ItemForm,
ForgotPasswordForm, PasswordForm)
-from .model import User, SourceDoc, Item, XanaDoc, XanaLink
+from .model import User, SourceDoc, Item, XanaDoc, XanaLink, Reference
from .url import get_url
from .mail import send_mail
from .edl import fulfil_edl_with_sources, fulfil_edl, parse_edl
@@ -18,7 +18,7 @@ from jinja2 import evalcontextfilter, Markup
from functools import wraps
from .utils import nbsp_at_start
from itsdangerous import URLSafeTimedSerializer
-from sqlalchemy_continuum import version_class
+# from sqlalchemy_continuum import version_class
from pprint import pformat
import json
@@ -282,6 +282,11 @@ def save_new_xanalink(doc1, doc2):
obj = XanaLink(user=current_user, text=text)
session.add(obj)
session.commit()
+ ref1 = Reference(subject_id=obj.id, object_id=doc1.id)
+ ref2 = Reference(subject_id=obj.id, object_id=doc2.id)
+ session.add(ref1)
+ session.add(ref2)
+ session.commit()
@bp.route('/build_links', methods=['GET', 'POST'])
def build_links():
@@ -298,6 +303,9 @@ def build_links():
save_new_xanalink(doc1, doc2)
return redirect(url_for(request.endpoint, doc1=hashid1, doc2=hashid2))
+ links = list({i for i in doc1.subjects} &
+ {i for i in doc2.subjects})
+
return render_template('build_links.html',
iter_lines=iter_lines,
nbsp_at_start=nbsp_at_start,
@@ -305,7 +313,8 @@ def build_links():
hashid1=hashid1,
hashid2=hashid2,
doc1=doc1,
- doc2=doc2)
+ doc2=doc2,
+ links=links)
@bp.route('//')
def view_item(username, hashid, raw=False):