Commit Graph

17 Commits

Author SHA1 Message Date
Sean McGivern c57ae83dcf Fix issuable state counter cache keys
These cache a hash of counts by state, so the state isn't needed in the key
itself.
2017-07-19 10:21:18 +01:00
Sean McGivern 4e38985b1c Fix typo in IssuesFinder comment
[ci skip]
2017-06-30 15:44:21 +01:00
Sean McGivern cb30edfae5 Clarify counter caching for users without project access 2017-06-30 10:33:47 +01:00
Sean McGivern 0c6cdd0782 Make finders responsible for counter cache keys 2017-06-30 10:33:46 +01:00
Sean McGivern c400030d0f Don't count any confidential issues for non-project-members 2017-06-30 10:33:45 +01:00
Sean McGivern 20bb678d91 Cache total issue / MR counts for project by user type
This runs a slightly slower query to get the issue and MR counts in the
navigation, but caches by user type (can see all / none confidential issues) for
two minutes.
2017-06-30 10:33:44 +01:00
Sean McGivern 42ccb5981a Only do complicated confidentiality checks when necessary
When we are filtering by a single project, and the current user has access to
see confidential issues on that project, we don't need to filter by
confidentiality at all - just as if the user were an admin.

The filter by confidentiality often picks a non-optimal query plan: for
instance, AND-ing the results of all issues in the project (a relatively small
set), and all issues in the states requested (a huge set), rather than just
starting small and winnowing further.
2017-06-30 10:33:44 +01:00
Toon Claes b90f1098cf Add User#full_private_access? to check if user has Private access
In CE only the admin has access to all private groups & projects. In EE also an
auditor can have full private access.

To overcome merge conflicts, or accidental incorrect access rights, abstract
this out in `User#full_private_access?`.

`User#admin?` now only should be used for admin-only features. For private
access-related features `User#full_private_access?` should be used.

Backported from gitlab-org/gitlab-ee!2199
2017-06-23 11:15:35 +02:00
Valery Sizov 387c4b2c21 Backport of multiple_assignees_feature [ci skip] 2017-05-04 17:11:53 +03:00
Joren De Groof d663b8de24 Fixes milestone/merge_request API endpoint to really scope the results
The MergeRequestsFinder uses the milestone_title instead of the
milestone_id
2017-04-03 18:36:51 +02:00
Jarka Kadlecova d369acb516 Improve issues filtering performance 2017-03-06 14:45:50 +01:00
mhasbini 7362fd6fdf add a :iids param to IssuableFinder 2017-02-17 20:28:32 +02:00
Sean McGivern 4bf61b8bd4 Merge branch 'jej-24637-move-issue-visible_to_user-to-finder' into 'security'
Issue#visible_to_user moved to IssuesFinder

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/24637.

See merge request !2039
2016-12-15 11:41:04 -03:00
barthc 418e95bd5f fix issues mr counter 2016-09-20 14:39:15 +01:00
Douglas Barbosa Alexandre 34ee75379c Restrict access to confidential issues 2016-03-17 20:55:38 -03:00
Dmitriy Zaporozhets 20c2e90222
Refactor finders. Prevent circular dependency error
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-09-02 15:28:27 +03:00
Dmitriy Zaporozhets 645e8d4705
Move services for collecting items to Finders
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2014-02-25 19:15:08 +02:00