X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FEditProfilePage.java;h=47fd8c308e0b7cd74286a678c2da303ed5d7fb12;hb=e4daf856661958be1f88f0d3861823df91c78b1e;hp=38da1d47d6a1c61c53d2d4fa5b12eab7a117d39d;hpb=224be7a31fee673fa438cb02c4bb2105d01a52cc;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/EditProfilePage.java b/src/main/java/net/pterodactylus/sone/web/EditProfilePage.java index 38da1d4..47fd8c3 100644 --- a/src/main/java/net/pterodactylus/sone/web/EditProfilePage.java +++ b/src/main/java/net/pterodactylus/sone/web/EditProfilePage.java @@ -22,10 +22,11 @@ import static net.pterodactylus.sone.utils.NumberParsers.parseInt; import java.util.List; +import net.pterodactylus.sone.data.IdBuilder; import net.pterodactylus.sone.data.Profile; +import net.pterodactylus.sone.data.Profile.DuplicateField; import net.pterodactylus.sone.data.Profile.Field; import net.pterodactylus.sone.data.Sone; -import net.pterodactylus.sone.text.TextFilter; import net.pterodactylus.sone.web.page.FreenetRequest; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; @@ -80,12 +81,12 @@ public class EditProfilePage extends SoneTemplatePage { birthDay = parseInt(request.getHttpRequest().getPartAsStringFailsafe("birth-day", 256).trim(), null); birthMonth = parseInt(request.getHttpRequest().getPartAsStringFailsafe("birth-month", 256).trim(), null); birthYear = parseInt(request.getHttpRequest().getPartAsStringFailsafe("birth-year", 256).trim(), null); - avatarId = request.getHttpRequest().getPartAsStringFailsafe("avatarId", 36); + avatarId = request.getHttpRequest().getPartAsStringFailsafe("avatarId", IdBuilder.ID_STRING_LENGTH); profile.setFirstName(firstName.length() > 0 ? firstName : null); profile.setMiddleName(middleName.length() > 0 ? middleName : null); profile.setLastName(lastName.length() > 0 ? lastName : null); profile.setBirthDay(birthDay).setBirthMonth(birthMonth).setBirthYear(birthYear); - profile.setAvatar(webInterface.getCore().getImage(avatarId, false)); + profile.setAvatar(currentSone.getImageByInternalId(avatarId).orNull()); for (Field field : fields) { String value = request.getHttpRequest().getPartAsStringFailsafe("field-" + field.getId(), 400); String filteredValue = filter(request.getHttpRequest().getHeader("Host"), value); @@ -99,10 +100,9 @@ public class EditProfilePage extends SoneTemplatePage { try { profile.addField(fieldName); currentSone.setProfile(profile); - fields = profile.getFields(); webInterface.getCore().touchConfiguration(); throw new RedirectException("editProfile.html#profile-fields"); - } catch (IllegalArgumentException iae1) { + } catch (DuplicateField df1) { templateContext.set("fieldName", fieldName); templateContext.set("duplicateFieldName", true); }