You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2018/07/06 15:58:35 UTC
[3/3] allura git commit: [#8209] Personal Dashboard - Fix error in
viewing dashboard, modifications in 'paged_search'
[#8209] Personal Dashboard - Fix error in viewing dashboard, modifications in 'paged_search'
Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/1d155ce8
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/1d155ce8
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/1d155ce8
Branch: refs/heads/master
Commit: 1d155ce858e01dad01a0ac23f1e13ce49e92d5dd
Parents: 1fe9f02
Author: deshanigtk <de...@cse.mrt.ac.lk>
Authored: Fri Jul 6 17:45:42 2018 +0530
Committer: deshanigtk <de...@cse.mrt.ac.lk>
Committed: Fri Jul 6 17:45:42 2018 +0530
----------------------------------------------------------------------
ForgeTracker/forgetracker/model/ticket.py | 38 ++++++++------------
.../tests/unit/test_root_controller.py | 2 +-
2 files changed, 15 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/allura/blob/1d155ce8/ForgeTracker/forgetracker/model/ticket.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index d242e9a..db50536 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -1229,13 +1229,10 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
params.update(tsearch.FACET_PARAMS)
if not show_deleted:
params['fq'] = ['deleted_b:False']
- if app_config is None:
- fl = 'id'
- else:
- fl = 'ticket_num_i'
+
matches = search_artifact(
cls, q, short_timeout=True,
- rows=limit, sort=refined_sort, start=start, fl=fl,
+ rows=limit, sort=refined_sort, start=start, fl='id',
filter=filter, **params)
else:
matches = None
@@ -1245,31 +1242,24 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
matches = None
if matches:
count = matches.hits
- if app_config is not None:
- # ticket_matches is in sorted order
- ticket_matches = [match['ticket_num_i'] for match in matches.docs]
-
- # but query, unfortunately, returns results in arbitrary order
- query = cls.query.find(
- dict(app_config_id=app_config._id, ticket_num={'$in': ticket_matches}))
- else:
- ticket_matches = [ObjectId(match['id']).split('#')[1] for match in matches.docs]
- query = cls.query.find(
- dict(_id={'$in': ticket_matches}))
+ # ticket_matches is in sorted order
+ ticket_matches = [ObjectId(match['id'].split('#')[1]) for match in matches.docs]
+ query = cls.query.find(
+ dict(_id={'$in': ticket_matches}))
# so stick all the results in a dictionary...
- ticket_for_num = {}
+ ticket_by_id = {}
for t in query:
- ticket_for_num[t.ticket_num] = t
+ ticket_by_id[t._id] = t
# and pull them out in the order given by ticket_numbers
tickets = []
- for tn in ticket_matches:
- if tn in ticket_for_num:
+ for t_id in ticket_matches:
+ if t_id in ticket_by_id:
show_deleted = show_deleted and security.has_access(
- ticket_for_num[tn], 'delete', user, app_config.project.root_project)
- if (security.has_access(ticket_for_num[tn], 'read', user,
+ ticket_by_id[t_id], 'delete', user, app_config.project.root_project)
+ if (security.has_access(ticket_by_id[t_id], 'read', user,
app_config.project.root_project if app_config else None) and
- (show_deleted or ticket_for_num[tn].deleted == False)):
- tickets.append(ticket_for_num[tn])
+ (show_deleted or ticket_by_id[t_id].deleted == False)):
+ tickets.append(ticket_by_id[t_id])
else:
count = count - 1
return dict(tickets=tickets,
http://git-wip-us.apache.org/repos/asf/allura/blob/1d155ce8/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tests/unit/test_root_controller.py b/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
index ae2f7a1..7a88f72 100644
--- a/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
+++ b/ForgeTracker/forgetracker/tests/unit/test_root_controller.py
@@ -71,7 +71,7 @@ def solr_search_returning_colors_are_wrong_ticket():
ticket = create_colors_are_wrong_ticket()
search_artifact = Mock()
matches = Mock()
- matches.docs = [dict(ticket_num_i=ticket.ticket_num)]
+ matches.docs = [dict(id=ticket.index_id())]
matches.facets = {'facet_fields': {}}
search_artifact.return_value = matches
return patch('forgetracker.model.ticket.search_artifact', search_artifact)