Improve how File Lock feature works with nested items
Merge request reports
Activity
Milestone changed to %8.9
mentioned in issue #705 (closed)
Added 1 commit:
- 6093b529 - Render file lock icon in file path breadcrumbs
@DouweM Can you review? I'm going to create a few specs yet for helpers I added here.
Added 22 commits:
-
6093b529...22cbe843 - 19 commits from branch
master
- 1542f36a - Show nested locks
- 8a7b635e - Don't show lock controls for nested items
- 39278d73 - Render file lock icon in file path breadcrumbs
Toggle commit list-
6093b529...22cbe843 - 19 commits from branch
I'm thinking about the different situations for the Lock/Unlock button, and what is the most helpful text for the user. What about:
-
1 Directory
lib/gitlab/
or filelib/gitlab/git.rb
- 1.1. Locked
- 1.1.1. Exact lock
- 1.1.1.1. Can unlock because I locked it
- "Unlock", enabled, no tooltip
- 1.1.1.2. Can unlock because I am admin
- "Unlock", enabled, tooltip
Locked by Douwe Maan
- "Unlock", enabled, tooltip
- 1.1.1.3. Cannot unlock (because someone else locked it)
- "Unlock", disabled, tooltip
Locked by Douwe Maan. You do not have permission to unlock this file.
- "Unlock", disabled, tooltip
- 1.1.1.1. Can unlock because I locked it
- 1.1.2. Upstream lock
lib/
- 1.1.2.1. Can unlock (because I locked it or am admin)
- "Unlock", disabled, tooltip
Douwe Maan has a lock on "lib/". Unlock that directory in order to unlock this file.
- "Unlock", disabled, tooltip
- 1.1.2.2. Cannot unlock (because someone else locked it)
- "Unlock", disabled, tooltip
Douwe Maan has a lock on "lib/". You do not have permission to unlock it.
- "Unlock", disabled, tooltip
- 1.1.2.1. Can unlock (because I locked it or am admin)
- 1.1.1. Exact lock
- 1.1. Locked
-
2 Directory
lib/gitlab/
- 2.1. Unlocked
- 2.1.1. Downstream lock
lib/gitlab/git.rb
- 2.1.1.1. Can unlock (because I locked it or am admin)
- "Lock", disabled, tooltip
This directory cannot be locked while Douwe Maan has a lock on "lib/gitlab/git.rb". Unlock that file in order to proceed.
- "Lock", disabled, tooltip
- 2.1.1.2. Cannot unlock (because someone else locked it)
- "Lock", disabled, tooltip
This directory cannot be locked while Douwe Maan has a lock on "lib/gitlab/git.rb". You do not have permission to unlock it.
- "Lock", disabled, tooltip
- 2.1.1.1. Can unlock (because I locked it or am admin)
- 2.1.2. No lock at all
- 2.1.2.1. Can lock (because I have push access)
- "Lock", enabled, no tooltip
- 2.1.2.2. Cannot lock (because I don't have push access)
- "Lock", disabled, tooltip "You do not have permission to lock this directory."
- 2.1.2.1. Can lock (because I have push access)
- 2.1.1. Downstream lock
- 2.1. Unlocked
-
3 File
lib/gitlab/git.rb
- 3.1. Unlocked
- 3.1.1. Can lock (because I have push access)
- "Lock", enabled, no tooltip
- 3.1.2. Cannot lock (because I don't have push access)
- "Lock", disabled, tooltip "You do not have permission to lock this file."
- 3.1.1. Can lock (because I have push access)
- 3.1. Unlocked
/cc @rspeicher @jschatz1
Edited by Valery Sizov-
@DouweM I edited your nice comment, sorry for that. I added numbers to be able to discuss some of the items.
2.1.1.2. I think You tried to say "Cannot lock" it would make sense. @DouweM
UPDATE: If yes, please update your comment
UPDATE1: But still, the text is unclear to me.
Edited by Valery SizovSo I agree with all these items. I built my TODO list according to your schema.
-
Show tooltip for active “Unlock” button when lock is not mine but I have permissions to unlock (case 1.1.1.2.)
-
Support of Downstream locks. (case 2.1.1)
-
Fix text messages according to schema above
Edited by Valery Sizov-
@vsizov Yep, the "Cannot unlock" referred to the downstream lock itself :) Todo sounds good!
@DouweM haha. Case 2.1.1. What if we have more then one downstream lock?. At this time I tool first one. This is logic hell, my brain is blowing up.
@DouweM 1.1.1.3 and 1.1.2.1 contain "file" in the end of the sentence and I actually removed it from those phrases because we don't know if this is a file or a directory but checking it out would be too silly so it's better to rephrase.
Edited by Valery Sizov- Page refresh after click on Lock/Unlock
-
Review comment about
@ref
replace - Specs
- tree_helper refactoring
- Think of validation in both rails and database side one more time.
Edited by Valery SizovAdded 1083 commits:
- 92515e35...f00c8ede - 1071 commits from branch
master
- 903d1e76 - Show nested locks
- 8863108a - Don't show lock controls for nested items
- aca1ce41 - Render file lock icon in file path breadcrumbs
- 9bfb4af5 - address review comments
- 7aae1886 - lock by actual locked folder in breadcrumbs
- 891dc21f - revert license stub[ci skip]
- 2b4360b1 - minor imrovement
- f1ff39d5 - always show lock/unlock controls but disable them if needed[ci skip]
- 426ecafe - Show lock icon in the end of file name
- 8a8986f2 - [FileLock] logic hell, first implementation
- a66d0e4e - [FileLock] Feature is working but refactoring is still needed
- c51b5c15 - [FL] Downstream locks is not searched by default[ci skip]
Toggle commit list- 92515e35...f00c8ede - 1071 commits from branch
@DouweM Please check it out
@DouweM re:
I'm thinking about the different situations for the Lock/Unlock button, and what is the most helpful text for the user. What about:
That sounds good to me.
Added 4 commits:
- c70b97ae...8a7e9852 - 3 commits from branch
master
- e43b804c - Improve how File Lock feature works with nested items
- c70b97ae...8a7e9852 - 3 commits from branch
Reassigned to @DouweM
Added 1 commit:
- e4f9e2d3 - Improve how File Lock feature works with nested items
6 6 - Fix encrypted data backwards compatibility after upgrading attr_encrypted gem. !502 7 7 - Fix creating MRs on forks of deleted projects. !503 8 8 - Roll back Grack::Auth to fix Git HTTP SPNEGO. !504 9 - Improve how File Lock feature works with nested items 8.9.3 has been released, can this go to 8.9.4?
Edited by Douwe Maan
Added 1 commit:
- 6e799317 - Move changelog item
Added 1 commit:
- b2d85e3a - Change tooltip wording
Added 1 commit:
- 15e6d78d - Update spec
Enabled an automatic merge when the build for 15e6d78d succeeds
mentioned in commit 0f21c62b
mentioned in commit 4ebe197d
Mentioned in commit 4ebe197d
Mentioned in commit 0f21c62b
added Enterprise Edition label