Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ui/public/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
"label.action.download.iso": "Download ISO",
"label.action.download.snapshot": "Download Snapshot",
"label.action.download.template": "Download Template",
"label.action.download.screenshot": "Download Validation Screenshot",
"label.action.download.volume": "Download Volume",
"label.action.edit.account": "Edit Account",
"label.action.edit.domain": "Edit Domain",
Expand Down Expand Up @@ -3161,6 +3162,7 @@
"message.action.discover.gpu.devices": "Please confirm that you want to discover GPU devices.",
"message.action.download.iso": "Please confirm that you want to download this ISO.",
"message.action.download.snapshot": "Please confirm that you want to download this Snapshot.",
"message.action.download.screenshot": "Please confirm that you want to download this screenshot",
"message.action.download.template": "Please confirm that you want to download this Template.",
"message.action.edit.backup.repository": "Please confirm that you want to update the backup repository.",
"message.action.edit.nfs.mount.options": "Changes to NFS mount options will only take affect on cancelling maintenance mode which will cause the storage pool to be remounted on all KVM hosts with the new mount options.",
Expand Down Expand Up @@ -3567,6 +3569,8 @@
"message.success.clone.network.offering": "Successfully cloned network offering:",
"message.disk.usage.info.data.points": "Each data point represents the difference in read/write data since the last data point.",
"message.disk.usage.info.sum.of.disks": "The disk usage shown is made up of the sum of read/write data from all the disks in the Instance.",
"message.download.screenshot": "Please click on the link to download the validation screenshot:<br><br>{url}",
"message.download.screenshot.failed": "Failed to download screenshot. Please, contact an administrator.",
"message.download.volume": "Please click the link to download the volume:<p><a href=\"#\">00000</a>",
"message.download.volume.confirm": "Please confirm that you want to download this volume.",
"message.edit.acl.failed": "Failed to edit ACL rule",
Expand Down
4 changes: 4 additions & 0 deletions ui/public/locales/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@
"label.action.disable.zone": "Desativar zona",
"label.action.download.iso": "Baixar ISO",
"label.action.download.snapshot": "Baixar snapshot",
"label.action.download.screenshot": "Baixar captura de tela de valida\u00e7\u00e3o",
"label.action.download.template": "Baixar template",
"label.action.download.volume": "Baixar disco",
"label.action.edit.account": "Editar conta",
Expand Down Expand Up @@ -2758,6 +2759,7 @@
"message.action.disable.zone": "Confirma a desativa\u00e7\u00e3o da zona.",
"message.action.download.iso": "Por favor confirme que voc\u00ea deseja baixar esta ISO.",
"message.action.download.snapshot": "Por favor confirme que voc\u00ea deseja baixar esta snapshot.",
"message.action.download.screenshot": "Por favor, confirme que voc\u00ea deseja baixar esta captura de tela.",
"message.action.download.template": "Por favor confirme que voc\u00ea deseja baixar este template.",
"message.action.edit.nfs.mount.options": "Altera\u00e7\u00f5es nas op\u00e7\u00f5es de montagem NFS s\u00f3 ter\u00e3o efeito ao cancelar o modo de manuten\u00e7\u00e3o, o que far\u00e1 com que o pool de armazenamento seja remontado em todos os hosts KVM com as novas op\u00e7\u00f5es de montagem.",
"message.action.enable.cluster": "Confirma a ativa\u00e7\u00e3o do cluster.",
Expand Down Expand Up @@ -3102,6 +3104,8 @@
"message.disk.offering.created": "Oferta de disco criada:",
"message.disk.usage.info.data.points": "Cada ponto no gr\u00e1fico representa a diferen\u00e7a de dados lidos/escritos desde a \u00faltima coleta de estat\u00edstica realizada (o ponto anterior)",
"message.disk.usage.info.sum.of.disks": "O uso de disco apresentado \u00e9 composto pela soma de dados lidos/escritos por todos os discos da VM",
"message.download.screenshot": "A captura de tela de valida\u00e7\u00e3o encontra-se disponível em:<br><br>{url}",
"message.download.screenshot.failed": "Falha ao baixar a captura de tela. Por favor, contate um administrador.",
"message.download.volume": "Clique <a href=\"#\">00000</a> para baixar o disco",
"message.download.volume.confirm": "Por favor confirme que voc\u00ea quer baixar este volume",
"message.drs.plan.description": "O n\u00famero m\u00e1ximo de migra\u00e7\u00f5es ao vivo permitidas para DRS. Configure DRS na aba de configura\u00e7\u00f5es antes de gerar um plano ou para ativar o DRS autom\u00e1tico para o cluster.",
Expand Down
25 changes: 25 additions & 0 deletions ui/src/config/section/storage.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { shallowRef, defineAsyncComponent } from 'vue'
import store from '@/store'
import { isZoneCreated } from '@/utils/zone'
import { isAdmin } from '@/role'
import { i18n } from '@/locales'

export default {
name: 'storage',
Expand Down Expand Up @@ -507,6 +508,30 @@ export default {
}
],
actions: [
{
api: 'downloadValidationScreenshot',
icon: 'picture-outlined',
label: 'label.action.download.screenshot',
message: 'message.action.download.screenshot',
dataView: true,
show: (record) => {
return record.status === 'BackedUp' && !['NotValidated', 'Validating', 'UnableToValidate'].includes(record.validationstatus)
},
args: ['backupid'],
mapping: {
backupid: {
value: (record) => { return record.id }
}
},
response: (result) => {
const state = result?.downloadvalidationscreenshotresponse?.state
const url = result?.downloadvalidationscreenshotresponse?.url
if (state !== 'DOWNLOAD_URL_CREATED' || !url) {
return i18n.global.t('message.download.screenshot.failed')
}
return i18n.global.t('message.download.screenshot', { url: `<a href="${url}" target="_blank">${url}</a>` })
}
},
{
api: 'restoreBackup',
icon: 'sync-outlined',
Expand Down