You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/09/05 20:21:05 UTC
[40/50] git commit: [#4595] ticket:421 Filter projects by date range
[#4595] ticket:421 Filter projects by date range
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/f865ddfd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/f865ddfd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/f865ddfd
Branch: refs/heads/cj/6596
Commit: f865ddfdc5390753cfb268a67d9835b34a439add
Parents: 01194e0
Author: Igor Bondarenko <je...@gmail.com>
Authored: Mon Sep 2 12:26:09 2013 +0300
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Wed Sep 4 13:19:55 2013 +0000
----------------------------------------------------------------------
Allura/allura/controllers/site_admin.py | 8 +++++---
Allura/allura/tests/functional/test_site_admin.py | 14 ++++++++++++++
2 files changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/f865ddfd/Allura/allura/controllers/site_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index be8415b..818016f 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -192,14 +192,16 @@ class SiteAdminController(object):
end_dt = datetime.strptime(end_dt, '%Y/%m/%d %H:%M:%S')
except ValueError:
end_dt = None
+ start_dt = datetime.now() if not start_dt else start_dt
+ end_dt = start_dt - timedelta(days=15) if not end_dt else end_dt
+ start = bson.ObjectId.from_datetime(start_dt)
+ end = bson.ObjectId.from_datetime(end_dt)
nb = M.Neighborhood.query.get(name='Users')
projects = (M.Project.query.find({
'neighborhood_id': {'$ne': nb._id},
'deleted': False,
+ '_id': {'$lt': start, '$gt': end},
}).sort('_id', -1))
- #projects = projects.skip(start).limit(limit)
- start_dt = datetime.now() if not start_dt else start_dt
- end_dt = start_dt - timedelta(days=15) if not end_dt else end_dt
return {
'projects': projects,
'window_start': start_dt,
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/f865ddfd/Allura/allura/tests/functional/test_site_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_site_admin.py b/Allura/allura/tests/functional/test_site_admin.py
index e339ff7..e0ba8fd 100644
--- a/Allura/allura/tests/functional/test_site_admin.py
+++ b/Allura/allura/tests/functional/test_site_admin.py
@@ -16,6 +16,7 @@
# under the License.
import json
+from datetime import timedelta
from nose.tools import assert_equal
from ming.odm import ThreadLocalORMSession
@@ -78,6 +79,19 @@ class TestSiteAdmin(TestController):
username='root'))
assert_equal(len(r.html.find('table').findAll('tr')), count - 1)
+ def test_new_projects_daterange_filtering(self):
+ r = self.app.get('/nf/admin/new_projects', extra_environ=dict(
+ username='root'))
+ count = len(r.html.find('table').findAll('tr'))
+ assert_equal(count, 7)
+
+ filtr = r.forms[0]
+ filtr['start-dt'] = '2000/01/01 10:10:10'
+ filtr['end-dt'] = '2000/01/01 09:09:09'
+ r = filtr.submit()
+ count = len(r.html.find('table').findAll('tr'))
+ assert_equal(count, 1) # only row with headers - no results
+
def test_reclone_repo_access(self):
r = self.app.get('/nf/admin/reclone_repo', extra_environ=dict(
username='*anonymous'), status=302).follow()