Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 16x 4x 16x 4x 16x 4x 16x 4x 4x 1x 4x 1x 4x | import { Component, OnInit } from '@angular/core';
import { FormControl, Validators } from '@angular/forms';
import { I18n } from '@ngx-translate/i18n-polyfill';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { IscsiService } from '../../../shared/api/iscsi.service';
import { NotificationType } from '../../../shared/enum/notification-type.enum';
import { CdFormGroup } from '../../../shared/forms/cd-form-group';
import { CdValidators } from '../../../shared/forms/cd-validators';
import { NotificationService } from '../../../shared/services/notification.service';
@Component({
selector: 'cd-iscsi-target-discovery-modal',
template: require('./iscsi-target-discovery-modal.component.html'),
styles: []
})
export class IscsiTargetDiscoveryModalComponent implements OnInit {
discoveryForm: CdFormGroup;
USER_REGEX = /[\w\.:@_-]{8,64}/;
PASSWORD_REGEX = /[\w@\-_\/]{12,16}/;
constructor(
public bsModalRef: BsModalRef,
private iscsiService: IscsiService,
private notificationService: NotificationService,
private i18n: I18n
) {
this.discoveryForm = new CdFormGroup({
user: new FormControl(''),
password: new FormControl(''),
mutual_user: new FormControl(''),
mutual_password: new FormControl('')
});
CdValidators.validateIf(
this.discoveryForm.get('user'),
() =>
this.discoveryForm.getValue('password') ||
this.discoveryForm.getValue('mutual_user') ||
this.discoveryForm.getValue('mutual_password'),
[Validators.required],
[Validators.pattern(this.USER_REGEX)],
[
this.discoveryForm.get('password'),
this.discoveryForm.get('mutual_user'),
this.discoveryForm.get('mutual_password')
]
);
CdValidators.validateIf(
this.discoveryForm.get('password'),
() =>
this.discoveryForm.getValue('user') ||
this.discoveryForm.getValue('mutual_user') ||
this.discoveryForm.getValue('mutual_password'),
[Validators.required],
[Validators.pattern(this.PASSWORD_REGEX)],
[
this.discoveryForm.get('user'),
this.discoveryForm.get('mutual_user'),
this.discoveryForm.get('mutual_password')
]
);
CdValidators.validateIf(
this.discoveryForm.get('mutual_user'),
() => this.discoveryForm.getValue('mutual_password'),
[Validators.required],
[Validators.pattern(this.USER_REGEX)],
[
this.discoveryForm.get('user'),
this.discoveryForm.get('password'),
this.discoveryForm.get('mutual_password')
]
);
CdValidators.validateIf(
this.discoveryForm.get('mutual_password'),
() => this.discoveryForm.getValue('mutual_user'),
[Validators.required],
[Validators.pattern(this.PASSWORD_REGEX)],
[
this.discoveryForm.get('user'),
this.discoveryForm.get('password'),
this.discoveryForm.get('mutual_user')
]
);
}
ngOnInit() {
this.iscsiService.getDiscovery().subscribe((auth) => {
this.discoveryForm.patchValue(auth);
});
}
submitAction() {
this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(
() => {
this.notificationService.show(
NotificationType.success,
this.i18n('Updated discovery authentication')
);
this.bsModalRef.hide();
},
() => {
this.bsModalRef.hide();
}
);
}
}
|