[copr] master: Add logic to retrieve coprs with mock chroots (6c0b204)

bkabrda at fedoraproject.org bkabrda at fedoraproject.org
Tue Jan 22 14:06:32 UTC 2013


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 6c0b2049aa91a979fa974e40aaf582b77fc235f2
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date:   Tue Jan 22 15:05:39 2013 +0100

    Add logic to retrieve coprs with mock chroots


>---------------------------------------------------------------

 coprs_frontend/coprs/logic/coprs_logic.py          |    4 ++++
 .../coprs/views/coprs_ns/coprs_general.py          |    5 ++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/coprs_frontend/coprs/logic/coprs_logic.py b/coprs_frontend/coprs/logic/coprs_logic.py
index c8daebf..917bf6e 100644
--- a/coprs_frontend/coprs/logic/coprs_logic.py
+++ b/coprs_frontend/coprs/logic/coprs_logic.py
@@ -26,6 +26,7 @@ class CoprsLogic(object):
     def get_multiple(cls, user, **kwargs):
         user_relation = kwargs.get('user_relation', None)
         username = kwargs.get('username', None)
+        with_mock_chroots = kwargs.get('with_mock_chroots')
 
         query = db.session.query(models.Copr).\
                            join(models.Copr.owner).\
@@ -38,6 +39,9 @@ class CoprsLogic(object):
                           filter(models.CoprPermission.copr_builder == helpers.PermissionEnum.num('approved')).\
                           join(aliased_user, models.CoprPermission.user).\
                           filter(aliased_user.openid_name == models.User.openidize_name(username))
+        if with_mock_chroots:
+            query = query.join(*models.Copr.mock_chroots.attr).\
+                          options(db.contains_eager(*models.Copr.mock_chroots.attr))
         return query
 
     @classmethod
diff --git a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
index c2369d3..80a8be2 100644
--- a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
+++ b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py
@@ -28,7 +28,10 @@ def coprs_show(page = 1):
 @coprs_ns.route('/owned/<username>/', defaults = {'page': 1})
 @coprs_ns.route('/owned/<username>/<int:page>/')
 def coprs_by_owner(username = None, page = 1):
-    query = coprs_logic.CoprsLogic.get_multiple(flask.g.user, user_relation = 'owned', username = username)
+    query = coprs_logic.CoprsLogic.get_multiple(flask.g.user,
+                                                user_relation='owned',
+                                                username=username,
+                                                with_mock_chroots=True)
     paginator = helpers.Paginator(query, query.count(), page)
 
     coprs = paginator.sliced_query



More information about the copr-devel mailing list