Commit Graph
6086 Commits
Author SHA1 Message Date
Robert Speicher cef021917f Merge branch 'fix_saml_signin' into 'master'
Fix subsequent SAML sign ins

Fixes a bug when `auto_link_ldap_user` is `true` that causes SAML users to be unable to sign in a second time.

Fix the problem for https://gitlab.zendesk.com/agent/tickets/22546

See merge request !4718
2016-06-22 22:12:09 +00:00
Robert Speicher 69479d3615 Merge branch 'fix-external-issue-links' into 'master'
Handle external issues in IssueReferenceFilter

Handling of external issues was broken when I refactored
`IssueReferenceFilter` to use fewer SQL queries.

Fixes #18827

See merge request !4789
2016-06-22 21:40:17 +00:00
Drew Blessing 938f2b9979 Fix subsequent SAML sign ins 2016-06-22 16:10:55 -05:00
Douwe Maan 4dcf107b26 Merge branch '18871-check-improve-how-we-display-access-requesters-in-admin-area' into 'master'
Display group/project access requesters separately in admin

## What does this MR do?

It displays the access requesters in a separate list in group & project members pages.

It also harmonize the members counter UI to use `%span.badge` everywhere (in the admin & non-admin members views).

## Are there points in the code the reviewer needs to double check?

No.

## Why was this MR needed?

To not confuse access requesters with actual members.

## What are the relevant issue numbers?

Closes #18871.

## Screenshots

### Group members

| Before | After |
| --------- | ---- |
| ![group-members-before](/uploads/2f15137e073fd3a63bc2cb7b2217cb6c/group-members-before.png) | ![group-members-after](/uploads/5b643974505cfa57783fa0320d3bf8b2/group-members-after.png) |

### Project members

| Before | After |
| --------- | ---- |
| ![project-members-before](/uploads/9c48dcd3736e42de84061b1201ee0b06/project-members-before.png) | ![project-members-after](/uploads/8e04c92ef0bba3de7e2405618632b27d/project-members-after.png) |

### Admin group members

| Before | After |
| --------- | ---- |
| ![admin-group-members-before](/uploads/7fda8c2c94b697bea6655ba892ba45e7/admin-group-members-before.png) | ![admin-group-members-after](/uploads/ea25717001794f75939c679b80308c3a/admin-group-members-after.png) |

### Admin project members

| Before | After |
| --------- | ---- |
| ![admin-project-members-before](/uploads/ba9d3ec52adbda6bb3d45ad9ac5243d3/admin-project-members-before.png) | ![admin-project-members-after](/uploads/3b889a029a9756e9ed2781b45c4dd9cb/admin-project-members-after.png) |

## Does this MR meet the acceptance criteria?

- [x] No CHANGELOG since this is related to the original "request access" MR.
- [ ] 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 !4798
2016-06-22 01:17:08 +00:00
Douwe Maan c11006ac6c Merge branch '18755-fix-destroy-project-causes-post_decline_request-to-be-executed' into 'master'
Resolve "Destroying a project causes post_decline_request to be executed"

## What does this MR do?

Ensure we don't send "access request declined" to access requesters when a project is deleted.

## Are there points in the code the reviewer needs to double check?

I've created a service to decouple the notification sending from the AR model.

## Why was this MR needed?

Because there was an issue.

## What are the relevant issue numbers?

Fixes #18755, #18750.

## Does this MR meet the acceptance criteria?

- [x] No CHANGELOG needed.
- [x] Tests
  - [x] Added for this feature/bug
  - [x] 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 !4744
2016-06-22 01:15:29 +00:00
Yorick Peterse ceeba75c76 Handle external issues in IssueReferenceFilter
In the past this class would use Project#get_issue to retrieve an issue
by its ID. This method would automatically determine whether to return
an Issue or ExternalIssue.

This commit changes IssueReferenceFilter to handle external issues again
and in a somewhat more explicit manner than before.

Fixes gitlab-org/gitlab-ce#18827
2016-06-21 20:01:56 +02:00
Yorick Peterse 15a87f3129 Merge branch '18590-banzai-filter-relativelinkfilter-is-slow' into 'master'
Optimize Banzai::Filter::RelativeLinkFilter

See merge request !4813
2016-06-21 15:28:59 +00:00
Jacob Schatz 3a74ab2918 Merge branch 'blank-state' into 'master'
Updated blank state for environments and deployments

## What does this MR do?

Adds a designed blank state to environments and deployments.

@markpundsack do we want to hide the new environments when empty? Looks weird otherwise with the green button at the top.

## What are the relevant issue numbers?

Closes #18661 

## Screenshots (if relevant)

![Screen_Shot_2016-06-21_at_09.55.03](/uploads/cf768aba3fd85a596d24b7be4fe6a6c0/Screen_Shot_2016-06-21_at_09.55.03.png)

![Screen_Shot_2016-06-21_at_09.55.10](/uploads/b7b7dba90b613cfa867b084661b36b06/Screen_Shot_2016-06-21_at_09.55.10.png)

See merge request !4818
2016-06-21 15:27:58 +00:00
Alejandro Rodríguez ca696175db Optimize Banzai::Filter::RelativeLinkFilter
A lot of git operations were being repeated, for example, to build a url
    you would ask if the path was a Tree, which would call a recursive routine
    in Gitlab::Git::Tree#where, then ask if the path was a Blob, which would
    call a recursive routine at Gitlab::Git::Blob#find, making reference to
    the same git objects several times. Now we call Rugged::Tree#path, which
    allows us to determine the type of the path in one pass.

    Some other minor improvement added, like saving commonly used references
    instead of calculating them each time.
2016-06-21 10:53:16 -04:00
Rémy Coutable f411f83dbb Merge branch 'fix/builds-api-nil-commit' into 'master'
Fix builds API response that did not include commit data

## What does this MR do?

This is fix for problem with builds API response not including information about commit this build is created for.

## What are the relevant issue numbers?

Closes #18476 

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [x] API support added
- Tests
  - [x] Added for this feature/bug
  - [x] 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 !4827
2016-06-21 13:40:17 +00:00
Rémy Coutable 408110f824 Merge branch 'show-image-id-on-registry-page' into 'master'
Show proper image ID on registry page

## What does this MR do?
Display the container registry image ID (from the config blob) instead of the first image layer ID

## Are there points in the code the reviewer needs to double check?

## Why was this MR needed?
To show proper image ID on container_registry page.
This only supports manifest V2, since the manifest V1 doesn't expose information about Image ID.

## What are the relevant issue numbers?
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/18159.

## Screenshots (if relevant)
![Screen_Shot_2016-06-21_at_13.16.44](/uploads/db0d3ed8c8b90fafc8dbf1644c2354b0/Screen_Shot_2016-06-21_at_13.16.44.png)

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
  - [x] 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)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !4821
2016-06-21 13:17:11 +00:00
Rémy Coutable ed519c161b Merge branch 'ci-lfs-fetch' into 'master'
Allow to fetch LFS from CI

## What does this MR do?

This adds support for fetching LFS object from CI jobs (mostly it's made for supporting GitLab CI).

## What is left?

- [x] Write tests covering a new authorization mechanism

cc @grzesiek @marin

See merge request !4465
2016-06-21 13:05:35 +00:00
Grzegorz Bizon dd08202a24 Fix builds API response not including commit data 2016-06-21 14:26:57 +02:00
Yorick Peterse 0468deafbd Merge branch '18792-cache-participants-call' into 'master'
Cache Participable#participants in instance variable

See merge request !4803
2016-06-21 11:25:44 +00:00
Kamil Trzcinski 70606bf0c1 Show proper image ID on registry page 2016-06-21 13:08:10 +02:00
Jacob Schatz 0d287b06a6 Merge branch '17521-gitlab-ci-yml-templates' into 'master'
GitLab CI Yaml template dropdown

## What does this MR do?
Make it possible to select a dropdown for an easy start with GitLab CI.

## What are the relevant issue numbers?
Closes #17521

## TODO
- [ ] Backend
  - [x] CHANGELOG item
  - [x] Fix rubocop failure
  - [x] API Support
  - [x] New tests
  - [x] Add disclaimer to the top of the gitlab-ci.yml
- [ ] Frontend
  - [x] New tests

See merge request !4411
2016-06-21 10:56:41 +00:00
Paco Guzman bfce7349ea Cache Participable#participants in instance variable 2016-06-21 12:54:12 +02:00
Phil Hughes c207b9e051 Tests update 2016-06-21 11:52:51 +01:00
Phil Hughes 85a5e42576 Moved new environment link to below blank state text 2016-06-21 11:12:28 +01:00
Rémy Coutable f90c8c624d Merge branch 'feature/runner-lock-on-project' into 'master'
Make it possible to lock runner on a specific project

Make it possible to lock runner on a specific project.

![Screen_Shot_2016-06-20_at_4.03.08_PM](/uploads/186378643a20106ff0b67b6fd8bd7f28/Screen_Shot_2016-06-20_at_4.03.08_PM.png)

----

![Screen_Shot_2016-06-20_at_9.54.52_PM](/uploads/c479abdffaf19f383bb6b5a42bdd6cc3/Screen_Shot_2016-06-20_at_9.54.52_PM.png)

----

![Screen_Shot_2016-06-20_at_9.56.26_PM](/uploads/6ad838679b0c28a1fe2e20e9224387ea/Screen_Shot_2016-06-20_at_9.56.26_PM.png)

Closes #3407

See merge request !4093
2016-06-21 10:08:42 +00:00
Kamil Trzcinski 6bc22d95b8 Add test coverage to LFS fetching 2016-06-21 11:26:44 +02:00
Kamil Trzcinski 2f545a15c0 Merge remote-tracking branch 'origin/master' into ci-lfs-fetch 2016-06-21 10:11:14 +02:00
Alfredo Sumaran a18df1d15a Add feature test for gitab CI dropdown 2016-06-20 14:48:28 -05:00
Z.J. van de WegandAlfredo Sumaran 483dc62eaa Incorporate review 2016-06-20 14:48:28 -05:00
Z.J. van de WegandAlfredo Sumaran 620d014aef Implement backend gitlab ci dropdown
This commit builds on the groundwork in
ee008e300b1ec0abcc90e6a30816ec0754cea0dd, which refactored the backend
so the same code could be used for new dropdowns. In this commit its
used for templates for the `.gitlab-ci.yml` files.
2016-06-20 14:48:28 -05:00
ZJ van de WegandAlfredo Sumaran 27bf7ae59e Refactor Gitlab::Gitignores 2016-06-20 14:48:28 -05:00
Paco Guzman 208b18c956 Unify check branch name exist 2016-06-20 21:44:21 +02:00
Jacob Schatz d5bbc86094 Merge branch 'async-refs-dropdown' into 'master'
Refs dropdown is now loaded async

## What does this MR do?

The refs dropdown is loaded async so not to block the page.

## What are the relevant issue numbers?

Part of #18202

## Screenshots (if relevant)

![Screen_Shot_2016-06-07_at_14.41.21](/uploads/8fea12655f96fe7f7008a32677bff037/Screen_Shot_2016-06-07_at_14.41.21.png)

See merge request !4508
2016-06-20 19:10:47 +00:00
Stan Hu 0e987ee7a2 Merge branch '18757-fix' into 'master'
Fallback to group's owners/masters when a project has none for the "access requested email"

## What does this MR do?

From b31c5052f9:

    Fallback to group's owners/masters when a project has none
    
    A project in a group can have no explicit owners/masters,
    in that case we fallbacks to the group's owners/masters.

## Are there points in the code the reviewer needs to double check?

No.

## Why was this MR needed?

Because of #18757.

## What are the relevant issue numbers?

Fixes #18757.

## Does this MR meet the acceptance criteria?

- [x] No need for CHANGELOG.
- [x] No need for documentation.
- [x] No API support added.
- [x] Tests
  - [x] Added for this feature/bug
  - [x] 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 !4791
2016-06-20 17:46:40 +00:00
Jacob Schatz a0aaa6a0b8 Merge branch 'markdowner' into 'master'
POC: Markdown shortcut buttons

## What does this MR do?
Adds markdown shortcut buttons to text area for comments. 

## Are there points in the code the reviewer needs to double check?
Because changing `textarea.val('something')` kills the natural browser undo stack, I had to implement a custom undo stack using state. You can't use the "undoable" state undo pattern because you need to go back to a previous state regardless of cursor position. The undo also adds an undo history item once you delete stuff or press enter.

You can also edit multiple textareas at once and it will keep an undo history for each textarea individually, so the undo state should not collide between textareas.

## Why was this MR needed?
It has been requested multiple times and the competition has it. https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

Libraries are available that already implement this functionality but they are enormous and bloaty. I implemented this in very few lines of code and kept it very simple and as minimal as possible. This was also some competitions approach. I believe so as to not include too much JS. 

Adding extra buttons with new functionality **should only need new HTML and no new JS**.

Only extra complex thing was adding a overridden undo stack, which was made as simple as possible as well.

## What are the relevant issue numbers?
https://gitlab.com/gitlab-org/gitlab-ce/issues/17185#note_12073433

## Screenshots (if relevant)

**NOTE:** One thing you cannot see in this screenshot is that I am pressing <kbd>Cmd</kbd><kbd>Z</kbd> to undo and <kbd>Cmd</kbd><kbd>Shift</kbd><kbd>Z</kbd> to redo which is the undo/redo stack I implemented. <kbd>Ctrl</kbd><kbd>Y</kbd> also works for redo. 
![markdown-editor](/uploads/2517bfb1a7b4269da7fcc4003c88b7f6/markdown-editor.gif)

cc @dzaporozhets for UI

cc @iamphill @alfredo1 for JS review

cc @JobV if you like the idea.

Fixes: #17185

See merge request !4305
2016-06-20 17:18:13 +00:00
Rémy Coutable 00ac7ae84a Fix specs
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-20 16:40:35 +02:00
Lin Jen-Shin aeb24ee872 Merge remote-tracking branch 'upstream/master' into feature/runner-lock-on-project
* upstream/master: (353 commits)
  Put some admin settings in dropdown
  Add styleguide on configuration settings documentation
  Remove Duplicated keys add UNIQUE index to fingerprint
  Avoid autoload issue such as 'Mail::Parsers::AddressStruct'
  Move appearance settings as sub tab to application settings
  use rails root join
  fixed a couple of errors spotted in production
  Fix RangeError exceptions when referring to issues or merge requests outside of max database values
  Fix bug in `WikiLinkFilter`.
  Grammar and typographic changes to artifacts documentation
  Tweak grammar
  Small frontend code fixes and restore 8a2d88f commit
  Warn about admin privilege to disable GitHub Webhooks
  Listing GH Webhooks doesn't stop import process for non GH admin users
  fixup! updated docs for api endpoint award emoji
  Update CHANGELOG
  Ensure Todos counters doesn't count Todos for projects pending delete
  Add endpoints for award emoji on notes
  Sort API endpoints and implement feedback
  Add endpoints for Award Emoji
  ...
2016-06-20 14:04:14 +00:00
Paco Guzman ca01c4c648 Remove Duplicated keys add UNIQUE index to fingerprint 2016-06-20 13:29:04 +02:00
Phil Hughes f112e2a1da Fixed issue with returning ref in commits JSON
Added tests to project controller
2016-06-20 11:37:27 +01:00
Rémy Coutable 909a0ff3ac Fix and remove duplicate specs
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-20 12:36:59 +02:00
Rémy Coutable b31c5052f9 Fallback to group's owners/masters when a project has none
A project in a group can have no explicit owners/masters,
in that case we fallbacks to the group's owners/masters.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-20 12:10:37 +02:00
Lin Jen-Shin 4efc1c4a68 Rename according to:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4093#note_12563922

For clarification and consistency
2016-06-20 16:52:05 +08:00
Phil Hughes b543a96e1c Added text_utility to JS tests 2016-06-20 08:54:57 +01:00
Phil Hughes 68c9981013 Correctly adds commit ID into dropdown
Removes un-used method
Fixes other Ruby issues
2016-06-18 21:49:20 +01:00
Phil Hughes d2362e2edf Tests fix for ref switcher 2016-06-18 21:49:20 +01:00
Robert Speicher 98cede7ebe Merge branch 'fix-out-of-bounds-markdown-refs' into 'master'
Fix RangeError exceptions when referring to issues or merge requests outside of max database values

When using #XYZ in Markdown text, if XYZ exceeds the maximum value of a signed 32-bit integer, we get an exception when the Markdown render attempts to run `where(iids: XYZ)`. Introduce a method that will throw out out-of-bounds values.
    
Closes #18777

See merge request !4777
2016-06-18 20:48:58 +00:00
Stan Hu 7c9eba8919 Fix RangeError exceptions when referring to issues or merge requests outside of max database values
When using #XYZ in Markdown text, if XYZ exceeds the maximum value of a signed 32-bit integer, we
get an exception when the Markdown render attempts to run `where(iids: XYZ)`. Introduce a method
that will throw out out-of-bounds values.

Closes #18777
2016-06-18 13:07:38 -07:00
Jacob Schatz 204da39685 Merge branch '18714_bulk_assign_labels_icon' into 'master'
Fixes item icon state when for issues that have the same labels assigned

## What does this MR do?
Previously if all issues had the same labels the dropdown was showing the labels with indeterminate stated which is wrong. This MR fixes that and shows the correct state.

## What are the relevant issue numbers?
Fixes #18714

## Screenshots (if relevant)

**Before**

![label-before](/uploads/c65aa051e773dfea898a0d19767d6ade/label-before.gif)

**After**

![label](/uploads/73fd657d104d1081e189e0a9547d483b/label.gif)

## 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)
- [x] 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 !4721
2016-06-18 16:29:43 +00:00
Timothy Andrew 6d169d36ca Fix bug in WikiLinkFilter.
1. An exception would be raised if the filter was called with an invalid
   URI. Mainly because we weren't catching the `Addressable` exception.

2. This commit fixes it and adds a spec for the filter.
2016-06-18 14:10:40 +05:30
Rémy Coutable bf05ca88ee Add 'Leave Group' link
The link was removed in !3798, probably by mistake.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 06:06:35 +02:00
Rémy Coutable bceee98713 Show 'Leave project' only if member can actually leave the project
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 06:06:34 +02:00
Rémy Coutable 654565c9dc Raise a new Gitlab::Access::AccessDeniedError when permission is not enough to destroy a member
This is a try for a new approach to put the access checks at the service level.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 06:06:34 +02:00
Rémy Coutable a08a26ac81 Don't send the "access declined" email on access request withdrawal
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 05:46:45 +02:00
Rémy Coutable 724f986fb2 Redirect to the member's source on request withdrawal
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 05:46:45 +02:00
Rémy Coutable 4652489f40 New Members::DestroyService
This is to ensure we don't send unwanted notifications when deleting a
project. In other words, stop abusing AR callbacks and use services.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-18 05:46:45 +02:00