Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-10-07Find branches in all projects in the fork networkBob Van Landuyt
2017-10-07Allow creating merge requests across forks of a projectBob Van Landuyt
2017-09-28Support custom attributes on usersMarkus Koller
2017-09-26Remove `weight` from IssuableFinder::SCALAR_PARAMS and improve the array ↵Rémy Coutable
formatting Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-09-26Backport part of c777bb91fd7 and 4074cb3b7c16 from EERémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-09-20Merge branch '20049-projects-api-forks' into 'master'Rémy Coutable
Resolve "make project data via API report forks of this project" Closes #20049 See merge request gitlab-org/gitlab-ce!14355
2017-09-20Introduce ForkProjectsFinder classMark Fletcher
* Will dry up the code to find projects between the ForksController and the API
2017-09-19Fix the groups API endpoint to handle ?owned=true correctlyNick Thomas
2017-09-18fix #35290 Make read-only API for public merge requests available without ↵haseeb
authentication
2017-09-10move `find_users` method into finder and add `load_group` methodMaxim Rydkin
2017-09-10rename yet_another_users_finder into autocomplete_users_finderMaxim Rydkin
2017-09-10extract finder and add first testMaxim Rydkin
2017-09-07Removes default scope from sortableTiago Botelho
2017-09-05Merge branch 'mr-index-page-performance' into 'master'Sean McGivern
Re-use issue/MR counts for the pagination system Closes #27168 See merge request !13805
2017-09-05Re-use issue/MR counts for the pagination systemYorick Peterse
This changes the issue and MR index pages so the pagination system re-uses the output of the COUNT(*) query used to calculate the number of rows per state (opened, closed, etc). This removes the need for an additional COUNT(*) on both pages.
2017-09-05Add my_reaction_emoji param to /merge_requests APIHiroyuki Sato
2017-09-05Add my_reaction_emoji param to /issues APIHiroyuki Sato
2017-08-31Remove issuable finder count cachingSean McGivern
We're going to cache the total open count separately, and then just perform these counts on the list. We already do that to get the pagination information, through Kaminari, and a future change will make Kaminari reuse the query results from earlier in the request.
2017-08-30Add filter by my reactionHiroyuki Sato
2017-08-25Merge branch '31409-fix-group-and-project-search-for-anonymous-users' into ↵Kamil Trzciński
'master' Fix group and project search for anonymous users Closes #31409 See merge request !13745
2017-08-24Refactor complicated API group finding rules into GroupsFinderNick Thomas
2017-08-24Add an option to list only archived projectsMehdi Lahmam
Closes #35994
2017-08-24Refactor Admin::ProjectsFinder by extracting finders as private methodsMehdi Lahmam
2017-08-11Pending delete projects no longer return 500 error in Admins projects viewTiago Botelho
2017-08-03Add workaround for UPDATE with subquery when using MySQLToon Claes
When trying to run an UPDATE, this query is ran: ```sql UPDATE `todos` INNER JOIN `projects` ON `projects`.`id` = `todos`.`project_id` SET `todos`.`state` = 'done' WHERE `todos`.`user_id` = 4 AND (`todos`.`state` IN ('pending')) AND (EXISTS (SELECT 1 FROM `project_authorizations` WHERE `project_authorizations`.`user_id` = 4 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10, 20)) AND `projects`.`id` IN (SELECT `todos`.`project_id` FROM `todos` WHERE `todos`.`user_id` = 4 AND (`todos`.`state` IN ('pending'))) AND (`todos`.`state` != 'done') ``` But MySQL does not like the subquery used to filter on `projects.id IN (SELECT ...` Because the subquery queries from the same table: > Error: You can’t specify target table ‘todos’ for update in FROM clause So as workaround, wrap it in another subquery, where the original subquery is aliased using the `AS` statement. Mostly inspired by https://stackoverflow.com/a/43610081/89376
2017-07-28Merge issuable "reopened" state into "opened"Yorick Peterse
Having two states that essentially mean the same thing is very much like having a boolean "true" and boolean "mostly-true": it's rather silly. This commit merges the "reopened" state into the "opened" state while taking care of system notes still showing messages along the lines of "Alice reopened this issue". A big benefit from having only two states (opened and closed) is that indexing and querying becomes simpler and more performant. For example, to get all the opened queries we no longer have to query both states: SELECT * FROM issues WHERE project_id = 2 AND state IN ('opened', 'reopened'); Instead we can query a single state directly, which can be much faster: SELECT * FROM issues WHERE project_id = 2 AND state = 'opened'; Further, only having two states makes indexing easier as we will only ever filter (and thus scan an index) using a single value. Partial indexes could help but aren't supported on MySQL, complicating the development process and not being helpful for MySQL.
2017-07-28Add top-level /merge_requests API endpointToon Claes
And add support for additional query parameters: - `author_id`: Returns merge requests created by the given user `id` - `assignee_id`: Returns merge requests assigned to the given user `id` - `scope`: Return merge requests for the given scope: `created-by-me`, `assigned-to-me` or `all`
2017-07-24Add author_id & assignee_id param to /issues APIToon Claes
Allow issues filtering on `author_id` and `assignee_id`.
2017-07-24Decrease ABC threshold to 56.96Maxim Rydkin
2017-07-19Clear issuable counter caches on updateSean McGivern
When an issuable's state changes, or one is created, we should clear the cache counts for a user's assigned issuables, and also the project-wide caches for this user type.
2017-07-19Fix issuable state cachingSean McGivern
We were including controller params in the cache key, so the key for the header didn't match the one for the list itself!
2017-07-19Fix issuable state counter cache keysSean McGivern
These cache a hash of counts by state, so the state isn't needed in the key itself.
2017-07-08fix milestones finder failing specFelipe Artur
2017-07-07Merge branch 'feature/user-datetime-search-api-mysql' into 'master'Douwe Maan
Add creation time filters to user search API for admins Closes #29507 See merge request !12682
2017-07-07move CreatedAtFilter to concerns folderJames Lopez
2017-07-07refactor created at filter to use model scopesJames Lopez
2017-07-07Native group milestonesFelipe Artur
2017-07-07refactor filtersJames Lopez
2017-07-07add created at filter logic to users finder and APIJames Lopez
2017-07-06Add user projects APIvanadium23
2017-07-04Merge branch '34141-allow-unauthenticated-access-to-the-users-api' into 'master'Rémy Coutable
Allow unauthenticated access to the `/api/v4/users` API Closes #34141 See merge request !12445
2017-06-30Hide archived project labels from group issue trackerHoracio Bertorello
2017-06-30Fix typo in IssuesFinder commentSean McGivern
[ci skip]
2017-06-30Merge remote-tracking branch 'origin/master' into ↵Timothy Andrew
34141-allow-unauthenticated-access-to-the-users-api - Modify policy code to work with the `DeclarativePolicy` refactor in 37c401433b76170f0150d70865f1f4584db01fa8.
2017-06-30Implement review comments for !12445 from @godfat and @rymai.Timothy Andrew
- Use `GlobalPolicy` to authorize the users that a non-authenticated user can fetch from `/api/v4/users`. We allow access if the `Gitlab::VisibilityLevel::PUBLIC` visibility level is not restricted. - Further, as before, `/api/v4/users` is only accessible to unauthenticated users if the `username` parameter is passed. - Turn off `authenticate!` for the `/api/v4/users` endpoint by matching on the actual route + method, rather than the description. - Change the type of `current_user` check in `UsersFinder` to be more compatible with EE.
2017-06-30Clarify counter caching for users without project accessSean McGivern
2017-06-30Make finders responsible for counter cache keysSean McGivern
2017-06-30Don't count any confidential issues for non-project-membersSean McGivern
2017-06-30Cache total issue / MR counts for project by user typeSean McGivern
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-30Only do complicated confidentiality checks when necessarySean McGivern
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.