Fix displaying of project settings links the user cannot access.
## What does this MR do?
It fixes the Project Settings dropdown displaying project settings links that the user cannot actually access.
## Are there points in the code the reviewer needs to double check?
I've tested combinations I can think of, feel free to mess around with and see if it breaks?
## Why was this MR needed?
Users were seeing links in the Project Settings dropdown that they shouldn't have seen, if they clicked them they would be shown permission errors.
## What are the relevant issue numbers?
#18294
## Screenshots (if relevant)
Users without any permissions:

Guest members of the project:

Full permissions:

cc: @dzaporozhets @annabeldunstone @jschatz1
See merge request !4599
+ Move 'Edit Project/Group' out of membership-related partial
+ Show the access request buttons only to logged-in users
+ Put the request access buttons out of in a more visible button
+ Improve the copy in the #remove_member_message helper
Signed-off-by: Rémy Coutable <remy@rymai.me>
Allow users to create confidential issues in private projects
Closes#14787
## What does this MR do?
Allow users to create confidential issues in private projects, and exclude access to them to project members with `Guest` role.
## Are there points in the code the reviewer needs to double check?
The query generated by the `User#authorized_projects` method.
## Why was this MR needed?
Community have been requesting this feature.
## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/14787https://gitlab.com/gitlab-org/gitlab-ce/issues/3678
## Screenshots (if relevant)
Not relevant.
## Todo
- [x] Allow users to create confidential issues in private projects
- [x] Project members with `Guest` role should not have access to confidential issues
- [ ] ~~Apply changes in EE + Elasticsearch~~ Will be done in another MR, when this got merged
See merge request !3471
Bamboo & TeamCity Services: Fix missing credentials & URL handling
_Note: Originally opened at !4367 by @bentolor_
I've also fixed the URL handling for TeamCity which is very similar to Bamboo implementation-wise.
-----
*Note:* This is a port from my [original pull request on GitHub](https://github.com/gitlabhq/gitlabhq/pull/9428)
## What does this MR do?
This improves the Bamboo Service and provides two fixes:
1. One for the situation, where the build trigger won't work because Bamboo is requiring authentication credentials for the trigger GET: 8f25aca307b49ee006172b8c2985a878800aa6b6
2. One which fixes the way how the configured Bamboo base URL is assembled to the final REST URL. fe9eb30d7ebe4a83eefea7e06f8b69b135dad15d
### Regarding credentials
The change now does provide additional HTTP Basic Auth parameters if user credentials were provided and appends an request parameter indicating the HTTP Basic Authentication should be used. This aligns interaction with Bamboo with the other calls this service executes.
### Regarding URL handling
If one had configured a `bamboo_url` like http://foo.bar/bamboo in the previous implementation the plugin directed it's request i.e. to http://foo.bar/rest/... instead of http://foo.bar/bamboo/rest/...
## Are there points in the code the reviewer needs to double check?
The second issues was probably an unwanted side effect of how Ruby's `URI.join` is working. It will only work correctly, if
- ... the prefix URL has at least one or more trailing `/`
- .. the appendix parts are _not_ prefixed with `/`
I need try & figure it out using the rather lacking, official stdlib documentation and playing around in `irb`. As I'm an absolute Ruby novice I'm unable to add/provide new tests.
## Why was this MR needed?
Because Gitlab does not work in our Bamboo-Environment at all: Neither it is able to trigger Bamboo runs nor does the Merge status check work. This MR at least fixes the trigger issues.
## What are the relevant issue numbers?
This MR originates from my [original pull request on GitHub](https://github.com/gitlabhq/gitlabhq/pull/9428).
Sadly the issue, that the merge status is still not working correctly for branches will still not work. But at least the trigger works.
There happened to be very much discussion about the branch status issue in #1355 and #2562 though that one is lost as the author retracted his branch.
See merge request !4408
Add more information into RSS feed for issues
## What does this MR do?
This MR adds issue text, labels , milestone, assignee and due date into issues RSS feed.
## Are there points in the code the reviewer needs to double check?
#14572 requests to add 'weight' among other fields. Seems like issue weight is available
in enterprise edition only so it is not implemented in this MR. Please correct me if I'm wrong.
## Why was this MR needed?
This MR is needed because it extends issues RSS feed with useful information requested in
#14572.
## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/14572
See merge request !4158
If one had configured a `teamcity_url` like http://foo.bar/teamcity in
the previous implementation the plugin directed it's request i.e. to
http://foo.bar/httpAuth/... instead of http://foo.bar/teamcity/httpAuth/...
`URI.join` only works correctly, if the prefix URL has
- at least one or more trailing '/'
- the appended parts are _not_ prefixed with '/'
The current implementation should work with all sorts of TeamCity base
URLs.
Signed-off-by: Rémy Coutable <remy@rymai.me>
If one had configured a `bamboo_url` like http://foo.bar/bamboo in the
previous implementation the plugin directed it's request i.e. to
http://foo.bar/rest/... instead of http://foo.bar/bamboo/rest/...
`URI.join` only works correctly, if the prefix URL has
- at least one or more trailing '/'
- the appended parts are _not_ prefixed with '/'
The current implementation should work with all sorts of Bamboo base URLs.
Signed-off-by: Rémy Coutable <remy@rymai.me>
This improves the Bamboo Service and provides a fix for situations,
where the build trigger won't work, because Bamboo is requiring
authentication also for the trigger GET.
The change now does provide additional HTTP Basic Auth parameters
if user credentials were provided and appends an request parameter
indicating the HTTP Basic Authentication should be used.
This aligns interaction with Bamboo with the other calls this service
executes.
Signed-off-by: Rémy Coutable <remy@rymai.me>
Remove counters from Pipeline navigation
* counters are heavy from UI perspective
* duplicates information from tabs below
* shows 0 for less active projects. Jumps from 0 to N constantly.
I think we should render counters only when necessary and only for filters ( tabs on white bg ). Exception: issues, merge requests in top navigation as status of project popularity and action required from maintainers
cc @grzesiek @ayufan @jschatz1
See merge request !4617
Improve Gitlab::Auth method names
Auth.find was a very generic name for a very specific method.
Auth.find_in_gitlab_or_ldap was inaccurate in GitLab EE where it also
looks in Kerberos.
See merge request !4589
Fixes bulk-assign label for multiple issues not having the same labels
## What does this MR do?
Fixes a bug when bulk-assigning a label to multiple issues while the label is present in on the issues on the selection.
## Screenshots (if relevant)
**Before Bugfix**
<img src="/uploads/ad1f290bcf3930177a3a71c69cbe5325/before-bugfix.gif" width="700"/>
**After Bugfix**
<img src="/uploads/1f04d6bf027806fb13ca3773febda744/bugfix.gif" width="700"/>
## Does this MR meet the acceptance criteria?
- [x] Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
See merge request !4602
Only show branches for revert / cherry-pick
## What does this MR do?
Stop showing tags in the revert and cherry-pick select options. You can't change a tag anyway.
## Are there points in the code the reviewer needs to double check?
Uncertain.
## Why was this MR needed?
Showing tags doesn't make any sense and will just throw an exception if the user tries to cherry-pick or revert onto a tag.
## What are the relevant issue numbers?
Fixes#18377.
## Screenshots (if relevant)
On the GitLab CE repo:

## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- [ ] Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !4596
Resolve ""When this merge request is accepted, this issue will be closed automatically" rendered twice"
## What does this MR do?
1. Only show the above text when there is an MR that will close the issue, and even then, only show it once.
2. Apply 98f147e84d2bd8f2278452ac0852118452c76d4a to a bunch of other places that need it.
## Are there points in the code the reviewer needs to double check?
¯\_(ツ)_/¯
## Why was this MR needed?
Some pages were broken.
## What are the relevant issue numbers?
Fixes#18446.
## Screenshots (if relevant)
Before:

After:

## Does this MR meet the acceptance criteria?
- [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- [ ] Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !4594
Resolve "Hide Left sidebar paradigm"
## What does this MR do?
Hides the nav bar by default & centers the tanuki logo in the top nav
## Why was this MR needed?
UX
## What are the relevant issue numbers?
Closes#18417
## Screenshots (if relevant)


<img src="/uploads/3001a9c723037012f1b86cfacfb1225e/Screen_Shot_2016-06-10_at_12.51.41_PM.png" width="500px">
See merge request !4579