Commit Graph
29232 Commits
Author SHA1 Message Date
Sean McGivernandAlfredo Sumaran 77f30af017 Tidy up Ruby style in templates 2016-06-06 11:59:49 -05:00
Alfredo Sumaran b0ec4b9cc3 Remove comment
Just to trigger CI
2016-06-06 11:59:49 -05:00
Alfredo Sumaran 2ca32a09b6 Add test for the case when user can't prioritize labels 2016-06-06 11:59:49 -05:00
Alfredo Sumaran a966e6e451 Initialize LabelManager only when necessary 2016-06-06 11:59:49 -05:00
Alfredo Sumaran b4e4e61184 Show functionality only for users with the ability to edit labels 2016-06-06 11:59:49 -05:00
Alfredo Sumaran e487b0995c Improve functionality 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 8b3ed9c355 add :set_priorities to :authorize_admin_labels! 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 4ac907ee77 typo 2016-06-06 11:59:49 -05:00
Alfredo Sumaran d4bcf51692 Show prioritized labels only on the first page and when there's labels created 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 221d2e3aa0 Remove unnecesary param 2016-06-06 11:59:49 -05:00
Alfredo Sumaran b0bfd78948 Typo 2016-06-06 11:59:49 -05:00
Alfredo Sumaran fa6593b226 Update method and route 2016-06-06 11:59:49 -05:00
Alfredo Sumaran f011f038cd Update method name 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 8f0bf29767 Add unprioritized scope 2016-06-06 11:59:49 -05:00
Alfredo Sumaran bf0c4426ff Feedback 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 91b475a9c0 Update CHANGELOG 2016-06-06 11:59:49 -05:00
Sean McGivernandAlfredo Sumaran 1cc0209a80 Fix style
- `reorder(nil)` is better than `reorder('')`
- Only use ASCII in comments
2016-06-06 11:59:49 -05:00
Sean McGivernandAlfredo Sumaran b28237b4d2 Don't try to count a relation with aliases
Work around ActiveRecord count and column aliases issue as described at:
  <https://github.com/rails/rails/issues/15138#issuecomment-61325080>

AR doesn't promise that `#count` (which is called by `#any?`) will work
for relations using `#select`, which means we need a workaround instead.
2016-06-06 11:59:49 -05:00
Alfredo Sumaran 6aea7666c3 Add tests for issues with multiple labels 2016-06-06 11:59:49 -05:00
Alfredo Sumaran d6cecf7add Fix failing tests 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 91e6bc1258 Add tests for issue prioritization 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 1648c395e5 Fix syntax 2016-06-06 11:59:49 -05:00
Alfredo Sumaran ae2fb991b0 Show proper error message when saving priority fails 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 0960cba090 Add tests for label prioritization 2016-06-06 11:59:49 -05:00
Alfredo Sumaran 25ee66e88c Sorting improvements and styling 2016-06-06 11:59:49 -05:00
Rémy CoutableandAlfredo Sumaran 499bb9f305 Improve Issuable.order_labels_priority
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-06 11:59:49 -05:00
Thijs WoutersandAlfredo Sumaran d8263b2851 Sort by label priority
Signed-off-by: Rémy Coutable <remy@rymai.me>
2016-06-06 11:59:49 -05:00
Alfredo Sumaran 0e2f26dd2a Prioritize labels functionality 2016-06-06 11:59:49 -05:00
Douwe Maan 4d4a9b7c8a Merge branch 'notes-are-awardables' into 'master'
Notes are awardables

## What does this MR do?

Makes sure we can :thunder_cloud_rain: comments/notes.

## What are the relevant issue numbers?
Follows up upon !2901, depends on !3785

Closes #3655 

## Screenshots (if relevant)
TODO



See merge request !4291
2016-06-06 16:48:35 +00:00
Rémy Coutable ac4e3e8cf0 Merge branch 'tests/extend-specs-for-build-badge' into 'master'
Extend specs for builds badge

## What does this MR do?

This MR extends specs for builds badge.

## Why was this MR needed?

We added an edge case to specs, while trying to reproduce problem described in #17549

## What are the relevant issue numbers?

#17549

See merge request !4401
2016-06-06 14:59:26 +00:00
Jacob Schatz 316630ad2c Merge branch 'jquery2' into 'master'
Upgraded jQuery to version 2

## What does this MR do?

Upgrades jQuery to 2.2.1. 

Had to include the task_list JS file directly as it includes jQuery 1 directly https://github.com/github-archive/task_list/blob/master/app/assets/javascripts/task_list.coffee#L8 so when we change jQuery to `jquery2` it was including both jQuery 1 & 2.

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

For any JS errors

## What are the relevant issue numbers?

Closes #12440

See merge request !4384
2016-06-06 14:25:23 +00:00
Fatih AcetandZ.J. van de Weg 8dc1fa0d8d Updated MR notes. 2016-06-06 16:02:11 +02:00
Dmitriy Zaporozhets aa7cef9325 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2016-06-06 12:53:58 +03:00
Rémy Coutable 3cb69f0c0b Merge branch '15337-yubikey-support' into 'master'
Allow a U2F Device to be the Second Factor for Authentication

Parent Issue: #15337 

## TODO
- [ ] #15337 (!3905) FIDO/U2F 2FA using Yubikey
    - [x] Order a Yubikey?
    - [x] Do some reading to figure out what all this stuff means
    - [x] Look through the existing MR
    - [x] Browser support?
    - [x] Implementation
        - [x] User can register 2FA using their U2H device instead of authenticator
            - [x] Barebones flow
            - [x] Save the registration in the database
            - [x] Authentication flow
            - [x] First try after login/server start doesn't work
        - [x] User can log in using their U2F device
        - [x] Allow setting up authenticator if U2F is already set up (or vice versa)
        - [x] Change `two_factor_auths/new` to `show`
        - [x] `sign_requests` during registration? (Registering a device that has already been registered)
        - [x] 2FA skippable flow?
        - [x] Enforced 2FA flow (grace period?)
        - [x] Move the "Configure it Later" button to the right place
        - [x] Don't allow registration when the yubikey isn't plugged in
        - [x] Polish authentication flow
        - [x] Login should only show the 2FA method that's enabled
            - [x] Message to say that u2f only works on chrome, and it's recommended to enable otp as well.
        - [x] Index for key_handle
        - [x] Server-side errors while registering/logging in
        - [x] Handle non-chrome browsers
        - [x] Try to authenticate with a key that hasn't been registered (shouldn't work)
        - [x] Try the same key for multiple user accounts (should work)
        - [x] Fix existing tests
        - [x] Make sure CI is green
        - [x] Add tests
            - [x] Figure out how to fake the Yubikey
            - [x] Teaspoon tests for the React components
                - [x] Each device can only be registered once per user
            - [x] Feature specs
                - [x] Regular flows
                - [x] Test error cases
        - [x] Refactoring
            - [x] Refactor App ID
            - [x] Clean up the `show` action
        - [x] Annotate methods with definition of U2F
        - [x] Changelog
        - [x] Fix merge conflicts
        - [x] Verify flows
            - [x] Authenticator + no U2F
            - [x] U2F + no authenticator
            - [x] U2F + authenticator
            - [x] U2F + authenticator -> disable 2FA
            - [x] 2FA required with different grace periods
        - [x] Screenshots for MR
    - [x] Augment the [help docs](http://localhost:3000/help/profile/two_factor_authentication)
    - [x] Assign to endboss
    - [x] Ask for feedback on UI/UX
    - [x] Ask for feedback on copy
    - [x] Wait for review/merge
    - [x] Fix merge conflicts
    - [x] Wait for CI to pass
    - [x] Implement review comments/suggestions
        - [x] Move `TwoFactorAuthController#create_u2f` to a service
        - [x] Extra space before `Base64` in `u2f_registration` model
        - [x] Move `with/without_two_factor` scopes to class methods
        - [x] In `profiles/accounts/show`, add spaces at `{` and `}`
        - [x] Remove blank lines in `profiles/two_factor_auths/show`
        - [x] Fix typo in doc. "(universal 2nd factor )"
        - [x] Add "Added in 8.8" to doc
        - [x] In the doc, use 'Enable 2FA via mobile application' instead of 'Via Mobile Application'
        - [x] In the doc, use 'Enable 2FA via U2F device' instead of 'Via U2F Device
        - [x] Use "Two-Factor Authentication" everywhere
        - [x] Use `#icon` wrapper instead of `fa_stacked_icon`
        - [x] Check if `string` is enough for `key_handle` and `public_key`
        - [x] Separate `exercise` and `verify` phases of test (u2f_spec)
        - [x] Assert that `user_without_2fa` is _not_ in results (with_two_factor)
            - [x] Remove rubocop exception
        - [x] Refactor call to `User.with_two_factor.count` to not include `.length`
        - [x] Add a note that makes the "Disable" button/feature obvious
        - [x] Remove i18n
        - [x] Test in Firefox with addon (+ create new issue for support)
        - [x] Remove React
            - [x] Rewrite registration
            - [x] Switch underscore template to default style
            - [x] Rewrite authentication
            - [x] Move `register` haml to `u2f` dir
            - [x] Remove instance variables
            - [x] Fix tests
            - [x] Read SCSS guidelines
            - [x] Address @connorshea's comments regarding text style
            - [x] Make sure all classes and IDs are in line (add `js-` prefixes)
                - [x] Register
                - [x] Authenticate
            - [x] Refactoring?
        - [x] Include non-minifed version of bowser
        - [x] Audit log
        - [x] Look at the `browser` gem (and don't use bowser)
        - [x] Error message when on HTTP?
    - [x] Test on Mobile
    - [x] Fix merge conflicts
    - [x] Retest all flows
    - [x] Back to Rémy for review
    - [x] Make sure CI is green
    - [x] Wait for merge / more feedback
    - [x] Implement @rymai's changes
        - [x] JS/Coffeescript variables should be lowerCamelCase
        - [x] Spaces before/after `}` and `{` in HAML (and elsewhere)
        - [x] Rails view helpers in u2f HAML
        - [x] `%div.row.append-bottom-10`
        - [x] Wrap line in `without_two_factor` scope
        - [x] Exception-less flow in `U2F::CreateService`
    - [x] Fix merge conflicts
    - [x] Move service to model class method
    - [x] Fix teaspoon specs
    - [x] Address @rymai's suggestions about error handing
    - [x] Javascript error constants
    - [x] Fix merge conflicts
    - [x] One final review
        - [x] Test "registration with errors" flow
    - [x] Assign to Remy
    - [x] Wait for replies from @jschatz1
    - [x] Address @rymai's comments
        - [x] Omit `%div`
        - [x] Scope `$.find` globally
        - [x] Replace `find('#element-id).click` with `click_on('Element Text')
    - [x] Rebase master + conflicts
    - [x] Look at https://news.ycombinator.com/item?id=11690774
    - [x] Address @connorshea's comment regarding HTTPS on localhost
    - [x] Final sanity check
    - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/c84179ad233529c33ee6ba8491cfea862c6cd864/builds)
    - [x] Address @rymai's next round of comments
        - [x] Interpolate `true` and `false` in DB scopes
        - [x] Why have `Gon::Base.render_data` thrice?
        - [x] `user_spec` should have correct spacing
        - [x] Use `arel_table[:id]` instead of `users.id`
        - [x] URL helper in `app/views/profiles/two_factor_auths/show.html.haml`
        - [x] Remove polyfill change
    - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/0123ab8/builds)
    - [x] Address @jschatz1's comments
        - [x] Use `on('click', ...)` instead of `click(...)`
        - [x] Use `is` and `isnt` in coffeescript
        - [x] Use `and` and `or` in coffeescript
    - [x] Add `Gon::Base.render_data` to `devise_empty` (and other base layouts)
    - [x] Wait for [CI to pass](https://gitlab.com/gitlab-org/gitlab-ce/commit/401916397336174c582be3d3004a072f845d4b5f/builds)
    - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/75955710ef9a5f0dcee04e8617028c0e3ea5bf50/builds) to pass
    - [x] Fix merge conflicts
    - [x] Inspect diff / workflow
    - [x] Assign back to @rymai
    - [x] Make sure [ci](https://gitlab.com/gitlab-org/gitlab-ce/commit/2c6316b29a9276ef44c7b4b39363a611bf5973a6/builds) has passed
    - [x] Fix merge conflicts (probably introduced by [devise upgrade](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4216)
    - [x] Wait for [CI](https://gitlab.com/gitlab-org/gitlab-ce/commit/a5ef48b7aa63d0d9e45b41643043b57208eaab9f/builds) to pass
    - [x] Respond to @rymai's comments
        - [x] Use `elsif`
        - [x] Check if we need `and return`
        - [x] Only fetch key handles from the DB
        - [x] No annotations to models?
        - [x] Align hash keys in model
    - [x] Wait for [build](https://gitlab.com/gitlab-org/gitlab-ce/commit/e0ef504734e7f14813c73bbb79f5c5f6fae3248c/builds) to pass
    - [ ] Wait for merge

## Screenshots

![Screenshot_2016-05-03_09.53.04](/uploads/1af3f277efa488dc107d36e6b4b07ca4/Screenshot_2016-05-03_09.53.04.png)
![Screenshot_2016-05-03_10.19.53](/uploads/2bfc67dfb96c0e005cce033d8b456813/Screenshot_2016-05-03_10.19.53.png)
![Screenshot_2016-05-03_10.19.56](/uploads/e912abedd5b1d07d7185cee9f204c5ff/Screenshot_2016-05-03_10.19.56.png)
![Screenshot_2016-05-03_10.20.04](/uploads/9350d5c98823d1f3d4e59517dfb8910a/Screenshot_2016-05-03_10.20.04.png)
![Screenshot_2016-05-03_10.31.15](/uploads/84473dc263e0643311a39006e649035f/Screenshot_2016-05-03_10.31.15.png)
![Screenshot_2016-05-03_10.31.22](/uploads/13ce43e0d7a565000af29984667eeb08/Screenshot_2016-05-03_10.31.22.png)
![Screenshot_2016-05-03_10.31.37](/uploads/b90fbb40dbf9bbd73af324f48ffdc948/Screenshot_2016-05-03_10.31.37.png)
![Screenshot_2016-05-03_10.36.48](/uploads/41a0fbc493c6fefeafd922b3ddf2a25e/Screenshot_2016-05-03_10.36.48.png)

See merge request !3905
2016-06-06 09:40:49 +00:00
Z.J. van de Weg 7d3f8f542f Update tests on wording 2016-06-06 11:10:10 +02:00
Fatih AcetandZ.J. van de Weg 5dbb3883f8 Fix scss-lint. 2016-06-06 11:10:10 +02:00
Fatih AcetandZ.J. van de Weg c1e2b02e34 Added tests for award emoji feature. 2016-06-06 11:10:10 +02:00
Fatih AcetandZ.J. van de Weg 63a5402182 Create and show emoji loader on the fly. 2016-06-06 11:10:10 +02:00
Fatih AcetandZ.J. van de Weg f1d74ccc8c Some design related tweaks. 2016-06-06 11:10:10 +02:00
Fatih AcetandZ.J. van de Weg 47fc235fe1 Be consistent on naming.
It was named as $emojiBtn before I was using $emojiButton so updated them to be consistent.
2016-06-06 11:07:22 +02:00
Fatih AcetandZ.J. van de Weg 59b34188fa Animate emoji when rendered. 2016-06-06 11:07:22 +02:00
Fatih AcetandZ.J. van de Weg ce5729139f Fix mutual exclusivity for emoji only comments. 2016-06-06 11:07:22 +02:00
Fatih AcetandZ.J. van de Weg 40c86c916e Refactor awardsHandler methods to work with votesBlock. 2016-06-06 11:07:22 +02:00
Fatih AcetandZ.J. van de Weg f261be0949 Award emoji implementation for notes. 2016-06-06 11:07:22 +02:00
Fatih AcetandZ.J. van de Weg eaff5afc9b Show emoji menu in notes. 2016-06-06 11:03:39 +02:00
ZJ van de Weg 2f9c2149a3 Backend awardables on comments 2016-06-06 11:03:39 +02:00
Douwe Maan 184aa52167 Merge branch 'fix/unauthorized-access-to-build-data' into 'master'
Remove 'unscoped' from project builds selection

This is a fix for this security bug: https://gitlab.com/gitlab-org/gitlab-ce/issues/18188

/cc @kamil @grzegorz @stanhu 

See merge request !1968
2016-06-06 08:59:06 +00:00
Timothy Andrew cdf7a6c2de Add the U2F feature to the CHANGELOG 2016-06-06 12:50:31 +05:30
Timothy Andrew 09a2f2dbdc Add documentation for U2F registration & authentication. 2016-06-06 12:50:31 +05:30
Timothy Andrew 7232bdb9ad Add feature specs covering U2F registration and authentication. 2016-06-06 12:50:31 +05:30