Коммит 36b0a5b8 создал по автору GitLab Bot's avatar GitLab Bot
Просмотр файлов

Add latest changes from gitlab-org/gitlab@master

владелец a6578252
d3caef18a88838486d64a427b00c40ac70f5c378
30052eb6209313e675c8598682d5541443f8571b
......@@ -69,7 +69,7 @@ gem 'rubyzip', '~> 2.0.0', require: 'zip'
gem 'acme-client', '~> 2.0', '>= 2.0.6'
# Browser detection
gem 'browser', '~> 2.5'
gem 'browser', '~> 4.2'
# GPG
gem 'gpgme', '~> 2.0.19'
......
......@@ -125,7 +125,7 @@ GEM
actionpack (>= 5.0)
activemodel (>= 5.0)
brakeman (4.2.1)
browser (2.5.3)
browser (4.2.0)
builder (3.2.4)
bullet (6.0.2)
activesupport (>= 3.0.0)
......@@ -1195,7 +1195,7 @@ DEPENDENCIES
bootsnap (~> 1.4.6)
bootstrap_form (~> 4.2.0)
brakeman (~> 4.2)
browser (~> 2.5)
browser (~> 4.2)
bullet (~> 6.0.2)
bundler-audit (~> 0.6.1)
capybara (~> 3.22.0)
......
......@@ -20,7 +20,6 @@ import ClustersService from './services/clusters_service';
import ClustersStore from './stores/clusters_store';
import Applications from './components/applications.vue';
import RemoveClusterConfirmation from './components/remove_cluster_confirmation.vue';
import setupToggleButtons from '../toggle_buttons';
import initProjectSelectDropdown from '~/project_select';
import initServerlessSurveyBanner from '~/serverless/survey_banner';
......@@ -128,10 +127,6 @@ export default class Clusters {
Clusters.initDismissableCallout();
initSettingsPanels();
const toggleButtonsContainer = document.querySelector('.js-cluster-enable-toggle-area');
if (toggleButtonsContainer) {
setupToggleButtons(toggleButtonsContainer);
}
this.initApplications(clusterType);
this.initEnvironments();
......
......@@ -118,7 +118,7 @@ export default {
</script>
<template>
<div>
<div class="gl-display-flex gl-justify-content-end">
<split-button
v-if="canCleanupResources"
:action-items="$options.splitButtonActionItems"
......
<script>
import { GlFormGroup, GlToggle, GlTooltipDirective } from '@gitlab/ui';
import { mapState } from 'vuex';
export default {
components: {
GlFormGroup,
GlToggle,
},
directives: {
GlTooltip: GlTooltipDirective,
},
data() {
return {
toggleEnabled: true,
};
},
computed: {
...mapState(['enabled', 'editable']),
},
mounted() {
this.toggleEnabled = this.enabled;
},
};
</script>
<template>
<div class="d-flex align-items-center">
<gl-form-group>
<div class="gl-display-flex gl-align-items-center">
<h4 class="gl-pr-3 gl-m-0 ">{{ s__('ClusterIntegration|GitLab Integration') }}</h4>
<input
id="cluster_enabled"
class="js-project-feature-toggle-input"
type="hidden"
:value="toggleEnabled"
name="cluster[enabled]"
/>
<div id="tooltipcontainer" class="js-cluster-enable-toggle-area">
<gl-toggle
v-model="toggleEnabled"
v-gl-tooltip:tooltipcontainer
class="gl-mb-0 js-project-feature-toggle"
data-qa-selector="integration_status_toggle"
:aria-describedby="__('Toggle Kubernetes cluster')"
:disabled="!editable"
:is_checked="toggleEnabled"
:title="
s__(
'ClusterIntegration|Enable or disable GitLab\'s connection to your Kubernetes cluster.',
)
"
/>
</div>
</div>
</gl-form-group>
</div>
</template>
import Vue from 'vue';
import IntegrationForm from '../components/integration_form.vue';
import { createStore } from '../stores';
export default () => {
const entryPoint = document.querySelector('#js-cluster-integration-form');
if (!entryPoint) {
return;
}
// eslint-disable-next-line no-new
new Vue({
el: entryPoint,
store: createStore(entryPoint.dataset),
render(createElement) {
return createElement(IntegrationForm);
},
});
};
import Vue from 'vue';
import Vuex from 'vuex';
import state from './state';
Vue.use(Vuex);
export const createStore = initialState =>
new Vuex.Store({
state: state(initialState),
});
export default createStore;
import { parseBoolean } from '../../../lib/utils/common_utils';
export default (initialState = {}) => {
return {
enabled: parseBoolean(initialState.enabled),
editable: parseBoolean(initialState.editable),
};
};
......@@ -267,7 +267,6 @@ export default {
<div
data-testid="designs-root"
class="gl-mt-5"
:class="{ 'designs-root': !isDesignListEmpty }"
@mouseenter="toggleOnPasteListener"
@mouseleave="toggleOffPasteListener"
>
......
import ClustersBundle from '~/clusters/clusters_bundle';
import initClusterHealth from '~/pages/projects/clusters/show/cluster_health';
import initIntegrationForm from '~/clusters/forms/show';
document.addEventListener('DOMContentLoaded', () => {
new ClustersBundle(); // eslint-disable-line no-new
initClusterHealth();
initIntegrationForm();
});
import initCreateCluster from '~/create_cluster/init_create_cluster';
import initIntegrationForm from '~/clusters/forms/show/index';
document.addEventListener('DOMContentLoaded', () => {
initCreateCluster(document, gon);
initIntegrationForm();
});
import ClustersBundle from '~/clusters/clusters_bundle';
import initGkeNamespace from '~/create_cluster/gke_cluster_namespace';
import initClusterHealth from './cluster_health';
import initIntegrationForm from '~/clusters/forms/show';
document.addEventListener('DOMContentLoaded', () => {
new ClustersBundle(); // eslint-disable-line no-new
initGkeNamespace();
initClusterHealth();
initIntegrationForm();
});
.designs-root {
border: 2px dashed transparent;
transition: border $gl-transition-duration-medium $general-hover-transition-curve;
&:hover {
border-color: $gray-100;
}
}
.design-list-item {
height: 280px;
text-decoration: none;
......
......@@ -17,7 +17,7 @@ def can_collaborate_with_project?(project, ref: nil)
# used across multiple calls in the view
def user_access(project)
@user_access ||= {}
@user_access[project] ||= Gitlab::UserAccess.new(current_user, project: project)
@user_access[project] ||= Gitlab::UserAccess.new(current_user, container: project)
end
# rubocop:enable Gitlab/ModuleWithInstanceVariables
end
......@@ -403,7 +403,7 @@ def check_user_can_push_to_source_branch!
return access_denied! unless @merge_request.source_branch_exists?
access_check = ::Gitlab::UserAccess
.new(current_user, project: @merge_request.source_project)
.new(current_user, container: @merge_request.source_project)
.can_push_to_branch?(@merge_request.source_branch)
access_denied! unless access_check
......
......@@ -105,7 +105,7 @@ def access_check
access.check(git_command, Gitlab::GitAccess::ANY)
if repo_type.project? && !container
@project = @container = access.project
@project = @container = access.container
end
end
......
# frozen_string_literal: true
module ClustersHelper
def has_multiple_clusters?
true
end
def create_new_cluster_label(provider: nil)
case provider
when 'aws'
......@@ -24,6 +28,13 @@ def js_clusters_list_data(path = nil)
}
end
def js_cluster_form_data(cluster, can_edit)
{
enabled: cluster.enabled?.to_s,
editable: can_edit.to_s
}
end
# This method is depreciated and will be removed when associated HAML files are moved to JavaScript
def provider_icon(provider = nil)
img_data = js_clusters_list_data.dig(:img_tags, provider&.to_sym) ||
......
......@@ -1180,12 +1180,12 @@ def broken?
end
def can_be_merged_by?(user)
access = ::Gitlab::UserAccess.new(user, project: project)
access = ::Gitlab::UserAccess.new(user, container: project)
access.can_update_branch?(target_branch)
end
def can_be_merged_via_command_line_by?(user)
access = ::Gitlab::UserAccess.new(user, project: project)
access = ::Gitlab::UserAccess.new(user, container: project)
access.can_push_to_branch?(target_branch)
end
......
......@@ -3,7 +3,7 @@
module Ci
class BuildPolicy < CommitStatusPolicy
condition(:protected_ref) do
access = ::Gitlab::UserAccess.new(@user, project: @subject.project)
access = ::Gitlab::UserAccess.new(@user, container: @subject.project)
if @subject.tag?
!access.can_create_tag?(@subject.ref)
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать