+ webInterface.getCore().saveSone(currentSone);
+ throw new RedirectException("index.html");
+ } else if (request.getHttpRequest().getPartAsStringFailsafe("add-field", 4).equals("true")) {
+ String fieldName = request.getHttpRequest().getPartAsStringFailsafe("field-name", 256).trim();
+ try {
+ profile.addField(fieldName);
+ currentSone.setProfile(profile);
+ fields = profile.getFields();
+ webInterface.getCore().saveSone(currentSone);
+ } catch (IllegalArgumentException iae1) {
+ dataProvider.set("fieldName", fieldName);
+ dataProvider.set("duplicateFieldName", true);
+ }
+ } else {
+ int deleteFieldIndex = getFieldIndex(request, "delete-field-");
+ if (deleteFieldIndex > -1) {
+ throw new RedirectException("deleteProfileField.html?field=" + deleteFieldIndex);
+ }
+ int moveUpFieldIndex = getFieldIndex(request, "move-up-field-");
+ if (moveUpFieldIndex > -1) {
+ profile.moveFieldUp(moveUpFieldIndex);
+ currentSone.setProfile(profile);
+ throw new RedirectException("editProfile.html#profile-fields");
+ }
+ int moveDownFieldIndex = getFieldIndex(request, "move-down-field-");
+ if (moveDownFieldIndex > -1) {
+ profile.moveFieldDown(moveDownFieldIndex);
+ currentSone.setProfile(profile);
+ throw new RedirectException("editProfile.html#profile-fields");
+ }
+ int editFieldIndex = getFieldIndex(request, "edit-field-");
+ if (editFieldIndex > -1) {
+ throw new RedirectException("editProfileField.html?field=" + editFieldIndex);
+ }