createAdmin()

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;
    },