diff options
Diffstat (limited to 'app')
8 files changed, 38 insertions, 13 deletions
diff --git a/app/assets/javascripts/members/components/action_buttons/invite_action_buttons.vue b/app/assets/javascripts/members/components/action_buttons/invite_action_buttons.vue index 0bcc85157f1..91062c222f4 100644 --- a/app/assets/javascripts/members/components/action_buttons/invite_action_buttons.vue +++ b/app/assets/javascripts/members/components/action_buttons/invite_action_buttons.vue @@ -42,6 +42,7 @@ export default { :member-id="member.id" :message="message" :title="s__('Member|Revoke invite')" + is-invite /> </div> </action-button-group> diff --git a/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue b/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue index 3777f1dbb97..9954da3e0d4 100644 --- a/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue +++ b/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue @@ -36,6 +36,11 @@ export default { required: false, default: false, }, + isInvite: { + type: Boolean, + required: false, + default: false, + }, }, computed: { ...mapState(['memberPath']), @@ -57,6 +62,7 @@ export default { :data-member-path="computedMemberPath" :data-member-type="memberType" :data-is-access-request="isAccessRequest" + :data-is-invite="isInvite" :data-message="message" data-qa-selector="delete_member_button" /> diff --git a/app/assets/javascripts/vue_shared/components/remove_member_modal.vue b/app/assets/javascripts/vue_shared/components/remove_member_modal.vue index 2a19537f820..9968240b5b1 100644 --- a/app/assets/javascripts/vue_shared/components/remove_member_modal.vue +++ b/app/assets/javascripts/vue_shared/components/remove_member_modal.vue @@ -2,7 +2,7 @@ import { GlFormCheckbox, GlModal } from '@gitlab/ui'; import { parseBoolean } from '~/lib/utils/common_utils'; import csrf from '~/lib/utils/csrf'; -import { __ } from '~/locale'; +import { s__, __ } from '~/locale'; export default { actionCancel: { @@ -22,11 +22,20 @@ export default { isAccessRequest() { return parseBoolean(this.modalData.isAccessRequest); }, + isInvite() { + return parseBoolean(this.modalData.isInvite); + }, isGroupMember() { return this.modalData.memberType === 'GroupMember'; }, actionText() { - return this.isAccessRequest ? __('Deny access request') : __('Remove member'); + if (this.isAccessRequest) { + return __('Deny access request'); + } else if (this.isInvite) { + return s__('Member|Revoke invite'); + } + + return __('Remove member'); }, actionPrimary() { return { @@ -36,6 +45,9 @@ export default { }, }; }, + showUnassignIssuablesCheckbox() { + return !this.isAccessRequest && !this.isInvite; + }, }, mounted() { document.addEventListener('click', this.handleClick); @@ -76,7 +88,7 @@ export default { <gl-form-checkbox v-if="isGroupMember" name="remove_sub_memberships"> {{ __('Also remove direct user membership from subgroups and projects') }} </gl-form-checkbox> - <gl-form-checkbox v-if="!isAccessRequest" name="unassign_issuables"> + <gl-form-checkbox v-if="showUnassignIssuablesCheckbox" name="unassign_issuables"> {{ __('Also unassign this user from related issues and merge requests') }} </gl-form-checkbox> </form> diff --git a/app/graphql/types/ci/job_type.rb b/app/graphql/types/ci/job_type.rb index 2d766a14291..94a256fed3d 100644 --- a/app/graphql/types/ci/job_type.rb +++ b/app/graphql/types/ci/job_type.rb @@ -26,6 +26,8 @@ module Types description: 'Whether this job is allowed to fail.' field :duration, GraphQL::INT_TYPE, null: true, description: 'Duration of the job in seconds.' + field :tags, [GraphQL::STRING_TYPE], null: true, + description: 'Tags for the current job.' # Life-cycle timestamps: field :created_at, Types::TimeType, null: false, @@ -68,6 +70,10 @@ module Types Gitlab::Graphql::Loaders::BatchModelLoader.new(::Ci::Pipeline, object.pipeline_id).find end + def tags + object.tags.map(&:name) if object.is_a?(::Ci::Build) + end + def detailed_status object.detailed_status(context[:current_user]) end diff --git a/app/uploaders/object_storage.rb b/app/uploaders/object_storage.rb index 8c9c861e1fe..ea71930062c 100644 --- a/app/uploaders/object_storage.rb +++ b/app/uploaders/object_storage.rb @@ -187,7 +187,7 @@ module ObjectStorage hash[:TempPath] = workhorse_local_upload_path end - hash[:FeatureFlagExtractBase] = Feature.enabled?(:workhorse_extract_filename_base) + hash[:FeatureFlagExtractBase] = Feature.enabled?(:workhorse_extract_filename_base, default_enabled: :yaml) hash[:MaximumSize] = maximum_size if maximum_size.present? end end diff --git a/app/views/projects/diffs/_diffs.html.haml b/app/views/projects/diffs/_diffs.html.haml index cec8948aaa4..1c7a9ffe0bb 100644 --- a/app/views/projects/diffs/_diffs.html.haml +++ b/app/views/projects/diffs/_diffs.html.haml @@ -8,7 +8,7 @@ .content-block.oneline-block.files-changed.diff-files-changed.js-diff-files-changed .files-changed-inner - .inline-parallel-buttons.d-none.d-md-block + .inline-parallel-buttons.gl-display-none.gl-md-display-flex - if !diffs_expanded? && diff_files.any? { |diff_file| diff_file.collapsed? } = link_to _('Expand all'), url_for(safe_params.merge(expanded: 1, format: nil)), class: 'gl-button btn btn-default' - if show_whitespace_toggle @@ -20,7 +20,7 @@ = diff_compare_whitespace_link(diffs.project, params[:from], params[:to], class: 'd-none d-sm-inline-block') - elsif current_controller?(:wikis) = toggle_whitespace_link(url_for(params_with_whitespace), class: 'd-none d-sm-inline-block') - .btn-group + .btn-group.gl-ml-3 = inline_diff_btn = parallel_diff_btn = render 'projects/diffs/stats', diff_files: diff_files diff --git a/app/views/projects/diffs/_file.html.haml b/app/views/projects/diffs/_file.html.haml index 9197b177b7b..35e2fe1b398 100644 --- a/app/views/projects/diffs/_file.html.haml +++ b/app/views/projects/diffs/_file.html.haml @@ -14,10 +14,10 @@ = submodule_diff_compare_link(diff_file) - unless diff_file.submodule? - .file-actions.d-none.d-sm-block + .file-actions.gl-display-none.gl-sm-display-flex - if diff_file.blob&.readable_text? - %span.has-tooltip{ title: _("Toggle comments for this file") } - = link_to '#', class: 'js-toggle-diff-comments btn gl-button btn-default selected', disabled: @diff_notes_disabled do + %span.has-tooltip.gl-mr-3{ title: _("Toggle comments for this file") } + = link_to '#', class: 'js-toggle-diff-comments btn gl-button btn-default btn-icon selected', disabled: @diff_notes_disabled do = sprite_icon('comment') \ - if editable_diff?(diff_file) diff --git a/app/views/shared/notes/_comment_button.html.haml b/app/views/shared/notes/_comment_button.html.haml index 3e81b1fcb13..d415c64b929 100644 --- a/app/views/shared/notes/_comment_button.html.haml +++ b/app/views/shared/notes/_comment_button.html.haml @@ -1,15 +1,15 @@ - noteable_name = @note.noteable.human_class_name .float-left.btn-group.gl-mr-3.droplab-dropdown.comment-type-dropdown.js-comment-type-dropdown - %input.btn.gl-button.btn-success.js-comment-button.js-comment-submit-button{ type: 'submit', value: _('Comment'), data: { qa_selector: 'comment_button' } } + %input.btn.gl-button.btn-confirm.js-comment-button.js-comment-submit-button{ type: 'submit', value: _('Comment'), data: { qa_selector: 'comment_button' } } - if @note.can_be_discussion_note? - = button_tag type: 'button', class: 'gl-button btn dropdown-toggle btn-success js-note-new-discussion js-disable-on-submit', data: { 'dropdown-trigger' => '#resolvable-comment-menu' }, 'aria-label' => _('Open comment type dropdown') do + = button_tag type: 'button', class: 'gl-button btn dropdown-toggle btn-confirm btn-icon js-note-new-discussion js-disable-on-submit', data: { 'dropdown-trigger' => '#resolvable-comment-menu' }, 'aria-label' => _('Open comment type dropdown') do = sprite_icon('chevron-down') %ul#resolvable-comment-menu.dropdown-menu.dropdown-open-top{ data: { dropdown: true } } %li#comment.droplab-item-selected{ data: { value: '', 'submit-text' => _('Comment'), 'close-text' => _("Comment & close %{noteable_name}") % { noteable_name: noteable_name }, 'reopen-text' => _("Comment & reopen %{noteable_name}") % { noteable_name: noteable_name } } } - %button{ type: 'button' } + %button.btn.gl-button.btn-default-tertiary = sprite_icon('check', css_class: 'icon') .description %strong= _("Comment") @@ -19,7 +19,7 @@ %li.divider.droplab-item-ignore %li#discussion{ data: { value: 'DiscussionNote', 'submit-text' => _('Start thread'), 'close-text' => _("Start thread & close %{noteable_name}") % { noteable_name: noteable_name }, 'reopen-text' => _("Start thread & reopen %{noteable_name}") % { noteable_name: noteable_name } } } - %button{ type: 'button' } + %button.btn.gl-button.btn-default-tertiary = sprite_icon('check', css_class: 'icon') .description %strong= _("Start thread") |
