Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 6c0b2049aa91a979fa974e40aaf582b77fc235f2
Author: Bohuslav Kabrda <bkabrda(a)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