UI: Add "New X" buttons to dashboard and group issue, MR and milestone indexes
# To do
- [x] Use searchable dropdown since dashboard/group can have a lot of projects. Use select2?
## Before

## After

As you can see, for milestones, groups are listed as well as we can now easily create group milestones.
Fixes#3544 and https://dev.gitlab.org/gitlab/gitlabhq/issues/2581
See merge request !1968
Added 3 rake tasks for repository maintainance
## What does this MR do?
This MR adds 3 rake tasks
- gitlab:git:repack
- `-a`
- `--quiet`
- gitlab:git:gc
- `--auto`
- `--quiet`
- gitlab:git:prune
- Needs git version > 1.8.4.1, Ubuntu repos @ 1.9.x
## Are there points in the code the reviewer needs to double check?
AFAIK this MR abides by the Guidelines for shell commands. Also, the output given is not the diskspace saved etc, just if the commands were succesfull. (Parsing output etc did not seem like the way to go)
Output might be verbose when a lot of repo's are in the system?
## Why was this MR needed?
`git gc` and `git prune` can reduce storage space used.
## What are the relevant issue numbers / Feature requests?
Closes#1529
## Screenshots (if relevant)
`rake -T`

(git fsck now removed as IMHO it doesn't add any value.)
See merge request !1388
Fix signin with OmniAuth providers
OmniAuth CSRF protection was broken with the move to Rails 4.2 since
the CSRF logic in Rails changed.
This new implementation calls out to Rails instead of copying its code,
which is far easier to maintain.
See merge request !2019
Add explicit reference to rouge 1.10.1
We are relying on rouge 1.10.1 but nothing is referencing to this version and it is easy to lose this dependence. Previously, it was updated directly in Gemfile.lock which is not reliable way :)
https://gitlab.com/gitlab-org/gitlab-ce/commit/e20529cec4f6de0c2c1589da99abb8714ea1c1c1
`gollum-lib` has a dependence `rouge 1.9` which is old for us.
See merge request !1937
Fix random failing test - delete attachment
Make sure we wait for AJAX request to finish before end test and cleanup
database
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
cc @rspeicher @DouweM
Fixes#3885
See merge request !2007
Fix random failing test
Make sure we wait till page reloads after request was merged. Otherwise
we get request running which fails next test
Improvement for !1897
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
See merge request !2004
Fix#3758: Serious performance issues due to timeago()
being called n*(n+1)/2 times instead of n
See bug #3758 for a description. This merge request alters
`time_ago_with_tooltip` to invoke the `timeago()` javascript on the
current timestamp only, instead of each one defined on the page so far.
See merge request !1977
Dont use cached collection for Repository find_branch and find_tag methods
Fix for #3816
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
See merge request !2003
Make sure we wait till page reloads after request was merged. Otherwise
we get request running which fails next test
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Filter current user to top of assignee list in issues/merge requests
### What does this MR do?
Fixes#2076
Filter the current user to the top of the assignee list in issues and merge requests. This makes it fast/easy for a user to assign themselves without compromising the UI. This is the same thing we do in the filter select boxes in other places.
### Are there points in the code the reviewer needs to double check?
No.
### Why was this MR needed?
Users requested the feature in #2076
See merge request !1493
Fix API setting of 'public' attribute to false will make a project private
There is a bug in the projects API where setting `public` to `false` of would not change `visibility_level` even if `visiblity_level` were not present.
Closes#3864
See merge request !1996
Update Docker Syntax
I think this documentation is using an out-of-date docker client. I guess that `-n` means `--name` (there is no `-n` in up-to-date docker) and `-l` means `--link` (`-l` is short for `--label` now).
See merge request !2001