Exemple #1
0
 /**
  * Sets the admission type.
  *
  * @param group the new admission type
  */
 private void setAdmissionType(final Group group) {
   final GroupType groupType = group.getGroupType();
   if (groupType.equals(GroupType.COMMUNITY)) {
     group.setAdmissionType(AdmissionType.Open);
   } else {
     if (groupType.equals(GroupType.CLOSED)) {
       group.setAdmissionType(AdmissionType.Closed);
     } else if (groupType.equals(GroupType.ORGANIZATION)) {
       group.setAdmissionType(AdmissionType.Moderated);
     } else if (groupType.equals(GroupType.PROJECT)) {
       group.setAdmissionType(AdmissionType.Moderated);
     } else if (groupType.equals(GroupType.ORPHANED_PROJECT)) {
       group.setAdmissionType(AdmissionType.Open);
     }
   }
 }
Exemple #2
0
  /*
   * (non-Javadoc)
   *
   * @see
   * cc.kune.core.server.manager.GroupManager#createUserGroup(cc.kune.domain
   * .User, boolean)
   */
  @Override
  public Group createUserGroup(final User user, final boolean wantPersonalHomepage)
      throws GroupShortNameInUseException, EmailAddressInUseException {
    final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF);
    final License licenseDef = licenseManager.getDefLicense();
    final Group userGroup =
        new Group(user.getShortName(), user.getName(), licenseDef, GroupType.PERSONAL);
    User userSameEmail = null;
    try {
      userSameEmail = userFinder.findByEmail(user.getEmail());
    } catch (final NoResultException e) {
      // Ok, no more with this email
    }
    if (userSameEmail != null) {
      throw new EmailAddressInUseException();
    }
    userGroup.setAdmissionType(AdmissionType.Closed);
    userGroup.setWorkspaceTheme(defaultSiteWorkspaceTheme);
    userGroup.setDefaultContent(null);
    user.setUserGroup(userGroup);
    initSocialNetwork(userGroup, userGroup, GroupListMode.EVERYONE, SocialNetworkVisibility.anyone);

    final String title = i18n.t("[%s] Bio", user.getName());
    final String body = i18n.t("This is [%s]'s bio, currently empty", user.getName());
    try {
      initGroup(
          user,
          userGroup,
          wantPersonalHomepage
              ? serverToolRegistry.getToolsRegisEnabledForUsers()
              : ServerToolRegistry.emptyToolList,
          title,
          body);
      super.persist(user, User.class);
    } catch (final PersistenceException e) {
      if (e.getCause() instanceof ConstraintViolationException) {
        throw new GroupShortNameInUseException();
      }
      throw e;
    }
    return userGroup;
  }