mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Merge branch '4.19'
This commit is contained in:
		
						commit
						0af88353fb
					
				| @ -70,7 +70,7 @@ public interface SAML2AuthManager extends PluggableAPIAuthenticator, PluggableSe | |||||||
|     ConfigKey<Integer> SAMLTimeout = new ConfigKey<Integer>("Advanced", Integer.class, "saml2.timeout", "1800", |     ConfigKey<Integer> SAMLTimeout = new ConfigKey<Integer>("Advanced", Integer.class, "saml2.timeout", "1800", | ||||||
|             "SAML2 IDP Metadata refresh interval in seconds, minimum value is set to 300", true); |             "SAML2 IDP Metadata refresh interval in seconds, minimum value is set to 300", true); | ||||||
| 
 | 
 | ||||||
|     ConfigKey<Boolean> SAMLCheckSignature = new ConfigKey<Boolean>("Advanced", Boolean.class, "saml2.check.signature", "false", |     ConfigKey<Boolean> SAMLCheckSignature = new ConfigKey<Boolean>("Advanced", Boolean.class, "saml2.check.signature", "true", | ||||||
|             "Whether SAML2 signature must be checked, when enforced and when the SAML response does not have a signature would lead to login exception", true); |             "Whether SAML2 signature must be checked, when enforced and when the SAML response does not have a signature would lead to login exception", true); | ||||||
| 
 | 
 | ||||||
|     public SAMLProviderMetadata getSPMetadata(); |     public SAMLProviderMetadata getSPMetadata(); | ||||||
|  | |||||||
| @ -100,6 +100,8 @@ class TestClusterDRS(cloudstackTestCase): | |||||||
|         ) |         ) | ||||||
|         cls._cleanup.append(cls.network) |         cls._cleanup.append(cls.network) | ||||||
| 
 | 
 | ||||||
|  |         cls.hypervisor = cls.testClient.getHypervisorInfo() | ||||||
|  |         if cls.hypervisor.lower() not in ['simulator']: | ||||||
|             cls.migrateSvms(cls.cluster) |             cls.migrateSvms(cls.cluster) | ||||||
| 
 | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|  | |||||||
| @ -66,12 +66,13 @@ | |||||||
|                       return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 |                       return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 | ||||||
|                     }" |                     }" | ||||||
|                     :loading="field.loading" |                     :loading="field.loading" | ||||||
|                     @input="onchange($event, field.name)"> |                     @input="onchange($event, field.name)" | ||||||
|  |                     @change="onSelectFieldChange(field.name)"> | ||||||
|                     <a-select-option |                     <a-select-option | ||||||
|                       v-for="(opt, idx) in field.opts" |                       v-for="(opt, idx) in field.opts" | ||||||
|                       :key="idx" |                       :key="idx" | ||||||
|                       :value="opt.id" |                       :value="['account'].includes(field.name) ? opt.name : opt.id" | ||||||
|                       :label="$t(opt.path || opt.name)"> |                       :label="$t((['storageid'].includes(field.name) || !opt.path) ? opt.name : opt.path)"> | ||||||
|                       <div> |                       <div> | ||||||
|                         <span v-if="(field.name.startsWith('zone'))"> |                         <span v-if="(field.name.startsWith('zone'))"> | ||||||
|                           <span v-if="opt.icon"> |                           <span v-if="opt.icon"> | ||||||
| @ -88,7 +89,7 @@ | |||||||
|                         <span v-if="(field.name.startsWith('managementserver'))"> |                         <span v-if="(field.name.startsWith('managementserver'))"> | ||||||
|                           <status :text="opt.state" /> |                           <status :text="opt.state" /> | ||||||
|                         </span> |                         </span> | ||||||
|                         {{ $t(opt.path || opt.name) }} |                         {{ $t((['storageid'].includes(field.name) || !opt.path) ? opt.name : opt.path) }} | ||||||
|                       </div> |                       </div> | ||||||
|                     </a-select-option> |                     </a-select-option> | ||||||
|                   </a-select> |                   </a-select> | ||||||
| @ -242,6 +243,11 @@ export default { | |||||||
|     onchange: async function (event, fieldname) { |     onchange: async function (event, fieldname) { | ||||||
|       this.fetchDynamicFieldData(fieldname, event.target.value) |       this.fetchDynamicFieldData(fieldname, event.target.value) | ||||||
|     }, |     }, | ||||||
|  |     onSelectFieldChange (fieldname) { | ||||||
|  |       if (fieldname === 'domainid') { | ||||||
|  |         this.fetchDynamicFieldData('account') | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     onVisibleForm () { |     onVisibleForm () { | ||||||
|       this.visibleFilter = !this.visibleFilter |       this.visibleFilter = !this.visibleFilter | ||||||
|       if (!this.visibleFilter) return |       if (!this.visibleFilter) return | ||||||
| @ -585,6 +591,9 @@ export default { | |||||||
|         if (domainIndex > -1) { |         if (domainIndex > -1) { | ||||||
|           this.fields[domainIndex].loading = false |           this.fields[domainIndex].loading = false | ||||||
|         } |         } | ||||||
|  |         if (accountIndex > -1) { | ||||||
|  |           this.fields[accountIndex].loading = false | ||||||
|  |         } | ||||||
|         if (imageStoreIndex > -1) { |         if (imageStoreIndex > -1) { | ||||||
|           this.fields[imageStoreIndex].loading = false |           this.fields[imageStoreIndex].loading = false | ||||||
|         } |         } | ||||||
| @ -609,7 +618,9 @@ export default { | |||||||
|         if (diskOfferingIndex > -1) { |         if (diskOfferingIndex > -1) { | ||||||
|           this.fields[diskOfferingIndex].loading = false |           this.fields[diskOfferingIndex].loading = false | ||||||
|         } |         } | ||||||
|  |         if (Array.isArray(arrayField)) { | ||||||
|           this.fillFormFieldValues() |           this.fillFormFieldValues() | ||||||
|  |         } | ||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|     initFormFieldData () { |     initFormFieldData () { | ||||||
| @ -620,6 +631,9 @@ export default { | |||||||
|       this.fetchDynamicFieldData(arrayField) |       this.fetchDynamicFieldData(arrayField) | ||||||
|     }, |     }, | ||||||
|     sortArray (data, key = 'name') { |     sortArray (data, key = 'name') { | ||||||
|  |       if (!data) { | ||||||
|  |         return [] | ||||||
|  |       } | ||||||
|       return data.sort(function (a, b) { |       return data.sort(function (a, b) { | ||||||
|         if (a[key] < b[key]) { return -1 } |         if (a[key] < b[key]) { return -1 } | ||||||
|         if (a[key] > b[key]) { return 1 } |         if (a[key] > b[key]) { return 1 } | ||||||
| @ -669,8 +683,15 @@ export default { | |||||||
|     }, |     }, | ||||||
|     fetchAccounts (searchKeyword) { |     fetchAccounts (searchKeyword) { | ||||||
|       return new Promise((resolve, reject) => { |       return new Promise((resolve, reject) => { | ||||||
|         api('listAccounts', { listAll: true, showicon: true, keyword: searchKeyword }).then(json => { |         const params = { listAll: true, isrecursive: false, showicon: true, keyword: searchKeyword } | ||||||
|           const account = json.listaccountsresponse.account |         if (this.form.domainid) { | ||||||
|  |           params.domainid = this.form.domainid | ||||||
|  |         } | ||||||
|  |         api('listAccounts', params).then(json => { | ||||||
|  |           var account = json.listaccountsresponse.account | ||||||
|  |           if (this.form.domainid) { | ||||||
|  |             account = account.filter(a => a.domainid === this.form.domainid) | ||||||
|  |           } | ||||||
|           resolve({ |           resolve({ | ||||||
|             type: 'account', |             type: 'account', | ||||||
|             data: account |             data: account | ||||||
|  | |||||||
| @ -382,6 +382,9 @@ export default { | |||||||
|       }) |       }) | ||||||
|     }, |     }, | ||||||
|     fetchData () { |     fetchData () { | ||||||
|  |       if (this.isAdminOrDomainAdmin()) { | ||||||
|  |         this.fetchDomainData() | ||||||
|  |       } | ||||||
|       this.fetchZoneData() |       this.fetchZoneData() | ||||||
|       this.allowSettingMTU() |       this.allowSettingMTU() | ||||||
|     }, |     }, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user