Commit 03c4c467 authored by Mike Greiling's avatar Mike Greiling Committed by Fatih Acet

Port of protected environments frontend changes from EE to CE

parent d40c5fa0
...@@ -86,6 +86,28 @@ export default { ...@@ -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. * Returns whether the environment can be stopped.
* *
...@@ -455,7 +477,7 @@ export default { ...@@ -455,7 +477,7 @@ export default {
class="gl-responsive-table-row" class="gl-responsive-table-row"
role="row"> role="row">
<div <div
class="table-section section-10" class="table-section section-wrap section-15"
role="gridcell" role="gridcell"
> >
<div <div
...@@ -465,16 +487,17 @@ export default { ...@@ -465,16 +487,17 @@ export default {
> >
{{ s__("Environments|Environment") }} {{ s__("Environments|Environment") }}
</div> </div>
<a <span
v-if="!model.isFolder" v-if="!model.isFolder"
:href="environmentPath" class="environment-name table-mobile-content">
class="environment-name flex-truncate-parent table-mobile-content"> <a
<span
v-tooltip v-tooltip
:href="environmentPath"
:title="model.name" :title="model.name"
class="flex-truncate-child" >
>{{ model.name }}</span> {{ model.name }}
</a> </a>
</span>
<span <span
v-else v-else
class="folder-name" class="folder-name"
...@@ -548,7 +571,7 @@ export default { ...@@ -548,7 +571,7 @@ export default {
<div <div
v-if="!model.isFolder" v-if="!model.isFolder"
class="table-section section-25" class="table-section section-20"
role="gridcell" role="gridcell"
> >
<div <div
...@@ -612,7 +635,7 @@ export default { ...@@ -612,7 +635,7 @@ export default {
/> />
<actions-component <actions-component
v-if="hasManualActions && canCreateDeployment" v-if="hasManualActions && isDeployableByUser"
:actions="manualActions" :actions="manualActions"
/> />
...@@ -622,7 +645,7 @@ export default { ...@@ -622,7 +645,7 @@ export default {
/> />
<rollback-component <rollback-component
v-if="canRetry && canCreateDeployment" v-if="canRetry && isDeployableByUser"
:is-last-deployment="isLastDeployment" :is-last-deployment="isLastDeployment"
:retry-url="retryUrl" :retry-url="retryUrl"
/> />
......
...@@ -15,7 +15,7 @@ export default { ...@@ -15,7 +15,7 @@ export default {
environments: { environments: {
type: Array, type: Array,
required: true, required: true,
default: () => ([]), default: () => [],
}, },
canReadEnvironment: { canReadEnvironment: {
...@@ -35,10 +35,7 @@ export default { ...@@ -35,10 +35,7 @@ export default {
return `${window.location.pathname}/folders/${model.folderName}`; return `${window.location.pathname}/folders/${model.folderName}`;
}, },
shouldRenderFolderContent(env) { shouldRenderFolderContent(env) {
return env.isFolder && return env.isFolder && env.isOpen && env.children && env.children.length > 0;
env.isOpen &&
env.children &&
env.children.length > 0;
}, },
}, },
}; };
...@@ -53,7 +50,7 @@ export default { ...@@ -53,7 +50,7 @@ export default {
role="row" role="row"
> >
<div <div
class="table-section section-10 environments-name" class="table-section section-15 environments-name"
role="columnheader" role="columnheader"
> >
{{ s__("Environments|Environment") }} {{ s__("Environments|Environment") }}
...@@ -71,7 +68,7 @@ export default { ...@@ -71,7 +68,7 @@ export default {
{{ s__("Environments|Job") }} {{ s__("Environments|Job") }}
</div> </div>
<div <div
class="table-section section-25 environments-commit" class="table-section section-20 environments-commit"
role="columnheader" role="columnheader"
> >
{{ s__("Environments|Commit") }} {{ s__("Environments|Commit") }}
...@@ -91,7 +88,7 @@ export default { ...@@ -91,7 +88,7 @@ export default {
:model="model" :model="model"
:can-create-deployment="canCreateDeployment" :can-create-deployment="canCreateDeployment"
:can-read-environment="canReadEnvironment" :can-read-environment="canReadEnvironment"
:key="i" :key="`environment-item-${i}`"
/> />
<template <template
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
.settings-content .settings-content
= render 'autodevops_form' = 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) } %section.qa-runners-settings.settings.no-animate#js-runners-settings{ class: ('expanded' if expanded) }
.settings-header .settings-header
%h4 %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