summaryrefslogtreecommitdiff
path: root/spec/controllers
Commit message (Collapse)AuthorAgeFilesLines
* Move to Gitlab::Diff::FileCollectionPaco Guzman2016-08-033-17/+18
| | | Instead calling diff_collection.count use diff_collection.size which is cache on the diff_collection
* Cache highlighted diff lines for merge requestsPaco Guzman2016-08-033-22/+23
| | | | Introducing the concept of SafeDiffs which relates diffs with UI highlighting.
* Remove `url_for_new_issue` helperrs-external-issue-tracker-redirectRobert Speicher2016-08-011-0/+14
| | | | | Now we link to the standard `IssuesController#new` action, and let it redirect if we're using an external tracker.
* Redirect to external issue tracker from `/issues`Robert Speicher2016-08-011-22/+36
| | | | | | | | | | | | | Prior, in order to display the correct link to "Issues" in the project navigation, we were performing a check against the project to see if it used an external issue tracker, and if so, we used that URL. This was inefficient. Now, we simply _always_ link to `namespace_project_issues_path`, and then in the controller we redirect to the external tracker if it's present. This also removes the need for the url_for_issue helper. Bonus! :tada:
* Incorporate feedbackZ.J. van de Weg2016-07-291-8/+16
|
* Add an URL field to EnvironmentsZ.J. van de Weg2016-07-291-0/+50
| | | | | This MR adds a string (thus max 255 chars) field to the enviroments table to expose it later in other features.
* Fix failing CommitController spec17073-tagscontroller-index-is-terrible-response-time-goes-up-to-5-secondsAlejandro Rodríguez2016-07-281-9/+0
|
* Merge branch 'akismet-ui-check' into 'master' Douwe Maan2016-07-271-0/+31
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Submit new issues created via the WebUI or API to Akismet for spam check on public projects. ## What does this MR do? Submit new issues created via the WebUI by non project members to Akismet for spam check. ## Why was this MR needed? Support for Akismet was added only to the API with !2266. This MR builds on that functionality to also check issues submitted via the WebUI for spam. ## What are the relevant issue numbers? Related to: - #5573 - #5932 - gitlab-com/infrastructure#14 - gitlab-com/support#61 - !2266 cc @stanhu @MrChrisW See merge request !5333
| * Submit new issues created via the WebUI by non project members to Akismet ↵Patricio Cano2016-07-261-0/+31
| | | | | | | | for spam check.
* | Allow skipping users in autocompleteallow-skipping-users-in-autocompleteSean McGivern2016-07-271-0/+13
| | | | | | | | | | | | Pass an array of user IDs in the `skip_users` param to have them excluded from the results (unless they are explicitly included through the `current_user` or `author_id` params).
* | Show release notes in tag listSean McGivern2016-07-261-0/+20
|/ | | | | | | | A release's tag reference is just the name of the tag, not the entire tag object. This also fixes the tags index if a tag's message contains non-UTF8 byte sequences.
* Fix failing spec on help controllerAchilleas Pipinellis2016-07-221-1/+1
|
* Merge branch '4142-show-inline-video' into 'master' Rémy Coutable2016-07-211-7/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for inline videos in issue, MR and notes (on issue, commit, MR, and MR diff) ## What does this MR do? It adds support for inline videos in issue, MR and notes (on issue, commit, MR, and MR diff). Most of the work was done by @hayesr in !3508 but a few improvements were still missing. ## Why was this MR needed? To be able to play uploaded videos in GitLab! ## What are the relevant issue numbers? Closes #4142. ## Screenshots ### Video players ![Screen_Shot_2016-07-19_at_18.44.09](/uploads/e85e531b455a41c3e66b26b356abaafd/Screen_Shot_2016-07-19_at_18.44.09.png) ----- ![Screen_Shot_2016-07-19_at_18.44.29](/uploads/05f52a812760210d1eae86a7f8fc48bc/Screen_Shot_2016-07-19_at_18.44.29.png) ----- ## 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) - Tests - [x] Test `VideoLinkFilter` - [x] Test in `spec/features/markdown_spec.rb` - [x] Improve `spec/uploaders/file_uploader_spec.rb` - [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 !5215
| * Get rid of `is_image` in FileUploaderRémy Coutable2016-07-191-7/+5
| | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Fix help page paths to make sure shortcuts and the UI help page work.fix-help-pathsConnor Shea2016-07-191-0/+9
|/ | | | | | Add a test to make sure the help page UI path doesn't break in the future. Fix #19972 and #19889.
* Don't blow up in tree view on empty repoSean McGivern2016-07-181-0/+20
|
* Cache todos pending/done dashboard query countsPaco Guzman2016-07-121-30/+48
|
* Fix failing tests.Connor Shea2016-07-111-8/+5
|
* Support renames in diff_for_path actionsSean McGivern2016-07-113-23/+23
|
* Tidy up spec action namesSean McGivern2016-07-083-14/+14
|
* Collapse large diffs by defaultSean McGivern2016-07-084-319/+523
| | | | | When rendering a list of diff files, skip those where the diff is over 10 KB and provide an endpoint to render individually instead.
* Revert "Revert "Merge branch 'issue_3946' into 'master' ""Robert Speicher2016-07-071-2/+2
| | | | This reverts commit bf2a86b73cce332ff8f4392ffc8df501193f32ec.
* Revert "Merge branch 'issue_3946' into 'master' "Robert Speicher2016-07-071-2/+2
| | | | | This reverts commit 68155ee73b549a4f79744bb325542c29d45c71ea, reversing changes made to 7ebd011ed1de7aee706f07a53c63c90f1c8aa5d4.
* Merge branch 'new-diff-notes' into 'master' Douwe Maan2016-07-071-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New diff notes Fixes #12732, #14731, #19375, #14783 Builds on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4110 To do: - [x] Get it mostly working - [x] Validate position validity - [x] Fix: Don’t link to `#` - [x] Fix: Base ref can be `nil`, potentially, when the MR has an oprhan source branch => Yep, doesn’t work. We need to store a `start_id` - [x] Optimize: Fewer duplicate `git diff` compares - [x] Optimize: Pass paths to `PositionTracer#diff` for faster diffs - [x] Refactor: Use `head_id` in `MergeRequest`/`MergeRequestDiff` instead of `source_sha` - [x] Refactor: Convert existing array-based diff refs to the DiffRefs model - [x] Tweak: Use `note_type` in `Autosave` key - [x] Tweak: Remove `line_code: note.line_code` from `link_to_reply_discussion` - [x] Update: `SentNotifications` and reply-by-email receiver - [x] Update: MR diff notification email - [x] Update: API (MR, Commit note creation and entity) - [x] Update: GitHub importer - [x] Address any other TODO comments - [x] Fix: Suppress "edited 4 minutes ago" - [x] Write tests - [x] `LineMapper` - [x] `PositionTracer` - [x] `Position` - [x] `DiffPositionUpdateService` - [x] `DiffNote` - [x] `MergeRequests::RefreshService` / `MergeRequest#update_diff_notes_positions` - [x] Make sure commits with diff notes don't get cleaned up, since this would prevent the diff notes from being rendered (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5062) Future improvements: - Display unresolved comments on files outside the diff, if the comment was added when that file _was_ part of the diff - Allow commenting on sections between hunks, when expanding the diff using `...` - (We'd need to generate line code based on Position if we have it, even if it falls outside bounds of diff) - `diff_hunk` on diff note API entity - Show diff hunk in notification email - Resolved line notes would have a boolean, and be inactive through `notes.any? { !active? || resolved? }` - Multi line notes would store a number of positions, and do the right thing (™) in grouping and then rendering if the first item is multiline? => true - Image diff notes could store x,y,width,height instead of old_line,new_line for similar grouping. Does it need a reference to say if it's on old or new? These can't have line_codes, clearly. Rendering would be interesting. - Show commit line comments in the MR diff - Comment on specific selected words - Comment on file header - Unfold top of discussion diff note - New diff notes API for commits and MRs /cc @rspeicher See merge request !4101
| * Add send_git_patch helperDouwe Maan2016-07-061-1/+1
| |
| * Rename MergeRequest methods that return commits or shas to be more clear and ↵Douwe Maan2016-07-061-3/+3
| | | | | | | | consistent
* | Layout for Users Groups and Projects on admin areaAlfredo Sumaran2016-07-071-2/+2
|/
* Assert against `ActionMailer::Base.deliveries` relatively.Timothy Andrew2016-07-051-2/+1
| | | | | | | | - Look for a `change` in its size rather than asserting against an actual size. - This previously failed because another spec had an email in `ActionMailer::Base.deliveries`, which failed this `be_nil` assertion.
* Merge branch 'explicit-requesters-scope' into 'master' Douwe Maan2016-07-012-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exclude requesters from Project#members, Group#members and User#members ## What does this MR do? It excludes requesters from the `Project#members`, `Group#members` and `User#members` associations, and adds new `Project#requesters` and `Group#requesters` associations. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? Without this, if you call `project.members`, requesters are included in the results! This is at best misleading, and at worst can lead to security issues. By excluding requesters from the `#members` associations, we avoid introducing security inadvertently since you have to call the `#requesters` association explicitly to get requesters. ## What are the relevant issue numbers? This is something I realized while fixing the security issue #19102. ## Does this MR meet the acceptance criteria? - [x] I don't think this needs a CHANGELOG since this is an internal change - 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 !4946
| * Exclude requesters from Project#members, Group#members and User#membersexplicit-requesters-scopeRémy Coutable2016-07-012-6/+6
| | | | | | | | | | | | And create new Project#requesters, Group#requesters scopes. Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Enable Style/EmptyLines cop, remove redundant onesrubocop/enable-cops-for-empty-linesGrzegorz Bizon2016-07-0110-15/+0
|/
* Import from Github using Personal Access Tokens.Eric K Idema2016-06-301-0/+43
| | | | | | | | | | | | | This stands as an alternative to using OAuth to access a user's Github repositories. This is setup in such a way that it can be used without OAuth configuration. From a UI perspective, the how to import modal has been replaced by a full page, which includes a form for posting a personal access token back to the Import::GithubController. If the user has logged in via GitHub, skip the Personal Access Token and go directly to Github for an access token via OAuth.
* Merge branch 'master' into issue_3359_3issue_3359_3Felipe Artur2016-06-2929-146/+186
|\
| * Merge branch 'zj-workhorse-format-patch' into 'master' Robert Speicher2016-06-291-15/+3
| |\ | | | | | | | | | | | | Workhorse to serve email diffs See merge request !4590
| | * Workhorse to serve email diffsZ.J. van de Weg2016-06-281-15/+3
| | | | | | | | | | | | Depends on the changes in Workhorse (gitlab-org/gitlab-workhorse!48).
| * | Use HTTP matchers if possibleZ.J. van de Weg2016-06-2728-131/+131
| |/
| * Merge branch 'issue_19096' into 'master' Stan Hu2016-06-251-0/+40
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Validate presence of essential params for diff rendering ## What does this MR do? Check the presence of essential params before rendering diff content. ## Are there points in the code the reviewer needs to double check? No ## Why was this MR needed? To avoid the generated application error ## What are the relevant issue numbers? #19096 ## Screenshots (if relevant) ## 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 - [x] Added for this feature/bug - [x] 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 !4917
| | * Validate presence of essential params for diff renderingissue_19096Ruben Davila2016-06-241-0/+40
| | | | | | | | | | | | | | | This will avoid application errors generated by the assumption of the presence of these params.
| * | Fix a wrong MR status when merge_when_build_succeeds & ↵19035-fix-merge-issueRémy Coutable2016-06-241-0/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | project.only_allow_merge_if_build_succeeds are true The issue was that `MergeRequest#mergeable?` returns false when the CI state is not success and project.only_allow_merge_if_build_succeeds is true. In this case `Projects::MergeRequestsController#merge` would return the `:failed` status when enabling `merge_when_build_succeeds`, thus leading to a weird state and the MR never automatically merged. The fix is to disable the CI state check in the controller safeguard that early return the `:failed` status. Signed-off-by: Rémy Coutable <remy@rymai.me>
* | merge master into issue_3359_3Felipe Artur2016-06-291-6/+6
|\ \
| * | Insert notification settings dropdown into groupsFelipe Artur2016-06-221-14/+55
| | |
* | | merge master into issue_3359_3Felipe Artur2016-06-229-21/+675
|\ \ \ | | |/ | |/|
| * | Merge branch ↵Douwe Maan2016-06-222-10/+4
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '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
| | * | Fix and remove duplicate specs18755-fix-destroy-project-causes-post_decline_request-to-be-executedRémy Coutable2016-06-202-8/+2
| | | | | | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
| | * | Redirect to the member's source on request withdrawalRémy Coutable2016-06-182-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
| * | | Fixed issue with returning ref in commits JSONasync-refs-dropdownPhil Hughes2016-06-201-0/+20
| |/ / | | | | | | | | | Added tests to project controller
| * | Merge branch 'issue_12758' into 'master' Douwe Maan2016-06-173-84/+125
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement custom notification level options ![Screen_Shot_2016-06-17_at_15.31.43](/uploads/3fc47d2f461b3e8b67bb8acaa304cf99/Screen_Shot_2016-06-17_at_15.31.43.png) ![Screenshot_from_2016-06-15_10-52-27](/uploads/88dbdd21d97e80ee772fe08fa0c9b393/Screenshot_from_2016-06-15_10-52-27.png) part of #12758 See merge request !4389
| | * \ Merge master into issue_12758issue_12758Felipe Artur2016-06-171-0/+71
| | |\ \
| | * \ \ Re-use notifications dropdown/modal for user profileFelipe Artur2016-06-173-103/+125
| | |\ \ \ | | | | |/ | | | |/|
| | * | | Implement custom notification level optionsFelipe Artur2016-06-151-0/+19
| | | | |