Commit graph

5 commits

Author SHA1 Message Date
Douwe Maan
8db1292139 Tweaks, refactoring, and specs 2016-03-20 21:04:07 +01:00
Felipe Artur
0a7f716119 Code fixes 2016-03-17 19:42:46 -03:00
Felipe Artur
a18ac62756 Block internal groups/projects visibility to external users 2016-03-16 21:23:59 -03:00
Yorick Peterse
f486b06c4d Return internal projects in PersonalProjectsFinder
When getting the projects of a user we should get the public _and_
internal projects, not just the public ones.
2015-11-18 15:08:28 +01:00
Yorick Peterse
fbcf3bd3fc Refactor ProjectsFinder to not pluck IDs
This class now uses a UNION (when needed) instead of plucking tens of
thousands of project IDs into memory. The tests have also been
re-written to ensure all different use cases are tested properly
(assuming I didn't forget any cases).

The finder has also been broken up into 3 different finder classes:

* ContributedProjectsFinder: class for getting the projects a user
  contributed to.
* PersonalProjectsFinder: class for getting the personal projects of a
  user.
* ProjectsFinder: class for getting generic projects visible to a given
  user.

Previously a lot of the logic of these finders was handled directly in
the users controller.
2015-11-18 13:05:45 +01:00