Esempio n. 1
0
 public WOActionResults submit() {
   if (selection == null) {
     search();
     if (found != null && found.count() > 0) {
       selection = (PersonLink) found.objectAtIndex(0);
     } else {
       selection = defaultSelectionValue();
     }
   }
   setValueForBinding(selection, "selection");
   return (WOActionResults) valueForBinding("selectAction");
 }
Esempio n. 2
0
 protected PersonLink defaultSelectionValue() {
   NSArray list = (NSArray) valueForBinding("forcedList");
   if (list != null && list.count() > 0) {
     return (PersonLink)
         EOUtilities.localInstanceOfObject(ec, (EOEnterpriseObject) list.objectAtIndex(0));
   }
   list = (NSArray) session().valueForKey("personList");
   if (list != null && list.count() > 0) {
     Enumeration enu = list.objectEnumerator();
     while (enu.hasMoreElements()) {
       EOEnterpriseObject pers = (EOEnterpriseObject) enu.nextElement();
       if (entity().equals(pers.entityName())) {
         return (PersonLink) pers;
       }
     }
   }
   return null;
 }
Esempio n. 3
0
  protected void performSearchRequest(String request) {
    searchString = request;
    canCreate = false;
    search();
    while (found == null || found.count() == 0) {
      searchString = searchString.substring(0, searchString.length() - 1);
      if (searchString.length() < 2) {
        searchString = request;
        setValueForBinding(null, "searchRequest");
        return;
      }
      search();
    }
    selection = (PersonLink) found.objectAtIndex(0);
    setValueForBinding(selection, "selection");

    setValueForBinding(Person.Utility.fullName(selection, true, 2, 2, 2), "searchRequest");
    valueForBinding("selectAction");
  }
Esempio n. 4
0
  // ----------------------------------------------------------
  public void takeFormValues(NSDictionary<?, ?> formValues) {
    WCConfigurationFile configuration = Application.configurationProperties();
    if (log.isDebugEnabled()) {
      log.debug("takeFormValues(): initial config = ");
      log.debug(configuration.configSettingsAsString());
    }
    String email =
        storeFormValueToConfig(
            formValues, "coreAdminEmail", "Please specify the administrator's e-mail address.");
    storeFormValueToConfig(formValues, "adminNotifyAddrs", null);
    String authDomainName = configuration.getProperty("authenticator.default");
    String username =
        storeFormValueToConfig(
            formValues, "AdminUsername", "Please specify the administrator's user name.");
    if (log.isDebugEnabled()) {
      log.debug("takeFormValues(): middle = ");
      log.debug(configuration.configSettingsAsString());
    }
    if (authDomainName == null || authDomainName.equals("")) {
      error("Cannot identify default institution's " + "authentication configuration.");
    } else if (username != null && !hasMessages()) {
      EOEditingContext ec = WCEC.newEditingContext();
      try {
        ec.lock();
        AuthenticationDomain domain = AuthenticationDomain.authDomainByName(authDomainName);
        NSArray<?> users =
            EOUtilities.objectsMatchingValues(
                ec,
                User.ENTITY_NAME,
                new NSDictionary<String, Object>(
                    new Object[] {username, domain},
                    new String[] {User.USER_NAME_KEY, User.AUTHENTICATION_DOMAIN_KEY}));
        User admin;
        if (users.count() > 0) {
          admin = (User) users.objectAtIndex(0);
          admin.setEmail(email);
          String first = extractFormValue(formValues, "AdminFirstName");
          if (first != null && !first.equals("")) {
            admin.setFirstName(first);
          }
          String last = extractFormValue(formValues, "AdminLastName");
          if (last != null && !last.equals("")) {
            admin.setLastName(last);
          }
          ec.saveChanges();
        } else {
          String password =
              storeFormValueToConfig(
                  formValues, "AdminPassword", "An administrator password is required.");
          if (authDomainName.equals(DatabaseAuthenticator.class.getName())
              && (password == null || password.equals(""))) {
            // Don't need this anymore, since the error message is
            // posted by storeFormValuesToConfig() above.

            // errorMessage(
            //     "An administrator password is required." );
          } else {
            admin = User.createUser(username, password, domain, (byte) 100, ec);
            admin.setEmail(email);
            String first = extractFormValue(formValues, "AdminFirstName");
            if (first != null && !first.equals("")) {
              admin.setFirstName(first);
            }
            String last = extractFormValue(formValues, "AdminLastName");
            if (last != null && !last.equals("")) {
              admin.setLastName(last);
            }
            ec.saveChanges();
          }
        }
      } finally {
        ec.unlock();
        ec.dispose();
      }
    }
    if (log.isDebugEnabled()) {
      log.debug("takeFormValues(): near end = ");
      log.debug(configuration.configSettingsAsString());
    }
    if (!hasMessages()) {
      configuration.remove("AdminFirstName");
      configuration.remove("AdminLastName");
    }
    if (log.isDebugEnabled()) {
      log.debug("takeFormValues(): finals = ");
      log.debug(configuration.configSettingsAsString());
    }
  }