Skip to content
Snippets Groups Projects
Commit a67bc55c authored by srosse's avatar srosse
Browse files

OO-4175: allow longer skype identifier like e-mail address

parent 08067908
No related branches found
No related tags found
No related merge requests found
...@@ -38,13 +38,12 @@ import org.olat.user.UserManager; ...@@ -38,13 +38,12 @@ import org.olat.user.UserManager;
*/ */
public class SkypePropertyHandler extends Generic127CharTextPropertyHandler { public class SkypePropertyHandler extends Generic127CharTextPropertyHandler {
/** private static final int MAX_LENGTH = 127;
* @see org.olat.user.AbstractUserPropertyHandler#getUserPropertyAsHTML(org.olat.core.id.User, java.util.Locale)
*/
@Override @Override
public String getUserPropertyAsHTML(User user, Locale locale) { public String getUserPropertyAsHTML(User user, Locale locale) {
String skypeid = getUserProperty(user, locale); String skypeid = getUserProperty(user, locale);
if (StringHelper.containsNonWhitespace(skypeid)) { if(StringHelper.containsNonWhitespace(skypeid)) {
skypeid = StringHelper.escapeHtml(skypeid); skypeid = StringHelper.escapeHtml(skypeid);
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("<div id=\"SkypeButton_Call_").append(skypeid).append("_1\" class=\"o_skype_button\">") sb.append("<div id=\"SkypeButton_Call_").append(skypeid).append("_1\" class=\"o_skype_button\">")
...@@ -63,36 +62,25 @@ public class SkypePropertyHandler extends Generic127CharTextPropertyHandler { ...@@ -63,36 +62,25 @@ public class SkypePropertyHandler extends Generic127CharTextPropertyHandler {
return null; return null;
} }
/* (non-Javadoc)
* @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#isValidValue(java.lang.String, org.olat.core.gui.components.form.ValidationError, java.util.Locale)
*/
@Override @Override
public boolean isValidValue(User user, String value, ValidationError validationError, Locale locale) { public boolean isValidValue(User user, String value, ValidationError validationError, Locale locale) {
if ( ! super.isValidValue(user, value, validationError, locale)) return false; if(!super.isValidValue(user, value, validationError, locale)) return false;
if (StringHelper.containsNonWhitespace(value)) { if(StringHelper.containsNonWhitespace(value) && value.length() > MAX_LENGTH) {
// skype names are max 32 chars long validationError.setErrorKey("general.error.max." + MAX_LENGTH);
if ( value.length() > 32 ) { return false;
validationError.setErrorKey("general.error.max.32");
return false;
}
} }
return true; return true;
} }
/* (non-Javadoc)
* @see org.olat.user.propertyhandlers.Generic127CharTextPropertyHandler#addFormItem(java.util.Locale, org.olat.core.id.User, java.lang.String, boolean, org.olat.core.gui.components.form.flexible.FormItemContainer)
*/
@Override @Override
public FormItem addFormItem(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser, public FormItem addFormItem(Locale locale, User user, String usageIdentifyer, boolean isAdministrativeUser,
FormItemContainer formItemContainer) { FormItemContainer formItemContainer) {
org.olat.core.gui.components.form.flexible.elements.TextElement textElement = (org.olat.core.gui.components.form.flexible.elements.TextElement)super.addFormItem(locale, user, usageIdentifyer, isAdministrativeUser, formItemContainer); org.olat.core.gui.components.form.flexible.elements.TextElement textElement = (org.olat.core.gui.components.form.flexible.elements.TextElement)super.addFormItem(locale, user, usageIdentifyer, isAdministrativeUser, formItemContainer);
textElement.setMaxLength(32); textElement.setMaxLength(MAX_LENGTH);
if ( ! UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) { if(!UserManager.getInstance().isUserViewReadOnly(usageIdentifyer, this) || isAdministrativeUser) {
textElement.setExampleKey("form.example.skypename", null); textElement.setExampleKey("form.example.skypename", null);
} }
return textElement; return textElement;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment