- 17 Aug, 2016 1 commit
-
-
Paco Guzman authored
Use just SQL to check is a user can admin_issue on a project Tradeoff - we duplicate how we check admin_issue in a SQL relation in the Ability class
-
- 16 Aug, 2016 4 commits
-
-
Felipe Artur authored
-
Timothy Andrew authored
- `#find_users` depends on a project being loaded. - Missed adding this in 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.
-
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.
-
- 15 Aug, 2016 9 commits
-
-
Patricio Cano authored
-
Patricio Cano authored
- Refactored SpamCheckService into SpamService
-
Patricio Cano authored
- Added controller actions as reusable concerns - Added controller tests
-
Patricio Cano authored
- Added `submitted_as_ham` to `SpamLog` to mark which logs have been submitted to Akismet. - Added routes and controller action.
-
Patricio Cano authored
- Removed unnecessary column from `SpamLog` - Moved creation of SpamLogs out of its own service and into SpamCheckService - Simplified code in SpamCheckService. - Moved move spam related code into Spammable concern
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Grzegorz Bizon authored
-
Frank West authored
Currently when a user performs an update of a file through the UI and there has already been a change committed to the file the previous commits will be overwritten without a check to see if the file has been changed. This commit uses the last commit sha at the time the user starts editing the file and compares it with the current sha of the file being edited to ensure they are the same before committing the file. If the shas do not match we throw an exception preventing the commit from the commit from occurring. Fixes #5857
-
- 12 Aug, 2016 1 commit
-
-
Paco Guzman authored
We’re being kept up to date the counter data but we’re not using it. The only thing which is not real if is the number of projects that the user read changes the number of todos can be stale for some time. The counters will be sync just after the user receives a new todo or mark any as done
-
- 11 Aug, 2016 4 commits
-
-
Stan Hu authored
There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since container_registry_path_with_namespace is the wrong value. The fix is to destroy the group asynchronously and to run execute directly on Projects::DestroyService. Closes #17893
-
James Lopez authored
-
Christopher Bartz authored
-
Kamil Trzcinski authored
This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
-
- 10 Aug, 2016 5 commits
-
-
Clement Ho authored
-
Stan Hu authored
Instead of redirecting from the project service to the service and back to the model, put all destruction code in the service. Also removes a possible source of failure where run_after_commit may not destroy the project.
-
Jacob Vosmaer authored
-
Jacob Vosmaer authored
-
Jacob Vosmaer authored
-
- 09 Aug, 2016 1 commit
-
-
Jacob Vosmaer authored
-
- 08 Aug, 2016 3 commits
-
-
Z.J. van de Weg authored
-
Carlos Ribeiro authored
-
Grzegorz Bizon authored
-
- 06 Aug, 2016 1 commit
-
-
Gabriel Mazetto authored
-
- 05 Aug, 2016 1 commit
-
-
Z.J. van de Weg authored
-
- 04 Aug, 2016 2 commits
-
-
James Lopez authored
-
Tim Masliuchenko authored
-
- 03 Aug, 2016 8 commits
-
-
Connor Shea authored
-
Connor Shea authored
The helper constructs the path for a given oauth provider since Devise 4.0 deprecated passing the provider to the omniauth authentication path. Fixes #18110.
-
Douwe Maan authored
-
Jacob Vosmaer authored
Before this change we always let users push Git data over HTTP before deciding whether to accept to push. This was different from pushing over SSH where we terminate a 'git push' early if we already know the user is not allowed to push. This change let Git over HTTP follow the same behavior as Git over SSH. We also distinguish between HTTP 404 and 403 responses when denying Git requests, depending on whether the user is allowed to know the project exists.
-
Paco Guzman authored
So we have raw_diffs too
-
Paco Guzman authored
This object will manage Gitlab::Git::Compare instances
-
Paco Guzman authored
Instead calling diff_collection.count use diff_collection.size which is cache on the diff_collection
-