diff --git a/mo/web/admin.py b/mo/web/admin.py
index 71a9e83a57d71f59e45f3c04c9127415faeb85e4..c31dc9d0009569bfe6c9c155912d6dceca07a68f 100644
--- a/mo/web/admin.py
+++ b/mo/web/admin.py
@@ -1,6 +1,7 @@
# Web: Nástroje pro správce
from flask import render_template, request
+from sqlalchemy.orm import joinedload
import mo.db as db
from mo.web import app
@@ -14,8 +15,10 @@ def admin_all_dsn():
pager.validate()
sess = db.get_session()
- query = sess.query(db.EmailDSN).order_by(db.EmailDSN.arrived_at.desc())
+ query = (sess.query(db.EmailDSN)
+ .options(joinedload(db.EmailDSN.user), joinedload(db.EmailDSN.reg))
+ .order_by(db.EmailDSN.arrived_at.desc()))
(count, query) = pager.apply_limits(query, pagesize=20)
dsns = query.all()
- return render_template('admin_dsn.html', dsns=dsns, pager=pager, count=count)
+ return render_template('admin_dsn.html', dsns=dsns, pager=pager, count=count, admin_list=True)
diff --git a/mo/web/templates/parts/dsn.html b/mo/web/templates/parts/dsn.html
index f7260c86299e87ae8124f016eeb7c069791d4610..06d0da2659b19cdadb04f5c85d81009028063dd4 100644
--- a/mo/web/templates/parts/dsn.html
+++ b/mo/web/templates/parts/dsn.html
@@ -6,6 +6,18 @@
<tr>
<th>Čas
<td>{{ dsn.arrived_at|time_and_timedelta }}
+ {% if admin_list %}
+ <tr>
+ <th>Pro koho
+ {% if dsn.user is not none %}
+ <td>Uživatel {{ dsn.user|user_link }}{{ dsn.user|user_flags }}
+ {% if dsn.user.dsn == dsn %} (primární DSN){% endif %}
+ {% elif dsn.reg_id is not none %}
+ <td>Registrace #{{dsn.reg_id}} ({{dsn.reg.type.name}})
+ {% else %}
+ <td>???
+ {% endif %}
+ {% endif %}
<tr>
<th>Kód chyby
<td>{{ dsn.status|dsn_status }}