diff options
Diffstat (limited to 'src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue')
-rw-r--r-- | src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue b/src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue deleted file mode 100644 index cafbd935..00000000 --- a/src/views/AccessControl/SslCertificates/ModalUploadCertificate.vue +++ /dev/null @@ -1,168 +0,0 @@ -<template> - <b-modal id="upload-certificate" ref="modal" @ok="onOk" @hidden="resetForm"> - <template #modal-title> - <template v-if="certificate"> - {{ $t('pageSslCertificates.replaceCertificate') }} - </template> - <template v-else> - {{ $t('pageSslCertificates.addNewCertificate') }} - </template> - </template> - <b-form> - <!-- Replace Certificate type --> - <template v-if="certificate !== null"> - <dl class="mb-4"> - <dt>{{ $t('pageSslCertificates.modal.certificateType') }}</dt> - <dd>{{ certificate.certificate }}</dd> - </dl> - </template> - - <!-- Add new Certificate type --> - <template v-else> - <b-form-group - :label="$t('pageSslCertificates.modal.certificateType')" - label-for="certificate-type" - > - <b-form-select - id="certificate-type" - v-model="form.certificateType" - :options="certificateOptions" - :state="getValidationState($v.form.certificateType)" - @input="$v.form.certificateType.$touch()" - > - </b-form-select> - <b-form-invalid-feedback role="alert"> - <template v-if="!$v.form.certificateType.required"> - {{ $t('global.form.fieldRequired') }} - </template> - </b-form-invalid-feedback> - </b-form-group> - </template> - - <b-form-group :label="$t('pageSslCertificates.modal.certificateFile')"> - <form-file - id="certificate-file" - v-model="form.file" - accept=".pem" - :state="getValidationState($v.form.file)" - > - <template #invalid> - <b-form-invalid-feedback role="alert"> - {{ $t('global.form.required') }} - </b-form-invalid-feedback> - </template> - </form-file> - </b-form-group> - </b-form> - <template #modal-ok> - <template v-if="certificate"> - {{ $t('global.action.replace') }} - </template> - <template v-else> - {{ $t('global.action.add') }} - </template> - </template> - <template #modal-cancel> - {{ $t('global.action.cancel') }} - </template> - </b-modal> -</template> - -<script> -import { required, requiredIf } from 'vuelidate/lib/validators'; -import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; - -import FormFile from '@/components/Global/FormFile'; - -export default { - components: { FormFile }, - mixins: [VuelidateMixin], - props: { - certificate: { - type: Object, - default: null, - validator: (prop) => { - if (prop === null) return true; - return ( - Object.prototype.hasOwnProperty.call(prop, 'type') && - Object.prototype.hasOwnProperty.call(prop, 'certificate') - ); - }, - }, - }, - data() { - return { - form: { - certificateType: null, - file: null, - }, - }; - }, - computed: { - certificateTypes() { - return this.$store.getters['sslCertificates/availableUploadTypes']; - }, - certificateOptions() { - return this.certificateTypes.map(({ type, label }) => { - return { - text: label, - value: type, - }; - }); - }, - }, - watch: { - certificateOptions: function (options) { - if (options.length) { - this.form.certificateType = options[0].value; - } - }, - }, - validations() { - return { - form: { - certificateType: { - required: requiredIf(function () { - return !this.certificate; - }), - }, - file: { - required, - }, - }, - }; - }, - methods: { - handleSubmit() { - this.$v.$touch(); - if (this.$v.$invalid) return; - this.$emit('ok', { - addNew: !this.certificate, - file: this.form.file, - location: this.certificate ? this.certificate.location : null, - type: this.certificate - ? this.certificate.type - : this.form.certificateType, - }); - this.closeModal(); - }, - closeModal() { - this.$nextTick(() => { - this.$refs.modal.hide(); - }); - }, - resetForm() { - this.form.certificateType = this.certificateOptions.length - ? this.certificateOptions[0].value - : null; - this.form.file = null; - this.$v.$reset(); - }, - onOk(bvModalEvt) { - // prevent modal close - bvModalEvt.preventDefault(); - this.handleSubmit(); - }, - }, -}; -</script> |