BigW Consortium Gitlab

  1. 16 Aug, 2016 9 commits
    • Fix a missed `before_action` for `AutocompleteController`. · f898a47e
      Timothy Andrew authored
      - `#find_users` depends on a project being loaded.
      
      - Missed adding this in 2193ae22
    • Backport `AutocompleteController#load_project` from EE!581. · 2193ae22
      Timothy Andrew authored
      - This is an optimization that was made in !581, and it needs to be
        backported to CE to avoid merge conflicts in the future.
    • Fix API::BranchesSpec. · 0e2cecfd
      Timothy Andrew authored
      - Previously created a protected branch manually, without using a
        factory.
    • Fix failing tests relating to backporting ee!581. · dd3b738d
      Timothy Andrew authored
      1. `GitPushService` was still using `{merge,push}_access_level_attributes` instead
         of `{merge,push}_access_levels_attributes`.
      
      2. The branches API creates access levels regardless of the state of the
         `developers_can_{push,merge}` parameters. This is in line with the UI,
         where Master access is the default for a new protected branch.
      
      3. Use `after(:build)` to create access levels in the
         `protected_branches` factory, so that `factories_spec` passes. It
         only builds records, so we need to create access levels on `build` as
         well.
    • Fix the protected branches factory. · 37651d2f
      Timothy Andrew authored
      1. Previously, we were using `after_create` to create access levels.
      
      2. At the time of protected branch creation, there are _no_ access
         levels present, which is invalid, and creation fails.
      
      3. Fixed by setting access levels before the protected branch is created.
    • Improve EE compatibility with protected branch access levels. · 4ddbbcd1
      Timothy Andrew authored
      1. Change a few incorrect `access_level` to `access_levels.first` that
         were missed in e805a647.
      
      2. `API::Entities` can iterate over all access levels instead of just
         the first one. This makes no difference to CE, and makes it more compatible
         with EE.
    • Move the "update" portion of the protected branch view into a partial. · e9f48335
      Timothy Andrew authored
      1. To improve EE compatibility.
    • Don't select an access level if already selected. · 4c28d626
      Timothy Andrew authored
      1. This is in regard to the protected branches feature spec.
      
      2. For example, if "Masters" is already selected, don't re-select
         "Masters" during the spec.
      
      3. This is due to a bug in the frontend implementation, where selecting
         an already-selected access level _deselects_ it, which is something
         we don't need. I'll create a separate issue for this.
      
      4. This hasn't turned up before, because we were manually creating
         missing access levels prior to e805a647. Now, we just use nested
         attributes, and missing access levels fail validation.
    • Backport changes from gitlab-org/gitlab-ee!581 to CE. · e805a647
      Timothy Andrew authored
      !581 has a lot of changes that would cause merge conflicts if not
      properly backported to CE. This commit/MR serves as a better
      foundation for gitlab-org/gitlab-ee!581.
      
      = Changes =
      
      1. Move from `has_one {merge,push}_access_level` to `has_many`, with the
         `length` of the association limited to `1`. This is _effectively_ a
         `has_one` association, but should cause less conflicts with EE, which
         is set to `has_many`. This has a number of related changes in the
         views, specs, and factories.
      
      2. Make `gon` variable loading more consistent (with EE!581) in the
         `ProtectedBranchesController`. Also use `::` to prefix the
         `ProtectedBranches` services, because this is required in EE.
      
      3. Extract a `ProtectedBranchAccess` concern from the two access level
         models. This concern only has a single `humanize` method here, but
         will have more methods in EE.
      
      4. Add `form_errors` to the protected branches creation form. This is
         not strictly required for EE compatibility, but was an oversight
         nonetheless.
  2. 15 Aug, 2016 31 commits