- 04 Aug, 2016 1 commit
-
-
tiagonbotelho authored
-
- 03 Aug, 2016 1 commit
-
-
Grzegorz Bizon authored
-
- 02 Aug, 2016 1 commit
-
-
tiagonbotelho authored
developer cannot push to protected branch when project is empty or he has not been granted permission to do so
-
- 29 Jul, 2016 1 commit
-
-
Timothy Andrew authored
1. The crux of this change is in `UserAccess`, which looks through all the access levels, asking each if the user has access to push/merge for the current project. 2. Update the `protected_branches` factory to create access levels as necessary. 3. Fix and augment `user_access` and `git_access` specs.
-
- 18 Jul, 2016 1 commit
-
-
Rémy Coutable authored
This reverts commit 530f5158. See !4892. Signed-off-by: Rémy Coutable <remy@rymai.me>
-
- 13 Jul, 2016 3 commits
-
-
Robert Speicher authored
This reverts commit 9ca633eb, reversing changes made to fb229bbf.
-
Timothy Andrew authored
1. Fix typos, minor styling errors. 2. Use single quotes rather than double quotes in `user_access_spec`. 3. Test formatting.
-
Timothy Andrew authored
1. Don't use case statements for dispatch anymore. This leads to a lot of duplication, and makes the logic harder to follow. 2. Remove duplicated logic. - For example, the `can_push_to_branch?` exists, but we also have a different way of checking the same condition within `change_access_check`. - This kind of duplication is removed, and the `can_push_to_branch?` method is used in both places. 3. Move checks returning true/false to `UserAccess`. - All public methods in `GitAccess` now return an instance of `GitAccessStatus`. Previously, some methods would return true/false as well, which was confusing. - It makes sense for these kinds of checks to be at the level of a user, so the `UserAccess` class was repurposed for this. The prior `UserAccess.allowed?` classmethod is converted into an instance method. - All external uses of these checks have been migrated to use the `UserAccess` class 4. Move the "change_access_check" into a separate class. - Create the `GitAccess::ChangeAccessCheck` class to run these checks, which are quite substantial. - `ChangeAccessCheck` returns an instance of `GitAccessStatus` as well. 5. Break out the boolean logic in `ChangeAccessCheck` into `if/else` chains - this seems more readable. 6. I can understand that this might look like overkill for !4892, but I think this is a good opportunity to clean it up. - http://martinfowler.com/bliki/OpportunisticRefactoring.html
-