about summary refs log tree commit diff
path: root/gn2/wqflask
diff options
context:
space:
mode:
Diffstat (limited to 'gn2/wqflask')
-rw-r--r--gn2/wqflask/templates/wiki/genewiki.html1
-rw-r--r--gn2/wqflask/templates/wiki/history.html57
-rw-r--r--gn2/wqflask/views.py20
3 files changed, 78 insertions, 0 deletions
diff --git a/gn2/wqflask/templates/wiki/genewiki.html b/gn2/wqflask/templates/wiki/genewiki.html
index 496f5e28..41fa97df 100644
--- a/gn2/wqflask/templates/wiki/genewiki.html
+++ b/gn2/wqflask/templates/wiki/genewiki.html
@@ -19,6 +19,7 @@
                         {% if entry.get("web_url") %}
                             <sup> <small> <a href = "{{ entry.web_url }}" target = "_blank"> <span class = "glyphicon glyphicon-globe" aria-hidden = "true"></span>web</a></small></sup>
                         {% endif %}
+                        <sup><small>[<a href="/genewiki/{{ entry.id }}/history" target="_blank">history</a>]</small></sup>
                     </li>
                 {% endfor %}
             </ol>
diff --git a/gn2/wqflask/templates/wiki/history.html b/gn2/wqflask/templates/wiki/history.html
new file mode 100644
index 00000000..bda802d3
--- /dev/null
+++ b/gn2/wqflask/templates/wiki/history.html
@@ -0,0 +1,57 @@
+{% extends "base.html" %}
+{% block content %}
+    {{ flash_me() }}
+    <div class = "container container-fluid">
+        <div class="row">
+            <div class="col-sm-9">
+                <h2 class="text-info">GeneWiki Entry History</h2>
+                {% for entry in entries %}
+                    <h3 class="text-info">
+                        {% if loop.index0 == 0 %}
+                            <strong>Most Recent Version:</strong>
+                        {% elif loop.index0 == 1 %}
+                            <strong>Previous Version:</strong>
+                        {% endif %}
+                    </h3>
+                    <table class="table table-responsive table-bordered">
+                        <tbody>
+                            <tr>
+                                <th>Gene Symbol:</th>
+                                <td>{{ entry.symbol }}</td>
+                            </tr>
+                            <tr>
+                                <th>PubMed IDs:</th>
+                                <td>
+                                    {% for id in entry.pubmed_ids %}
+                                        <a href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids={{ id }}&dopt=Abstract">{{ id }}</a>&nbsp;
+                                    {% endfor %}
+                                    {% if not entry.pubmed_ids %}Not Available{% endif %}
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>Web URL:</th>
+                                <td>{{ entry.web_url or "Not Available" }}</td>
+                            </tr>
+                            <tr>
+                                <th>Entry:</th>
+                                <td>{{ entry.comment }}</td>
+                            </tr>
+                            <tr>
+                                <th>Category:</th>
+                                <td>{{ '; '.join(entry.categories) or "Not Available" }}</td>
+                            </tr>
+                            <tr>
+                                <th>Add Time:</th>
+                                <td>{{ entry.created }}</td>
+                            </tr>
+                            <tr>
+                                <th>Reason for Modification:</th>
+                                <td>{{ entry.reason or "Not Available" }}</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                {% endfor %}
+            </div>
+        </div>
+    </div>
+{% endblock %}
diff --git a/gn2/wqflask/views.py b/gn2/wqflask/views.py
index 4164c604..7699c303 100644
--- a/gn2/wqflask/views.py
+++ b/gn2/wqflask/views.py
@@ -1312,6 +1312,26 @@ def display_genewiki_page(symbol: str):
     )
 
 
+@app.route("/genewiki/<int:comment_id>/history")
+def display_wiki_history(comment_id: str):
+    entries = []
+    try:
+        entries = requests.get(
+            urljoin(
+                GN3_LOCAL_URL,
+                f"/api/metadata/wiki/{comment_id}/history"
+            )
+        )
+        entries.raise_for_status()
+        entries = entries.json()
+    except requests.RequestException as excp:
+        flash(excp, "alert-warning")
+    return render_template(
+        "wiki/history.html",
+        entries=entries
+    )
+
+
 @app.route("/datasets/<name>", methods=('GET',))
 def get_dataset(name):
     from gn2.wqflask.oauth2.client import oauth2_get