diff options
-rw-r--r-- | app/assets/javascripts/boards/models/milestone.js | 11 | ||||
-rw-r--r-- | app/assets/javascripts/jobs/components/job_app.vue | 2 | ||||
-rw-r--r-- | app/assets/javascripts/jobs/components/job_container_item.vue | 8 | ||||
-rw-r--r-- | app/assets/javascripts/jobs/components/job_log_controllers.vue | 6 | ||||
-rw-r--r-- | app/assets/javascripts/jobs/components/trigger_block.vue | 2 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/builds.scss | 47 | ||||
-rw-r--r-- | app/assets/stylesheets/pages/issuable.scss | 11 | ||||
-rw-r--r-- | app/services/groups/create_service.rb | 6 | ||||
-rw-r--r-- | changelogs/unreleased/fix-api-group-visibility.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/visibility_level.rb | 2 | ||||
-rw-r--r-- | spec/frontend/lib/utils/text_utility_spec.js | 14 | ||||
-rw-r--r-- | spec/javascripts/notes_spec.js | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/visibility_level_spec.rb | 8 | ||||
-rw-r--r-- | spec/services/groups/create_service_spec.rb | 11 |
14 files changed, 68 insertions, 67 deletions
diff --git a/app/assets/javascripts/boards/models/milestone.js b/app/assets/javascripts/boards/models/milestone.js index 17d15278a74..6f81d6bc6f8 100644 --- a/app/assets/javascripts/boards/models/milestone.js +++ b/app/assets/javascripts/boards/models/milestone.js @@ -1,7 +1,16 @@ -class ListMilestone { +import { isEE } from '~/lib/utils/common_utils'; + +export default class ListMilestone { constructor(obj) { this.id = obj.id; this.title = obj.title; + + if (isEE) { + this.path = obj.path; + this.state = obj.state; + this.webUrl = obj.web_url || obj.webUrl; + this.description = obj.description; + } } } diff --git a/app/assets/javascripts/jobs/components/job_app.vue b/app/assets/javascripts/jobs/components/job_app.vue index 0670e2b06b9..7594edfac27 100644 --- a/app/assets/javascripts/jobs/components/job_app.vue +++ b/app/assets/javascripts/jobs/components/job_app.vue @@ -275,7 +275,7 @@ export default { <!-- job log --> <div v-if="hasTrace" - class="build-trace-container" + class="build-trace-container position-relative" :class="{ 'prepend-top-default': !job.archived }" > <log-top-bar diff --git a/app/assets/javascripts/jobs/components/job_container_item.vue b/app/assets/javascripts/jobs/components/job_container_item.vue index 845699a90b5..a55dffbe488 100644 --- a/app/assets/javascripts/jobs/components/job_container_item.vue +++ b/app/assets/javascripts/jobs/components/job_container_item.vue @@ -43,7 +43,7 @@ export default { <template> <div - class="build-job" + class="build-job position-relative" :class="{ retried: job.retried, active: isActive, @@ -56,7 +56,11 @@ export default { data-boundary="viewport" class="js-job-link" > - <icon v-if="isActive" name="arrow-right" class="js-arrow-right icon-arrow-right" /> + <icon + v-if="isActive" + name="arrow-right" + class="js-arrow-right icon-arrow-right position-absolute d-block" + /> <ci-icon :status="job.status" /> diff --git a/app/assets/javascripts/jobs/components/job_log_controllers.vue b/app/assets/javascripts/jobs/components/job_log_controllers.vue index 52e14f954ee..607b2bd1c74 100644 --- a/app/assets/javascripts/jobs/components/job_log_controllers.vue +++ b/app/assets/javascripts/jobs/components/job_log_controllers.vue @@ -75,7 +75,11 @@ export default { <template v-if="isTraceSizeVisible"> {{ jobLogSize }} - <gl-link v-if="rawPath" :href="rawPath" class="js-raw-link raw-link"> + <gl-link + v-if="rawPath" + :href="rawPath" + class="js-raw-link text-plain text-underline prepend-left-5" + > {{ s__('Job|Complete Raw') }} </gl-link> </template> diff --git a/app/assets/javascripts/jobs/components/trigger_block.vue b/app/assets/javascripts/jobs/components/trigger_block.vue index 997737b3e23..922f64d93fe 100644 --- a/app/assets/javascripts/jobs/components/trigger_block.vue +++ b/app/assets/javascripts/jobs/components/trigger_block.vue @@ -52,7 +52,7 @@ export default { </p> <template v-if="hasVariables"> - <p class="trigger-variables-btn-container"> + <p class="trigger-variables-btn-container d-flex"> <span class="font-weight-bold">{{ __('Trigger variables:') }}</span> <gl-button diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index 916f6cd3137..6fc742871e7 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -46,10 +46,6 @@ } .build-page { - .build-trace-container { - position: relative; - } - .build-trace { @include build-trace(); } @@ -104,18 +100,6 @@ top: 0; } - .truncated-info { - .truncated-info-size { - margin: 0 5px; - } - - .raw-link { - color: $gl-text-color; - margin-left: 5px; - text-decoration: underline; - } - } - .controllers { @include build-controllers(15px, center, false, 0, inline, 0); } @@ -142,12 +126,6 @@ } } -.with-performance-bar .build-page { - .top-bar.affix { - top: $header-height + $performance-bar-height; - } -} - .build-header { .ci-header-container, .header-action-buttons { @@ -233,7 +211,6 @@ } .trigger-variables-btn-container { - @extend .d-flex; justify-content: space-between; align-items: center; @@ -277,12 +254,6 @@ .retry-link { display: block; - .btn { - i { - margin-left: 5px; - } - } - .btn-inverted-secondary { color: $blue-500; @@ -329,16 +300,12 @@ } } - .build-job { - position: relative; - - .icon-arrow-right { - position: absolute; - left: 15px; - top: 20px; - display: block; - } + .icon-arrow-right { + left: 15px; + top: 20px; + } + .build-job { &.active { font-weight: $gl-font-weight-bold; } @@ -350,10 +317,6 @@ &:hover { background-color: $gray-darker; } - - .icon-retry { - margin-left: 3px; - } } } diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss index 9be3f8138a0..fbd291f095a 100644 --- a/app/assets/stylesheets/pages/issuable.scss +++ b/app/assets/stylesheets/pages/issuable.scss @@ -1,8 +1,3 @@ -// Limit MR description for side-by-side diff view -.fixed-width-container { - @include fixed-width-container; -} - .issuable-warning-icon { background-color: $orange-100; border-radius: $border-radius-default; @@ -27,7 +22,7 @@ .files-changed-inner, .limited-header-width, .limited-width-notes { - @extend .fixed-width-container; + @include fixed-width-container; } .issuable-details { @@ -35,13 +30,13 @@ .mr-source-target, .mr-state-widget, .merge-manually { - @extend .fixed-width-container; + @include fixed-width-container; } } .merge-request-details { .emoji-list-container { - @extend .fixed-width-container; + @include fixed-width-container; } } } diff --git a/app/services/groups/create_service.rb b/app/services/groups/create_service.rb index 74aad3b1c94..8f1f25a7307 100644 --- a/app/services/groups/create_service.rb +++ b/app/services/groups/create_service.rb @@ -62,12 +62,16 @@ module Groups end def can_use_visibility_level? - unless Gitlab::VisibilityLevel.allowed_for?(current_user, params[:visibility_level]) + unless Gitlab::VisibilityLevel.allowed_for?(current_user, visibility_level) deny_visibility_level(@group) return false end true end + + def visibility_level + params[:visibility].present? ? Gitlab::VisibilityLevel.level_value(params[:visibility]) : params[:visibility_level] + end end end diff --git a/changelogs/unreleased/fix-api-group-visibility.yml b/changelogs/unreleased/fix-api-group-visibility.yml new file mode 100644 index 00000000000..7fbdcd729c6 --- /dev/null +++ b/changelogs/unreleased/fix-api-group-visibility.yml @@ -0,0 +1,5 @@ +--- +title: Fix api group visibility +merge_request: 26896 +author: +type: fixed diff --git a/lib/gitlab/visibility_level.rb b/lib/gitlab/visibility_level.rb index a3c7de87765..8f9d5cf1e63 100644 --- a/lib/gitlab/visibility_level.rb +++ b/lib/gitlab/visibility_level.rb @@ -75,8 +75,8 @@ module Gitlab user.admin? || allowed_level?(level.to_i) end + # Level should be a numeric value, e.g. `20` # Return true if the specified level is allowed for the current user. - # Level should be a numeric value, e.g. `20`. def allowed_level?(level) valid_level?(level) && non_restricted_level?(level) end diff --git a/spec/frontend/lib/utils/text_utility_spec.js b/spec/frontend/lib/utils/text_utility_spec.js index 3f331055a32..17fdbf606b2 100644 --- a/spec/frontend/lib/utils/text_utility_spec.js +++ b/spec/frontend/lib/utils/text_utility_spec.js @@ -23,14 +23,6 @@ describe('text_utility', () => { }); }); - describe('capitalizeFirstCharacter', () => { - it('returns string with first letter capitalized', () => { - expect(textUtils.capitalizeFirstCharacter('gitlab')).toEqual('Gitlab'); - expect(textUtils.highCountTrim(105)).toBe('99+'); - expect(textUtils.highCountTrim(100)).toBe('99+'); - }); - }); - describe('humanize', () => { it('should remove underscores and uppercase the first letter', () => { expect(textUtils.humanize('foo_bar')).toEqual('Foo bar'); @@ -63,6 +55,12 @@ describe('text_utility', () => { }); }); + describe('capitalizeFirstCharacter', () => { + it('returns string with first letter capitalized', () => { + expect(textUtils.capitalizeFirstCharacter('gitlab')).toEqual('Gitlab'); + }); + }); + describe('slugifyWithHyphens', () => { it('should replaces whitespaces with hyphens and convert to lower case', () => { expect(textUtils.slugifyWithHyphens('My Input String')).toEqual('my-input-string'); diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js index 3d2c617e479..394e3343be6 100644 --- a/spec/javascripts/notes_spec.js +++ b/spec/javascripts/notes_spec.js @@ -670,7 +670,7 @@ describe('Notes', function() { done(); }) .catch(done.fail); - }); + }, 2000); }); describe('postComment with Slash commands', () => { diff --git a/spec/lib/gitlab/visibility_level_spec.rb b/spec/lib/gitlab/visibility_level_spec.rb index 2c1146ceff5..0a170a157fe 100644 --- a/spec/lib/gitlab/visibility_level_spec.rb +++ b/spec/lib/gitlab/visibility_level_spec.rb @@ -85,4 +85,12 @@ describe Gitlab::VisibilityLevel do .to eq(described_class::PRIVATE) end end + + describe '.valid_level?' do + it 'returns true when visibility is valid' do + expect(described_class.valid_level?(described_class::PRIVATE)).to be_truthy + expect(described_class.valid_level?(described_class::INTERNAL)).to be_truthy + expect(described_class.valid_level?(described_class::PUBLIC)).to be_truthy + end + end end diff --git a/spec/services/groups/create_service_spec.rb b/spec/services/groups/create_service_spec.rb index fe6a8691ae0..cd061afbfd5 100644 --- a/spec/services/groups/create_service_spec.rb +++ b/spec/services/groups/create_service_spec.rb @@ -88,6 +88,17 @@ describe Groups::CreateService, '#execute' do end end + describe "when visibility level is passed as a string" do + let(:service) { described_class.new(user, group_params) } + let(:group_params) { { path: 'group_path', visibility: 'public' } } + + it "assigns the correct visibility level" do + group = service.execute + + expect(group.visibility_level).to eq(Gitlab::VisibilityLevel::PUBLIC) + end + end + describe 'creating a mattermost team' do let!(:params) { group_params.merge(create_chat_team: "true") } let!(:service) { described_class.new(user, params) } |