Kleinere Korrekturen

git-svn-id: https://svn.libreccm.org/ccm/trunk@1069 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-08-24 12:56:01 +00:00
parent a8e183a761
commit 3dad87a242
4 changed files with 83 additions and 37 deletions

View File

@ -170,9 +170,36 @@ public class PublicPersonalProfileCreate extends PageCreate {
PublicPersonalProfile profile = new PublicPersonalProfile(item.getOID()); PublicPersonalProfile profile = new PublicPersonalProfile(item.getOID());
profile.setOwner(owner); profile.setOwner(owner);
profile.setProfileUrl(owner.getSurname().toLowerCase()); //profile.setProfileUrl(owner.getSurname().toLowerCase());
profile.setProfileUrl(createProfileUrl(owner));
profile.save(); profile.save();
m_parent.editItem(state, item); m_parent.editItem(state, item);
} }
private String createProfileUrl(final GenericPerson owner) {
String profileUrl = owner.getSurname().toLowerCase();
int i = 1;
DataCollection profiles = SessionManager.getSession().retrieve(
PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
profiles.addFilter(String.format("profileUrl = '%s'",
profileUrl));
profiles.addFilter(String.format("version = '%s'", ContentItem.DRAFT));
while (profiles.size() > 0) {
i++;
profileUrl = String.format("%s%d",
owner.getSurname().toLowerCase(),
i);
profiles.reset();
profiles.addFilter(String.format("profileUrl = '%s'",
profileUrl));
profiles.addFilter(
String.format("version = '%s'", ContentItem.DRAFT));
}
return profileUrl;
}
} }

View File

@ -81,7 +81,8 @@ public class PublicPersonalProfilePropertyForm
if ((profile != null) if ((profile != null)
&& getSaveCancelSection().getSaveButton().isSelected(state)) { && getSaveCancelSection().getSaveButton().isSelected(state)) {
profile.setProfileUrl(((String) data.get( profile.setProfileUrl(((String) data.get(
PublicPersonalProfile.PROFILE_URL)).toLowerCase()); PublicPersonalProfile.PROFILE_URL)).
toLowerCase());
profile.save(); profile.save();
} }
@ -93,22 +94,38 @@ public class PublicPersonalProfilePropertyForm
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
String profilesUrl = (String) data.get(PublicPersonalProfile.PROFILE_URL); String profilesUrl =
(String) data.get(PublicPersonalProfile.PROFILE_URL);
if ((profilesUrl == null) || profilesUrl.isEmpty()) { if ((profilesUrl == null) || profilesUrl.isEmpty()) {
data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.required")); data.addError(PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile_url.required"));
} }
DataCollection profiles = SessionManager.getSession().retrieve(PublicPersonalProfile.BASE_DATA_OBJECT_TYPE); if ("admin".equalsIgnoreCase(profilesUrl)) {
profiles.addFilter(String.format("profileUrl = '%s'", ((String)data.get(PublicPersonalProfile.PROFILE_URL)).toLowerCase())); data.addError(PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile_url.reserved"));
}
DataCollection profiles = SessionManager.getSession().retrieve(
PublicPersonalProfile.BASE_DATA_OBJECT_TYPE);
profiles.addFilter(String.format("profileUrl = '%s'",
((String) data.get(
PublicPersonalProfile.PROFILE_URL)).
toLowerCase()));
profiles.addFilter(String.format("version = '%s'", ContentItem.DRAFT)); profiles.addFilter(String.format("version = '%s'", ContentItem.DRAFT));
if (profiles.size() > 1) { if (profiles.size() > 1) {
data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.already_in_use")); data.addError(PublicPersonalProfileGlobalizationUtil.globalize(
} else if(profiles.size() == 1) { "publicpersonalprofile.ui.profile_url.already_in_use"));
} else if (profiles.size() == 1) {
profiles.next(); profiles.next();
PublicPersonalProfile profile = (PublicPersonalProfile) DomainObjectFactory.newInstance(profiles.getDataObject()); PublicPersonalProfile profile =
(PublicPersonalProfile) DomainObjectFactory.
newInstance(profiles.getDataObject());
if (!(profile.getID().equals(itemModel.getSelectedItem(state).getID()))) { if (!(profile.getID().equals(
data.addError(PublicPersonalProfileGlobalizationUtil.globalize("publicpersonalprofile.ui.profile_url.already_in_use")); itemModel.getSelectedItem(state).getID()))) {
data.addError(PublicPersonalProfileGlobalizationUtil.globalize(
"publicpersonalprofile.ui.profile_url.already_in_use"));
} }
} }
} }

View File

@ -31,3 +31,4 @@ publicpersonalprofile.ui.nav.remove.confirm=Do you really want to remove this na
publicpersonalprofile.ui.navitems.delete.confirm=Do you really want to delete this navigation entry? publicpersonalprofile.ui.navitems.delete.confirm=Do you really want to delete this navigation entry?
publicpersonalprofile.ui.navitems.up=Up publicpersonalprofile.ui.navitems.up=Up
publicpersonalprofile.ui.navitems.down=Down publicpersonalprofile.ui.navitems.down=Down
publicpersonalprofile.ui.profile_url.reserved=The provided URL fragment is a reserved name, and can't be used.

View File

@ -31,3 +31,4 @@ publicpersonalprofile.ui.nav.remove.confirm=Soll dieser Navigationspunkt wirklic
publicpersonalprofile.ui.navitems.delete.confirm=Soll dieser Navigationspunkt wirklich entfernt werden? publicpersonalprofile.ui.navitems.delete.confirm=Soll dieser Navigationspunkt wirklich entfernt werden?
publicpersonalprofile.ui.navitems.up=Hoch publicpersonalprofile.ui.navitems.up=Hoch
publicpersonalprofile.ui.navitems.down=Runter publicpersonalprofile.ui.navitems.down=Runter
publicpersonalprofile.ui.profile_url.reserved=Das angegebene URL-Fragment ist ein reservierter Name und kann nicht verwendet werden.