[odrs-web] Fix another backtrace when getting the list of reviews



commit 058fb0854415843c9fa77ad0ed485304e3767c39
Author: Richard Hughes <richard hughsie com>
Date:   Fri Jul 5 14:24:33 2019 +0100

    Fix another backtrace when getting the list of reviews

 app_data/odrs/templates/components.html | 8 ++++++--
 app_data/odrs/tests/odrs_test.py        | 7 +++++++
 app_data/odrs/views_admin.py            | 4 +++-
 3 files changed, 16 insertions(+), 3 deletions(-)
---
diff --git a/app_data/odrs/templates/components.html b/app_data/odrs/templates/components.html
index b88a3fd..27171d9 100644
--- a/app_data/odrs/templates/components.html
+++ b/app_data/odrs/templates/components.html
@@ -38,7 +38,11 @@
       None
 {% endif %}
     </td>
-    <td>{{component.review_cnt}}</td>
+    <td>
+      <a href="{{url_for('.admin_show_app', app_id=component.app_id)}}">
+        {{component.review_cnt}}
+      </a>
+    </td>
     <td>{{component.fetch_cnt}}</td>
     <td>
       P: <input type="radio" name="parent" value="{{component.app_id}}">
@@ -47,7 +51,7 @@
     <td>
       <a class="btn btn-danger btn-block"
          href="{{url_for('.admin_component_delete', component_id=component.component_id)}}">
-         Delete {{component.reviews|length}} reviews</a>
+         Delete</a>
     </td>
   </tr>
 {% endfor %}
diff --git a/app_data/odrs/tests/odrs_test.py b/app_data/odrs/tests/odrs_test.py
index d28a6b3..bd48084 100644
--- a/app_data/odrs/tests/odrs_test.py
+++ b/app_data/odrs/tests/odrs_test.py
@@ -84,6 +84,13 @@ class OdrsTest(unittest.TestCase):
         assert b'Logged out' in rv.data, rv.data
         assert b'/admin/show/reported' not in rv.data, rv.data
 
+    def test_admin_show_review_for_app(self):
+
+        self.review_submit()
+        self.login()
+        rv = self.app.get('/admin/show/app/inkscape.desktop')
+        assert b'n essential part of my daily' in rv.data, rv.data
+
     def test_admin_graphs(self):
 
         self.review_submit()
diff --git a/app_data/odrs/views_admin.py b/app_data/odrs/views_admin.py
index 9589e5b..5e050a9 100644
--- a/app_data/odrs/views_admin.py
+++ b/app_data/odrs/views_admin.py
@@ -505,7 +505,9 @@ def admin_show_app(app_id):
     """
     Return all the reviews from a user on the server as HTML.
     """
-    reviews = db.session.query(Review).filter(Review.app_id == app_id).all()
+    reviews = db.session.query(Review).\
+                    join(Component).\
+                    filter(Component.app_id == app_id).all()
     return render_template('show-all.html', reviews=reviews)
 
 @app.route('/admin/show/lang/<locale>')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]