Skip to content

Commit 1386c41

Browse files
author
Mukul Tayal
committed
approver flow fix
1 parent 4ba814c commit 1386c41

File tree

4 files changed

+29
-32
lines changed

4 files changed

+29
-32
lines changed

src/components/EnvironmentOverride/DeploymentTemplateOverrideForm.tsx

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import React, { useEffect, useMemo, useState } from 'react'
22
import { useParams } from 'react-router-dom'
33
import { toast } from 'react-toastify'
44
import YAML from 'yaml'
5-
import { Progressing, showError } from '@devtron-labs/devtron-fe-common-lib'
5+
import { Progressing, getLockedJSON, getUnlockedJSON } from '@devtron-labs/devtron-fe-common-lib'
66
import { FloatingVariablesSuggestions, importComponentFromFELibrary, useJsonYaml } from '../common'
77
import { ConfigKeysWithLockType, DeploymentConfigStateActionTypes } from '../deploymentConfig/types'
88
import { EDITOR_VIEW } from '../deploymentConfig/constants'
99
import { DEPLOYMENT, ROLLOUT_DEPLOYMENT } from '../../config'
10-
import { createDeploymentTemplate, getLockedJsonPathArray, updateDeploymentTemplate } from './service'
10+
import { createDeploymentTemplate, updateDeploymentTemplate } from './service'
1111
import { ReactComponent as WarningIcon } from '../../assets/icons/ic-warning-y6.svg'
1212
import { ReactComponent as InfoIcon } from '../../assets/icons/ic-info-filled.svg'
1313
import DeploymentTemplateOptionsTab from '../deploymentConfig/DeploymentTemplateView/DeploymentTemplateOptionsTab'
@@ -27,8 +27,6 @@ import {
2727
validateBasicView,
2828
} from '../deploymentConfig/DeploymentConfig.utils'
2929
import CodeEditor from '../CodeEditor/CodeEditor'
30-
import { getUnlockedJSON } from '@devtron-labs/devtron-fe-common-lib'
31-
import { getLockedJSON } from '@devtron-labs/devtron-fe-common-lib'
3230

3331
const ConfigToolbar = importComponentFromFELibrary('ConfigToolbar', DeploymentConfigToolbar)
3432
const SaveChangesModal = importComponentFromFELibrary('SaveChangesModal')
@@ -218,13 +216,9 @@ export default function DeploymentTemplateOverrideForm({
218216
//loading state for checking locked changes
219217
dispatch({ type: DeploymentConfigStateActionTypes.lockChangesLoading, payload: true })
220218
}
221-
const [lockedJSONPathResp, deploymentTemplateResp] = await Promise.all([
222-
getLockedJsonPathArray(),
223-
isConfigProtectionEnabled
224-
? checkForProtectedLockedChanges()
225-
: api(+appId, +envId, prepareDataToSave(envOverrideValuesWithBasic, false)),
226-
])
227-
setLockedConfigKeysWithLockType(lockedJSONPathResp.result)
219+
const deploymentTemplateResp = isConfigProtectionEnabled
220+
? await checkForProtectedLockedChanges()
221+
: await api(+appId, +envId, prepareDataToSave(envOverrideValuesWithBasic, false))
228222
if (deploymentTemplateResp.result.isLockConfigError && !saveEligibleChanges) {
229223
//checking if any locked changes and opening drawer to show eligible and locked ones
230224
setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
@@ -748,6 +742,7 @@ export default function DeploymentTemplateOverrideForm({
748742
lockedOverride={lockedOverride}
749743
lockedConfigKeysWithLockType={lockedConfigKeysWithLockType}
750744
disableSaveEligibleChanges={disableSaveEligibleChanges}
745+
setLockedConfigKeysWithLockType={setLockedConfigKeysWithLockType}
751746
/>
752747
)}
753748
</DeploymentConfigContext.Provider>

src/components/EnvironmentOverride/service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ export function getDeploymentTemplate(appId, envId, chartId){
55
return get(`app/env/${appId}/${envId}/${chartId}`)
66
}
77

8-
export const getLockedJsonPathArray = () => get('config/lock')
98

109
export function updateDeploymentTemplate(appId, envId, payload){
1110
return put(`app/env`, payload)

src/components/deploymentConfig/DeploymentConfig.tsx

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,14 @@ import {
1212
} from './service'
1313
import { getChartReferences } from '../../services/service'
1414
import { useJsonYaml, importComponentFromFELibrary, FloatingVariablesSuggestions } from '../common'
15-
import { showError, useEffectAfterMount, useAsync, Progressing } from '@devtron-labs/devtron-fe-common-lib'
15+
import {
16+
showError,
17+
useEffectAfterMount,
18+
useAsync,
19+
Progressing,
20+
getLockedJSON,
21+
getUnlockedJSON,
22+
} from '@devtron-labs/devtron-fe-common-lib'
1623
import {
1724
ConfigKeysWithLockType,
1825
DeploymentConfigContextType,
@@ -46,10 +53,6 @@ import { SaveConfirmationDialog, SuccessToastBody } from './DeploymentTemplateVi
4653
import { deploymentConfigReducer, initDeploymentConfigState } from './DeploymentConfigReducer'
4754
import DeploymentTemplateReadOnlyEditorView from './DeploymentTemplateView/DeploymentTemplateReadOnlyEditorView'
4855
import CodeEditor from '../CodeEditor/CodeEditor'
49-
import { getUnlockedJSON } from '@devtron-labs/devtron-fe-common-lib'
50-
import { getLockedJSON } from '@devtron-labs/devtron-fe-common-lib'
51-
import { getLockedJsonPathArray } from '../EnvironmentOverride/service'
52-
5356
const DeploymentTemplateLockedDiff = importComponentFromFELibrary('DeploymentTemplateLockedDiff')
5457
const ConfigToolbar = importComponentFromFELibrary('ConfigToolbar', DeploymentConfigToolbar)
5558
const SaveChangesModal = importComponentFromFELibrary('SaveChangesModal')
@@ -488,11 +491,9 @@ export default function DeploymentConfig({
488491
})
489492
try {
490493
const requestBody = prepareDataToSave(true)
491-
const [lockedJSONPathResp, deploymentTemplateResp] = await Promise.all([
492-
getLockedJsonPathArray(),
493-
isProtected ? checkForProtectedLockedChanges() : getIfLockedConfigNonProtected(requestBody),
494-
])
495-
setLockedConfigKeysWithLockType(lockedJSONPathResp.result)
494+
const deploymentTemplateResp = isProtected
495+
? await checkForProtectedLockedChanges()
496+
: await getIfLockedConfigNonProtected(requestBody)
496497
if (deploymentTemplateResp.result.isLockConfigError) {
497498
setDisableSaveEligibleChanges(deploymentTemplateResp.result?.disableSaveEligibleChanges)
498499
setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
@@ -539,11 +540,7 @@ export default function DeploymentConfig({
539540
try {
540541
const requestBody = prepareDataToSave(true)
541542
const api = state.chartConfig.id ? updateDeploymentTemplate : saveDeploymentTemplate
542-
const [lockedJSONPathResp, deploymentTemplateResp] = await Promise.all([
543-
getLockedJsonPathArray(),
544-
api(requestBody, baseDeploymentAbortController.signal),
545-
])
546-
setLockedConfigKeysWithLockType(lockedJSONPathResp.result)
543+
const deploymentTemplateResp = await api(requestBody, baseDeploymentAbortController.signal)
547544
if (deploymentTemplateResp.result.isLockConfigError) {
548545
setDisableSaveEligibleChanges(deploymentTemplateResp.result?.disableSaveEligibleChanges)
549546
setLockedOverride(deploymentTemplateResp.result?.lockedOverride)
@@ -578,6 +575,7 @@ export default function DeploymentConfig({
578575
payload: false,
579576
})
580577
saveEligibleChangesCb && closeLockedDiffDrawerWithChildModal()
578+
state.showConfirmation && handleConfirmationDialog(false)
581579
}
582580
}
583581

@@ -980,6 +978,7 @@ export default function DeploymentConfig({
980978
lockedConfigKeysWithLockType={lockedConfigKeysWithLockType}
981979
lockedOverride={lockedOverride}
982980
disableSaveEligibleChanges={disableSaveEligibleChanges}
981+
setLockedConfigKeysWithLockType={setLockedConfigKeysWithLockType}
983982
/>
984983
)}
985984
{SaveChangesModal && state.showSaveChangesModal && (

src/components/deploymentConfig/DeploymentTemplateView/DeploymentConfigFormCTA.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,20 @@ export default function DeploymentConfigFormCTA({
6262
}
6363

6464
const checkForLockedChangesForApproval = async () => {
65-
setApproveChangesClicked(true)
65+
//setting approveChangesClicked to true only is approve changes button
6666
if (isApprovalPending && !approveDisabled && !isSuperAdmin) {
67+
setApproveChangesClicked(true)
6768
try {
6869
dispatch({
6970
type: DeploymentConfigStateActionTypes.lockChangesLoading,
7071
payload: true,
7172
})
72-
const res = await checkForProtectedLockedChanges()
73-
if (res.result.isLockConfigError) {
73+
const deploymentTemplateResp = await checkForProtectedLockedChanges()
74+
if (deploymentTemplateResp.result.isLockConfigError) {
7475
setShowLockedDiffForApproval(true)
75-
setLockedOverride(res.result.lockedOverride)
76+
setLockedOverride(deploymentTemplateResp.result.lockedOverride)
7677
handleLockedDiffDrawer(true)
77-
}
78+
} else setShowLockedDiffForApproval(false)
7879
} catch (err) {
7980
showError(err)
8081
} finally {
@@ -83,6 +84,8 @@ export default function DeploymentConfigFormCTA({
8384
payload: false,
8485
})
8586
}
87+
} else if (isApprovalPending) {
88+
setApproveChangesClicked(true)
8689
}
8790
}
8891

@@ -232,6 +235,7 @@ export default function DeploymentConfigFormCTA({
232235
draftVersionId={state.latestDraft.draftVersionId}
233236
resourceName="deployment template"
234237
reload={reload}
238+
onClose={() => setApproveChangesClicked(false)}
235239
>
236240
<span>{children}</span>
237241
</ApproveRequestTippy>

0 commit comments

Comments
 (0)