in frontend/src/views/registry/mixins/RegistryEditMixin.ts [380:422]
createAdmin() {
this.requiredError = false;
this.emailFormatError = false;
for (const v in this.editAdmin) {
if (this.editAdmin[v] === "") {
this.requiredError = true;
return;
}
}
if (!String(this.editAdmin.email)
.toLowerCase()
.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)) {
this.emailFormatError = true;
return;
}
if (this.admins === null) {
this.admins = [];
}
for (let i = 0; i < this.admins.length; i++) {
if (this.admins[i].email.trim() === this.editAdmin.email.trim()) {
this.adminExistsError = true;
return;
}
}
$("body").css("overflow", "scroll");
this.adminPopupShow = false;
this.admins.push({
email: this.editAdmin.email,
firstName: this.editAdmin.firstName,
lastName: this.editAdmin.lastName,
tmpPassword: this.editAdmin.tmpPassword
});
this.editAdmin = {
firstName: "",
lastName: "",
email: "",
tmpPassword: ""
};
this.adminsValue = JSON.stringify(this.admins);
this.adminsChanged = true;
this.wizard.tabs.administrators.validated = false;
this.wizard.tabs.administrators.requiredError = false;
},