Commit 955e4e98 authored by Fatih Acet's avatar Fatih Acet 🙌

Merge branch '2747-protected-environments-frontend' into 'master'

Port of protected environments frontend changes from EE to CE

See merge request gitlab-org/gitlab-ce!21018
parents d40c5fa0 03c4c467
......@@ -86,6 +86,28 @@ export default {
);
},
/**
* Checkes whether the user is allowed to deploy to this environment.
* (`can_deploy` currently only set in EE)
*
* @returns {Boolean}
*/
isDeployableByUser() {
return this.model && 'can_deploy' in this.model
? this.model.can_deploy
: this.canCreateDeployment;
},
/**
* Checkes whether the environment is protected.
* (`is_protected` currently only set in EE)
*
* @returns {Boolean}
*/
isProtected() {
return this.model && this.model.is_protected;
},
/**
* Returns whether the environment can be stopped.
*
......@@ -455,7 +477,7 @@ export default {
class="gl-responsive-table-row"
role="row">
<div
class="table-section section-10"
class="table-section section-wrap section-15"
role="gridcell"
>
<div
......@@ -465,16 +487,17 @@ export default {
>
{{ s__("Environments|Environment") }}
</div>
<a
<span
v-if="!model.isFolder"
:href="environmentPath"
class="environment-name flex-truncate-parent table-mobile-content">
<span
class="environment-name table-mobile-content">
<a
v-tooltip
:href="environmentPath"
:title="model.name"
class="flex-truncate-child"
>{{ model.name }}</span>
</a>
>
{{ model.name }}
</a>
</span>
<span
v-else
class="folder-name"
......@@ -548,7 +571,7 @@ export default {
<div
v-if="!model.isFolder"
class="table-section section-25"
class="table-section section-20"
role="gridcell"
>
<div
......@@ -612,7 +635,7 @@ export default {
/>
<actions-component
v-if="hasManualActions && canCreateDeployment"
v-if="hasManualActions && isDeployableByUser"
:actions="manualActions"
/>
......@@ -622,7 +645,7 @@ export default {
/>
<rollback-component
v-if="canRetry && canCreateDeployment"
v-if="canRetry && isDeployableByUser"
:is-last-deployment="isLastDeployment"
:retry-url="retryUrl"
/>
......
......@@ -15,7 +15,7 @@ export default {
environments: {
type: Array,
required: true,
default: () => ([]),
default: () => [],
},
canReadEnvironment: {
......@@ -35,10 +35,7 @@ export default {
return `${window.location.pathname}/folders/${model.folderName}`;
},
shouldRenderFolderContent(env) {
return env.isFolder &&
env.isOpen &&
env.children &&
env.children.length > 0;
return env.isFolder && env.isOpen && env.children && env.children.length > 0;
},
},
};
......@@ -53,7 +50,7 @@ export default {
role="row"
>
<div
class="table-section section-10 environments-name"
class="table-section section-15 environments-name"
role="columnheader"
>
{{ s__("Environments|Environment") }}
......@@ -71,7 +68,7 @@ export default {
{{ s__("Environments|Job") }}
</div>
<div
class="table-section section-25 environments-commit"
class="table-section section-20 environments-commit"
role="columnheader"
>
{{ s__("Environments|Commit") }}
......@@ -91,7 +88,7 @@ export default {
:model="model"
:can-create-deployment="canCreateDeployment"
:can-read-environment="canReadEnvironment"
:key="i"
:key="`environment-item-${i}`"
/>
<template
......
......@@ -28,6 +28,8 @@
.settings-content
= render 'autodevops_form'
= render_if_exists 'projects/settings/ci_cd/protected_environments', expanded: expanded
%section.qa-runners-settings.settings.no-animate#js-runners-settings{ class: ('expanded' if expanded) }
.settings-header
%h4
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment