summaryrefslogtreecommitdiff
path: root/app/controllers/dashboard
Commit message (Collapse)AuthorAgeFilesLines
* Resolve "Display member role per project"Mike Greiling2017-12-071-4/+7
|
* Fix access to the final page of todosSean McGivern2017-11-091-1/+1
| | | | | | | | | The todos page limit is 20, and both that and a user's pending todo count are integers. Using integer division means that the result's floor will be taken, defeating the point of the later call to `#ceil`. So we need to convert one side of the division to a float first, otherwise the last page won't be treated as available.
* Resolve "DashboardController#activity.json is slow due to SQL"Francisco Javier López2017-11-061-0/+2
|
* Merge branch 'master' into bvl-group-treesBob Van Landuyt2017-10-101-4/+26
|\
| * Fixed default group sort optiongroup-sort-dropdown-blankPhil Hughes2017-10-061-1/+1
| | | | | | | | Closes #38808
| * Save a query on the todos index pagesave-a-query-on-todos-with-no-filtersSean McGivern2017-10-041-4/+26
| | | | | | | | | | | | When there are no filters, we can get the total todos count from the cached count on the user object, instead of performing a DB query. This query takes about 80ms for me on GitLab.com.
* | Reuse the groups tree for explore and dashboard.Bob Van Landuyt2017-10-041-16/+4
| |
* | Use the default sort set by the `Sortable` concernBob Van Landuyt2017-10-041-3/+1
| |
* | Only show root groups on the dashboardBob Van Landuyt2017-10-041-13/+3
| | | | | | | | The children are lazy-loaded when expanding
* | Use same response-body in groups-dashboard as we do for group-homeBob Van Landuyt2017-10-041-5/+4
|/
* Eager load namespace owners for project dashboardsdashboards-projects-controllerYorick Peterse2017-09-111-1/+1
| | | | | This solves an N+1 query problem where we'd run multiple queries when getting the namespace owners of the displayed projects.
* Removes default scope from sortable23079-remove-default-scope-in-sortableTiago Botelho2017-09-071-1/+3
|
* Use a specialized class for querying eventsYorick Peterse2017-08-101-3/+5
| | | | | | | | | | | | | | | This changes various controllers to use the new EventCollection class for retrieving events. This class uses a JOIN LATERAL query on PostgreSQL to retrieve queries in a more efficient way, while falling back to a simpler / less efficient query for MySQL. The EventCollection class also includes a limit on the number of events to display to prevent malicious users from cycling through all events, as doing so could put a lot of pressure on the database. JOIN LATERAL is only supported on PostgreSQL starting with version 9.3.0 and as such this optimisation is only used when using PostgreSQL 9.3 or newer.
* Eager load project creators for project dashboardsdashboard-projects-controller-query-performanceYorick Peterse2017-08-071-2/+4
| | | | | This solves an N+1 query problem where for every project we'd query the creator separately just to figure out what avatar to display.
* Avoid plucking Todo ids and use sub-queries insteadToon Claes2017-08-031-2/+2
| | | | | | | | TodoService should not call `.select(&:id)` on todos, because this is bad performance. So instead use sub-queries, which will result in a single SQL query to the database. https://docs.gitlab.com/ee/development/sql.html#plucking-ids
* Merge branch '33303-404-for-unauthorized-project' into 'security-9-3'Sean McGivern2017-07-191-0/+10
| | | | | [9.3 security fix] Renders 404 if given project is not readable by the user on Todos dashboard See merge request !2118
* Fix dashboard labels dropdownNick Thomas2017-07-071-2/+7
|
* Enable Style/DotPosition Rubocop :cop:Grzegorz Bizon2017-06-211-4/+4
|
* Merge branch 'fix/33584-atom-layout' into 'master'Rémy Coutable2017-06-131-1/+1
|\ | | | | | | | | Refactor atom builder by using a layout See merge request !12114
| * Refactor atom builder by using xml.atom layoutTieu-Philippe KHIM2017-06-121-1/+1
| |
* | Test todos_count_format helper at the correct level to improve speedrs-simplify-todo-count-specRobert Speicher2017-06-091-5/+0
|/ | | | | Instead of an integration test that creates 101 Todo records to test a simple view helper, just unit test the helper.
* Merge branch 'dashboard-milestone-tabs-loading-async' into 'master'Sean McGivern2017-06-091-1/+3
|\ | | | | | | | | | | | | Fixed dashboard milestone tabs not loading Closes #33477 See merge request !12023
| * Fixed dashboard milestone tabs not loadingdashboard-milestone-tabs-loading-asyncPhil Hughes2017-06-091-1/+3
| | | | | | | | Closes #33477
* | Use group and project finders instead of direct ActiveRecord relationsDouwe Maan2017-06-071-10/+11
| |
* | Merge branch 'master' into 25426-group-dashboard-uiAlfredo Sumaran2017-06-071-2/+6
|\ \ | |/
| * Add a rubocop rule to check if a method 'redirect_to' is used without ↵31840-add-a-rubocop-that-forbids-redirect_to-inside-a-controller-destroy-action-without-an-explicit-statusblackst0ne2017-06-071-2/+6
| | | | | | | | explicitly set 'status' in 'destroy' actions of controllers
* | Merge remote-tracking branch 'origin/master' into 25426-group-dashboard-uiDmitriy Zaporozhets2017-06-023-7/+5
|\ \ | |/ | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * Consistently display last push event widgetDouwe Maan2017-05-251-2/+1
| |
| * Merge branch 'snippets-finder-visibility' into 'security'Douwe Maan2017-05-101-4/+3
| | | | | | | | | | | | Refactor snippets finder & dont return internal snippets for external users See merge request !2094
| * Colorize labels in issue search fieldWinnie Hellmann2017-05-051-1/+1
| |
* | Serialize groups as json for Dashboard::GroupsControllerDmitriy Zaporozhets2017-05-041-7/+20
|/ | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Revert "Merge branch 'tc-no-todo-service-select' into 'master'"revert-c3c465acStan Hu2017-04-291-2/+2
| | | This reverts merge request !10845
* Avoid plucking Todo ids and use sub-queries insteadtc-no-todo-service-selectToon Claes2017-04-271-2/+2
| | | | | | | | TodoService should not call `.select(&:id)` on todos, because this is bad performance. So instead use sub-queries, which will result in a single SQL query to the database. https://docs.gitlab.com/ee/development/sql.html#plucking-ids
* Merge branch '28810-projectfinder-should-handle-more-options' into 'master' Rémy Coutable2017-04-061-12/+15
|\ | | | | | | | | | | | | ProjectsFinder should handle more options Closes #28810 See merge request !9682
| * ProjectsFinder should handle more optionsJacopo2017-04-061-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extended ProjectFinder in order to handle the following options: - current_user - which user use - project_ids_relation: int[] - project ids to use - params: - trending: boolean - non_public: boolean - starred: boolean - sort: string - visibility_level: int - tags: string[] - personal: boolean - search: string - non_archived: boolean GroupProjectsFinder now inherits from ProjectsFinder. Changed the code in order to use the new available options.
* | Merge branch 'open-redirect-host-fix' into 'security' Sean McGivern2017-04-051-1/+1
|/ | | | | Fix for three open redirect vulns using redirect_to url_for(params.merge))) See merge request !2082
* Revert "Merge branch '29534-todos-performance' into 'master'"Sean McGivern2017-03-211-1/+1
| | | This reverts merge request !10076
* Todos performance: Include associations in FinderJarka Kadlecova2017-03-201-1/+1
|
* Merge branch '27376-cache-default-branch-pipeline-on-project' into 'master' Yorick Peterse2017-03-161-1/+1
|\ | | | | | | | | Speed up several project lists See merge request !9903
| * Eager load route for project & namespaceBob Van Landuyt2017-03-161-1/+1
| |
* | Add 'Undo mark all as done' to TodosJacopo2017-03-161-2/+8
|/ | | | | | Added the ability to 'Undo mark all as done' todos marked as complete with 'Mark all as done' in the 'Todo' tab of the Todo dashboard. The operation undos only the todo previously marked as done with the 'Mark al as done' button.
* Add count badges to both dashboard and group milestonesadam-count-badges-group-dashboard-milestonesAlex Braha Stoll2017-03-101-0/+1
|
* Add filter and sorting to dashboard groups pageDmitriy Zaporozhets2017-03-011-1/+13
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* fixes delimiter removes when todo marked as doneNur Rony2017-02-221-2/+4
|
* change todos counter position & format ( for large counts )mhasbini2017-02-211-0/+5
|
* Todo done clicking is kind of unusable.Jacopo2017-02-171-0/+6
| | | | | | The Done button will change to an Undo button and the line item will be greyed out. Bold links will be unbolded. The user can undo the task by clicking the Undo button.
* Use preload for Event#target since it's a polymorphic association27395-reduce-group-activity-sql-queriesRémy Coutable2017-02-131-12/+11
| | | | | | Also, don't use limit in subquery, MySQL don't like that. Signed-off-by: Rémy Coutable <remy@rymai.me>
* Store group and project full name and full path in routes tabledz-refactor-full-pathDmitriy Zaporozhets2017-02-081-1/+1
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Remove unnecessary queries for .atom and .json in ↵Oswaldo Ferreira2017-02-031-3/+1
| | | | Dashboard::ProjectsController#index
* Speed up dashboard milestone index by scoping IssuesFinder to user ↵speed-up-dashboard-milestone-indexAdam Niedzielski2017-01-161-2/+2
| | | | | | | | | | | authorized projects It improves performance in dashboard milestone index page by passing a hint to "IssuesFinder". "IssuesFinder" generates a more performant query when it is limited to authorized projects for user. In the dashboard we already limit the projects to these authorized for user (see "Dashboard::ApplicationController#projects"), so we can safely pass this option to "IssuesFinder".