@@ -85,7 +85,7 @@ export const getWorkloadSchema = (): any => {
8585 return cloneDeep ( getSpec ( ) . components . schemas . Workload )
8686}
8787
88- export const getWorkloadUiSchema = ( user : GetSessionApiResponse [ 'user' ] , teamId : string ) : any => {
88+ export const getWorkloadUiSchema = ( user : GetSessionApiResponse [ 'user' ] , teamId : string , isNameEditable ) : any => {
8989 const uiSchema = {
9090 'ui:description' : ' ' ,
9191 id : { 'ui:widget' : 'hidden' } ,
@@ -100,6 +100,7 @@ export const getWorkloadUiSchema = (user: GetSessionApiResponse['user'], teamId:
100100 namespace : teamId !== 'admin' && { 'ui:widget' : 'hidden' } ,
101101 createNamespace : teamId !== 'admin' && { 'ui:widget' : 'hidden' } ,
102102 sidecarInject : teamId !== 'admin' && { 'ui:widget' : 'hidden' } ,
103+ name : { 'ui:readonly' : ! isNameEditable } ,
103104 }
104105 applyAclToUiSchema ( uiSchema , user , teamId , 'workload' )
105106 return uiSchema
@@ -108,7 +109,7 @@ export const getWorkloadUiSchema = (user: GetSessionApiResponse['user'], teamId:
108109interface Props extends CrudProps {
109110 teamId : string
110111 workload ?: any
111- workloadId ?: string
112+ workloadName ?: string
112113 values ?: any
113114 createWorkload : any
114115 updateWorkload : any
@@ -120,7 +121,7 @@ interface Props extends CrudProps {
120121export default function ( {
121122 teamId,
122123 workload,
123- workloadId ,
124+ workloadName ,
124125 values,
125126 createWorkload,
126127 updateWorkload,
@@ -144,7 +145,7 @@ export default function ({
144145 const [ tab , setTab ] = useState ( defTab )
145146 const handleTabChange = ( event , tab ) => {
146147 // on the values tab, reset the values to see the comments in the code editor
147- if ( tab === 1 && ! workloadId ) setWorkloadValues ( values )
148+ if ( tab === 1 && ! workloadName ) setWorkloadValues ( values )
148149 setTab ( tab )
149150 }
150151 const [ data , setData ] = useState < any > ( workload )
@@ -163,20 +164,20 @@ export default function ({
163164 const path = workload ?. path
164165 const body = { ...workloadBody , chartMetadata, url : workload ?. url , path }
165166 let res
166- if ( workloadId ) {
167+ if ( workloadName ) {
167168 dispatch ( setError ( undefined ) )
168- res = await updateWorkload ( { teamId, workloadId , body } )
169- res = await updateWorkloadValues ( { teamId, workloadId , body : { values : workloadValues } } )
169+ res = await updateWorkload ( { teamId, workloadName , body } )
170+ res = await updateWorkloadValues ( { teamId, workloadName , body : { values : workloadValues } } )
170171 } else {
171172 res = await createWorkload ( { teamId, body } )
172- res = await updateWorkloadValues ( { teamId, workloadId : res . data . id , body : { values : workloadValues } } )
173+ res = await updateWorkloadValues ( { teamId, workloadName : res . data . name , body : { values : workloadValues } } )
173174 }
174175 if ( res . error ) return
175176 history . push ( `/teams/${ teamId } /workloads` )
176177 }
177178
178179 const schema = getWorkloadSchema ( )
179- const uiSchema = getWorkloadUiSchema ( user , teamId )
180+ const uiSchema = getWorkloadUiSchema ( user , teamId , ! workload ?. name )
180181
181182 return (
182183 < Box sx = { { width : '100%' } } >
@@ -210,9 +211,9 @@ export default function ({
210211 Submit
211212 </ Button >
212213 ) }
213- { workloadId && (
214+ { workloadName && (
214215 < DeleteButton
215- onDelete = { ( ) => deleteWorkload ( { teamId, workloadId } ) }
216+ onDelete = { ( ) => deleteWorkload ( { teamId, workloadName } ) }
216217 resourceName = { workload ?. name }
217218 resourceType = 'workload'
218219 data-cy = 'button-delete-workload'
@@ -334,9 +335,9 @@ export default function ({
334335 Submit
335336 </ Button >
336337 ) }
337- { workloadId && (
338+ { workloadName && (
338339 < DeleteButton
339- onDelete = { ( ) => deleteWorkload ( { teamId, workloadId } ) }
340+ onDelete = { ( ) => deleteWorkload ( { teamId, workloadName } ) }
340341 resourceName = { workload ?. name }
341342 resourceType = 'workload'
342343 data-cy = 'button-delete-workload'
0 commit comments