aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBonfaceKilz2022-05-16 16:47:41 +0300
committerBonfaceKilz2022-05-27 15:17:52 +0300
commitdbf175419de9699d704a172b2be2da19c942fcda (patch)
treeb1e377750bfc8a85c4ec572b36263b8436266e17
parent812865a8d98312b0c1245b9c79cde51add656954 (diff)
downloadgenenetwork2-dbf175419de9699d704a172b2be2da19c942fcda.tar.gz
Display diffs from editing in a nice table.
-rw-r--r--wqflask/wqflask/metadata_edits.py12
-rw-r--r--wqflask/wqflask/templates/case_attributes.html50
2 files changed, 61 insertions, 1 deletions
diff --git a/wqflask/wqflask/metadata_edits.py b/wqflask/wqflask/metadata_edits.py
index b2a23f69..664e441c 100644
--- a/wqflask/wqflask/metadata_edits.py
+++ b/wqflask/wqflask/metadata_edits.py
@@ -708,6 +708,18 @@ def show_case_attribute_columns():
for _, diff in diff_data.items():
diff = json.loads(diff)
if (m_ := diff.get("Modifications")):
+ if m_.get("description"):
+ m_["description"]["Diff"] = "\n".join(
+ difflib.ndiff(
+ [m_.get("description")["Original"]],
+ [m_.get("description")["Current"]]
+ ))
+ if m_.get("name"):
+ m_["name"]["Diff"] = "\n".join(
+ difflib.ndiff(
+ [m_.get("name")["Original"]],
+ [m_.get("name")["Current"]]
+ ))
modifications.append(m_)
if (d_ := diff.get("Deletions")):
deletions.append(d_)
diff --git a/wqflask/wqflask/templates/case_attributes.html b/wqflask/wqflask/templates/case_attributes.html
index 7aa6ee73..d64efd0f 100644
--- a/wqflask/wqflask/templates/case_attributes.html
+++ b/wqflask/wqflask/templates/case_attributes.html
@@ -114,7 +114,55 @@
{% endfor %}
</tbody>
</table>
-</div>
+
+ <h2>Please Review This Changes</h2>
+
+ {% if modifications %}
+ <h2>Modified Data:</h2>
+
+ <table class="table table-responsive table-hover table-striped cell-border" id="table-modifications">
+ <thead>
+ <th scope="col">Case Attribute Edits</th>
+ <th scope="col"></th>
+ </thead>
+ <tbody>
+ {{ modifications }}
+ {% for data in modifications %}
+ {% set reject_url = "" %}
+ {% set approve_url = "" %}
+ <tr>
+ <td>
+ {% if data.get("name")%}
+ <b>Name:</b><br/>
+ <small>Original: </small> {{ data["name"].get("Original") }}<br/>
+ <small>Current: </small>{{ data["name"].get("Current") }} <br/>
+ <small>Diff:</small><br/>
+ <pre>{{data["name"].get("Diff")}}</pre>
+ {% elif data.get("description")%}
+ <b>Description:</b><br/>
+ <small>Original: </small> {{ data["description"].get("Original") }}<br/>
+ <small>Current: </small>{{ data["description"].get("Current") }} <br/>
+ <small>Diff:</small><br/>
+ <pre>{{data["description"].get("Diff")}}</pre>
+ {% endif %}
+ </td>
+ <td>
+ <button type="button"
+ class="btn btn-secondary btn-sm">
+ <a href="{{ reject_url }}">Reject</a>
+ </button>
+ <button type="button"
+ class="btn btn-warning btn-sm">
+ <a href="{{ approve_url }}">Approve</a>
+ </button>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+
+ {% endif %}
+ </div>
{%endblock%}
{% block js %}