diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/branches/components/delete_branch_modal.vue | 7 | ||||
-rw-r--r-- | app/assets/javascripts/header.js | 2 | ||||
-rw-r--r-- | app/helpers/application_helper.rb | 3 | ||||
-rw-r--r-- | app/services/resource_access_tokens/create_service.rb | 9 | ||||
-rw-r--r-- | app/views/layouts/header/_default.html.haml | 21 |
5 files changed, 31 insertions, 11 deletions
diff --git a/app/assets/javascripts/branches/components/delete_branch_modal.vue b/app/assets/javascripts/branches/components/delete_branch_modal.vue index 383fa5f7512..d5631337cec 100644 --- a/app/assets/javascripts/branches/components/delete_branch_modal.vue +++ b/app/assets/javascripts/branches/components/delete_branch_modal.vue @@ -76,7 +76,9 @@ export default { this.$refs.modal.show(); }, submitForm() { - this.$refs.form.submit(); + if (!this.deleteButtonDisabled) { + this.$refs.form.submit(); + } }, closeModal() { this.$refs.modal.hide(); @@ -127,7 +129,7 @@ export default { </div> </gl-alert> - <form ref="form" :action="deletePath" method="post"> + <form ref="form" :action="deletePath" method="post" @submit.prevent> <div v-if="isProtectedBranch" class="gl-mt-4"> <p> <gl-sprintf :message="undoneWarning"> @@ -150,6 +152,7 @@ export default { class="gl-mt-4" aria-labelledby="input-label" autocomplete="off" + @keyup.enter="submitForm" /> </p> </div> diff --git a/app/assets/javascripts/header.js b/app/assets/javascripts/header.js index 9b6113c7444..4d03a523486 100644 --- a/app/assets/javascripts/header.js +++ b/app/assets/javascripts/header.js @@ -84,6 +84,8 @@ function initStatusTriggers() { }) .catch(() => {}); }); + + setStatusModalTriggerEl.classList.add('ready'); } } diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ce6900d1779..340f3d45365 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -315,7 +315,8 @@ module ApplicationHelper class_names << 'epic-boards-page gl-overflow-auto' if current_controller?(:epic_boards) class_names << 'with-performance-bar' if performance_bar_enabled? class_names << system_message_class - class_names << 'logged-out-marketing-header' unless current_user + class_names << 'logged-out-marketing-header' if !current_user && ::Gitlab.com? + class_names end diff --git a/app/services/resource_access_tokens/create_service.rb b/app/services/resource_access_tokens/create_service.rb index b8a210c0a95..c6948536053 100644 --- a/app/services/resource_access_tokens/create_service.rb +++ b/app/services/resource_access_tokens/create_service.rb @@ -13,6 +13,7 @@ module ResourceAccessTokens return error("User does not have permission to create #{resource_type} access token") unless has_permission_to_create? access_level = params[:access_level] || Gitlab::Access::MAINTAINER + return error("Could not provision owner access to project access token") if do_not_allow_owner_access_level_for_project_bot?(access_level) user = create_user @@ -107,7 +108,7 @@ module ResourceAccessTokens end def create_membership(resource, user, access_level) - resource.add_member(user, access_level, current_user: current_user, expires_at: params[:expires_at]) + resource.add_member(user, access_level, expires_at: params[:expires_at]) end def log_event(token) @@ -121,6 +122,12 @@ module ResourceAccessTokens def success(access_token) ServiceResponse.success(payload: { access_token: access_token }) end + + def do_not_allow_owner_access_level_for_project_bot?(access_level) + resource.is_a?(Project) && + access_level == Gitlab::Access::OWNER && + !current_user.can?(:manage_owners, resource) + end end end diff --git a/app/views/layouts/header/_default.html.haml b/app/views/layouts/header/_default.html.haml index 42ffd155647..47d8f5a447f 100644 --- a/app/views/layouts/header/_default.html.haml +++ b/app/views/layouts/header/_default.html.haml @@ -19,7 +19,11 @@ .gl-display-none.gl-sm-display-block = render "layouts/nav/top_nav" - else - = render 'layouts/header/marketing_links' + - if Gitlab.com? + = render 'layouts/header/marketing_links' + - else + .gl-display-none.gl-sm-display-block + = render "layouts/nav/top_nav" - if top_nav_show_search .navbar-collapse.gl-transition-medium.collapse.gl-mr-auto.global-search-container.hide-when-top-nav-responsive-open @@ -102,7 +106,7 @@ = sprite_icon('chevron-down', css_class: 'caret-down') .dropdown-menu.dropdown-menu-right = render 'layouts/header/help_dropdown' - - unless current_user + - if !current_user && Gitlab.com? %li.nav-item.gl-display-none.gl-sm-display-block = render "layouts/nav/top_nav" - if header_link?(:user_dropdown) @@ -118,11 +122,14 @@ = link_to admin_impersonation_path, class: 'nav-link impersonation-btn', method: :delete, title: _('Stop impersonation'), aria: { label: _('Stop impersonation') }, data: { toggle: 'tooltip', placement: 'bottom', container: 'body', qa_selector: 'stop_impersonation_link' } do = sprite_icon('incognito', size: 18) - if header_link?(:sign_in) - %li.nav-item.gl-display-none.gl-sm-display-block - = link_to _('Sign up now'), new_user_registration_path, class: 'gl-button btn btn-default btn-sign-in' - %li.nav-item.gl-display-none.gl-sm-display-block - = link_to _('Login'), new_session_path(:user, redirect_to_referer: 'yes') - = render 'layouts/header/sign_in_register_button', class: 'gl-sm-display-none' + - if Gitlab.com? + %li.nav-item.gl-display-none.gl-sm-display-block + = link_to _('Sign up now'), new_user_registration_path, class: 'gl-button btn btn-default btn-sign-in' + %li.nav-item.gl-display-none.gl-sm-display-block + = link_to _('Login'), new_session_path(:user, redirect_to_referer: 'yes') + = render 'layouts/header/sign_in_register_button', class: 'gl-sm-display-none' + - else + = render 'layouts/header/sign_in_register_button' %button.navbar-toggler.d-block.d-sm-none{ type: 'button', class: 'gl-border-none!', data: { testid: 'top-nav-responsive-toggle', qa_selector: 'mobile_navbar_button' } } %span.sr-only= _('Toggle navigation') |