Details
-
Suggestion
-
Resolution: Won't Fix
-
None
-
None
Description
NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.
A customer pointed out the following:
How can we configure that invited users can use only a valid mailadress as username? We used to use the invite plugin and it was easy to configure this in the plugin. But now, with this functionality build into confluence i have no idea how what to do.
Also, will it be possible in the future to have a "invite user" link also for Space Admins?
This is from invite plugin source:
halatas@halatas-laptop:~/src/atlassian/plugins/invite-1.8$ grep "Allow only email addresses" -R * src/main/resources/templates/invite/i18n.properties:configureInvite.onlyEmailUsernames=Allow only email addresses as usernames src/main/resources/templates/invite/.svn/text-base/i18n.properties.svn-base:configureInvite.onlyEmailUsernames=Allow only email addresses as usernames ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:20:45 halatas@halatas-laptop:~/src/atlassian/plugins/invite-1.8$ grep -R "configureInvite.onlyEmailUsernames" * src/main/resources/templates/invite/i18n.properties:configureInvite.onlyEmailUsernames=Allow only email addresses as usernames src/main/resources/templates/invite/config/configure.vm: #bodytag( Component "label='configureInvite.onlyEmailUsernames'" "name='onlyEmailUsernames'" "value=onlyEmailUsernames" "theme='custom'" "template='onofflist.vm'") #param ("cssClassForLabel" "label") #end src/main/resources/templates/invite/config/.svn/text-base/configure.vm.svn-base: #bodytag( Component "label='configureInvite.onlyEmailUsernames'" "name='onlyEmailUsernames'" "value=onlyEmailUsernames" "theme='custom'" "template='onofflist.vm'") #param ("cssClassForLabel" "label") #end src/main/resources/templates/invite/.svn/text-base/i18n.properties.svn-base:configureInvite.onlyEmailUsernames=Allow only email addresses as usernames ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:20:55 halatas@halatas-laptop:~/src/atlassian/plugins/invite-1.8$ grep onlyEmailUsernames -R * | grep -v svn | grep -v test src/main/resources/templates/invite/i18n.properties:configureInvite.onlyEmailUsernames=Allow only email addresses as usernames src/main/resources/templates/invite/invite-accept.vm: #if ($onlyEmailUsernames && $userExists) src/main/resources/templates/invite/invite-accept.vm: #if($action.onlyEmailUsernames) src/main/resources/templates/invite/config/configure.vm: #bodytag( Component "label='configureInvite.onlyEmailUsernames'" "name='onlyEmailUsernames'" "value=onlyEmailUsernames" "theme='custom'" "template='onofflist.vm'") #param ("cssClassForLabel" "label") #end src/main/java/com/atlassian/confluence/extra/invite/InviteSettings.java: private boolean onlyEmailUsernames = false; src/main/java/com/atlassian/confluence/extra/invite/InviteSettings.java: this.onlyEmailUsernames = settings.onlyEmailUsernames; src/main/java/com/atlassian/confluence/extra/invite/InviteSettings.java: return onlyEmailUsernames; src/main/java/com/atlassian/confluence/extra/invite/InviteSettings.java: public void setOnlyEmailUsernames(boolean onlyEmailUsernames) src/main/java/com/atlassian/confluence/extra/invite/InviteSettings.java: this.onlyEmailUsernames = onlyEmailUsernames; src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: private boolean onlyEmailUsernames; src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: onlyEmailUsernames = settings.isOnlyEmailUsernames(); src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: settings.setOnlyEmailUsernames(onlyEmailUsernames); src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: return onlyEmailUsernames; src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: public void setOnlyEmailUsernames(boolean onlyEmailUsernames) src/main/java/com/atlassian/confluence/extra/invite/config/ConfigureInviteAction.java: this.onlyEmailUsernames = onlyEmailUsernames;
This is from confluence 4.2.5 source:
halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5$ grep onlyEmailUsernames -R * ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:23:31 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5$ find -iname *invite* ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src/main/resources/templates/mail/user-invite-notification.vm ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src/main/resources/templates/invite-users-panel.vm ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src/main/java/com/atlassian/confluence/plugins/easyuser/UserInvites.java ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src/main/java/com/atlassian/confluence/plugins/easyuser/events/GroupInviteUserSignupEvent.java ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src/main/java/com/atlassian/confluence/plugins/easyuser/events/SendUserInviteEvent.java ./confluence-test/confluence-selenium-test/src/main/java/com/atlassian/confluence/selenium/client/InviteUsersPanel.java ./confluence-test/confluence-selenium-test/src/main/java/com/atlassian/confluence/selenium/EasyUserInviteMailTest.java ./confluence-test/confluence-selenium-test/src/main/java/com/atlassian/confluence/selenium/EasyUserInviteTest.java ./confluence-core/confluence/src/java/com/atlassian/confluence/upgrade/upgradetask/DisableConfluenceInvitePluginUpgradeTask.java ./confluence-core/confluence-webapp/src/main/webapp/admin/users/browseusers-invite-panel.vm ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:19 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:19 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5$ cd ./confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:30 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5/confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin$ ll total 24 drwxrwxr-x 3 halatas halatas 4096 May 31 23:19 ./ drwxrwxr-x 26 halatas halatas 4096 May 31 23:19 ../ -rw-rw-r-- 1 halatas halatas 935 May 31 23:19 pom.xml drwxrwxr-x 4 halatas halatas 4096 May 31 23:19 src/ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:31 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5/confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin$ cd src/ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:34 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5/confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src$ ll total 16 drwxrwxr-x 4 halatas halatas 4096 May 31 23:19 ./ drwxrwxr-x 3 halatas halatas 4096 May 31 23:19 ../ drwxrwxr-x 4 halatas halatas 4096 May 31 23:19 main/ drwxrwxr-x 3 halatas halatas 4096 May 31 23:19 test/ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 22:24:35 halatas@halatas-laptop:~/src/atlassian/conf/tags/confluence-project-4.2.5/confluence-plugins/confluence-bundled-plugins/confluence-easyuser-admin/src$ grep username * -R main/resources/js/signup.js: var $username, $email, main/resources/js/signup.js: usernameIsCustom = function () { main/resources/js/signup.js: return $username.data('custom'); main/resources/js/signup.js: usernameMatches = emailVal.match(/[^@]+/); main/resources/js/signup.js: return (usernameMatches ? usernameMatches[0].replace(/[\\,+<>'"\s]/g, "").toLowerCase() : ''); main/resources/js/signup.js: if (usernameIsCustom()) return; main/resources/js/signup.js: var usernameVal = extractUsernameFromEmail(); main/resources/js/signup.js: $username.val(usernameVal); main/resources/js/signup.js: selectAll($username); main/resources/js/signup.js: var currentUsername = $username.val(); main/resources/js/signup.js: $username.data('custom', currentUsername); main/resources/js/signup.js: $username.removeData('custom'); main/resources/js/signup.js: $username = $('#username'); main/resources/js/signup.js: $username.bind('blur', setCustomUsername); main/resources/js/signup.js: $username.bind('focus', updateUsernameSelection); main/resources/js/signup.js: $username.removeData('custom'); main/resources/atlassian-plugin.xml: <!--<link>/admin/users/viewuser.action?username=$generalUtil.doubleUrlEncode($signedupUser.getName())</link>--> main/resources/com/atlassian/confluence/plugins/easyuser/i18n.properties:#username.empty=You must enter a valid username. main/resources/com/atlassian/confluence/plugins/easyuser/i18n.properties:#user.exists=A user with this username already exists. main/resources/com/atlassian/confluence/plugins/easyuser/i18n.properties:choose.username=Choose a username main/resources/com/atlassian/confluence/plugins/easyuser/i18n.properties:username.desc=Your username will be used to log in to Confluence. This must be unique: for example John Smith could use jsmith. \ main/resources/com/atlassian/confluence/plugins/easyuser/i18n.properties: Alternatively you can use your email address as your username. main/resources/templates/signup.vm: #bodytag( "TextField" "label='username.name'" "name='username'" "theme='aui'" ) main/resources/templates/mail/user-signup-notification.vm:#set($emailTitleLink = "/users/viewuserprofile.action?username=$generalUtil.doubleUrlEncode($modifier.name)") main/resources/templates/mail/user-signup-notification.vm: $i18n.getText("username.name"): <b>$modifier.name</b><br> main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: UserForm form = new UserForm(username, fullName, email, password, confirm); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: userAccessor.addUser(username, password, email, fullName, groups); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: addFieldError("username", getText("user.exists")); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: addActionError("create.user.failed", new String[] { username }); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: log.error("Failed to create user: " + username, e); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: ServletActionContext.getResponse(), username, password, true); main/java/com/atlassian/confluence/plugins/easyuser/actions/SignUpAction.java: return username; main/java/com/atlassian/confluence/plugins/easyuser/notifications/UserSignUpNotificationsListener.java: "/admin/users/viewuser.action?username=" + GeneralUtil.doubleUrlEncode(user.getName()), ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The option used to look like this:
It would be great if this setting can be set via the UI.
Attachments
Issue Links
- relates to
-
CONFCLOUD-25938 Allow only valid mail address as username for invited user
- Closed