diff options
author | Phil Hughes <me@iamphill.com> | 2016-10-21 12:14:14 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-11-01 08:35:23 +0000 |
commit | b5decb21813e23d7a6828f6aa70bac909b6ce09f (patch) | |
tree | 9702b39fd6cd2ca35e9ec5a2412847cf277b6f11 | |
parent | b328c7885532ccff70e1f9f7dc970a8dde0c52d6 (diff) | |
download | gitlab-ce-b5decb21813e23d7a6828f6aa70bac909b6ce09f.tar.gz |
Hide project activity tabs when features are disabled
-rw-r--r-- | CHANGELOG.md | 34 | ||||
-rw-r--r-- | app/helpers/events_helper.rb | 6 | ||||
-rw-r--r-- | app/views/shared/_event_filter.html.haml | 9 | ||||
-rw-r--r-- | spec/features/projects/features_visibility_spec.rb | 18 |
4 files changed, 64 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 372ddecc98b..ccaf913763d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,40 @@ Please view this file on the master branch, on stable branches it's out of date. - Fix and improve `Sortable.highest_label_priority`. !7165 - Fixed sticky merge request tabs when sidebar is pinned. !7167 - Only remove right connector of first build of last stage. !7179 + - Backups do not fail anymore when using tar on annex and custom_hooks only. !5814 + - Adds user project membership expired event to clarify why user was removed (Callum Dryden) + - Hides project activity tabs when features are disabled + - Trim leading and trailing whitespace on project_path (Linus Thiel) + - Prevent award emoji via notes for issues/MRs authored by user (barthc) + - Adds an optional path parameter to the Commits API to filter commits by path (Luis HGO) + - Fix extra space on Build sidebar on Firefox !7060 + - Fix mobile layout issues in admin user overview page !7087 + - Fix HipChat notifications rendering (airatshigapov, eisnerd) + - Add hover to trash icon in notes !7008 (blackst0ne) + - Fix sidekiq stats in admin area (blackst0ne) + - Removed delete branch tooltip !6954 + - Escape ref and path for relative links !6050 (winniehell) + - Fixed link typo on /help/ui to Alerts section. !6915 (Sam Rose) + - Fix filtering of milestones with quotes in title (airatshigapov) + - Refactor less readable existance checking code from CoffeeScript !6289 (jlogandavison) + - Update mail_room and enable sentinel support to Reply By Email (!7101) + - Simpler arguments passed to named_route on toggle_award_url helper method + - Fix typo in framework css class. !7086 (Daniel Voogsgerd) + - New issue board list dropdown stays open after adding a new list + - Fix: Backup restore doesn't clear cache + - API: Fix project deploy keys 400 and 500 errors when adding an existing key. !6784 (Joshua Welsh) + - Replace jquery.cookie plugin with js.cookie !7085 + - Use MergeRequestsClosingIssues cache data on Issue#closed_by_merge_requests method + - Fix Sign in page 'Forgot your password?' link overlaps on medium-large screens + - Show full status link on MR & commit pipelines + - Fix documents and comments on Build API `scope` + - Fix applying labels for GitHub-imported MRs + - Fix importing MR comments from GitHub + - Refactor email, use setter method instead AR callbacks for email attribute (Semyon Pupkov) + - Shortened merge request modal to let clipboard button not overlap + +## 8.13.2 + - Fix builds dropdown overlapping bug !7124 ## 8.13.1 (2016-10-25) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index f8ded05c31a..dba380974c6 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -39,6 +39,12 @@ module EventsHelper end end + def event_filter_visible(key) + return true unless @project + + return @project.feature_available?(:repository, current_user) + end + def event_preposition(event) if event.push? || event.commented? || event.target "at" diff --git a/app/views/shared/_event_filter.html.haml b/app/views/shared/_event_filter.html.haml index 3480800369a..c367ae336db 100644 --- a/app/views/shared/_event_filter.html.haml +++ b/app/views/shared/_event_filter.html.haml @@ -1,6 +1,9 @@ %ul.nav-links.event-filter.scrolling-tabs = event_filter_link EventFilter.all, 'All' - = event_filter_link EventFilter.push, 'Push events' - = event_filter_link EventFilter.merged, 'Merge events' - = event_filter_link EventFilter.comments, 'Comments' + - if event_filter_visible(:repository) + = event_filter_link EventFilter.push, 'Push events' + - if event_filter_visible(:merge_requests) + = event_filter_link EventFilter.merged, 'Merge events' + - if event_filter_visible(:issues) + = event_filter_link EventFilter.comments, 'Comments' = event_filter_link EventFilter.team, 'Team' diff --git a/spec/features/projects/features_visibility_spec.rb b/spec/features/projects/features_visibility_spec.rb index d25cf7fb353..e796ee570b7 100644 --- a/spec/features/projects/features_visibility_spec.rb +++ b/spec/features/projects/features_visibility_spec.rb @@ -164,5 +164,23 @@ describe 'Edit Project Settings', feature: true do expect(page).to have_content "Customize your workflow!" end + + it "hides project activity tabs" do + select "Disabled", from: "project_project_feature_attributes_repository_access_level" + select "Disabled", from: "project_project_feature_attributes_issues_access_level" + select "Disabled", from: "project_project_feature_attributes_wiki_access_level" + + click_button "Save changes" + wait_for_ajax + + visit activity_namespace_project_path(project.namespace, project) + + page.within(".event-filter") do + expect(page).to have_selector("a", count: 2) + expect(page).not_to have_content("Push events") + expect(page).not_to have_content("Merge events") + expect(page).not_to have_content("Comments") + end + end end end |