Index: config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties
===================================================================
--- config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties (revision 115620)
+++ config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties (working copy)
@@ -1415,3 +1415,8 @@
# There is a Quartz job that must be configured to run periodically (once per day or so) to expunge those sites.
#site.soft.deletion=true
#site.soft.deletion.gracetime=30
+
+#SAK-22867 - User type selector
+#user.type.selector.count=3
+#user.type.selector.1=
+#user.type.selector.2=guest
+#user.type.selector.3=registered
Index: user/user-tool/tool/src/java/org/sakaiproject/user/tool/UsersAction.java
===================================================================
--- user/user-tool/tool/src/java/org/sakaiproject/user/tool/UsersAction.java (revision 115620)
+++ user/user-tool/tool/src/java/org/sakaiproject/user/tool/UsersAction.java (working copy)
@@ -199,6 +199,17 @@
UsersActionState sstate = (UsersActionState)getState(context, rundata, UsersActionState.class);
String status = sstate.getStatus();
+ String[] userTypes = ServerConfigurationService.getStrings("user.type.selector");
+ if(userTypes.length > 0)
+ context.put("userTypes", userTypes);
// if not logged in as the super user, we won't do anything
if ((!singleUser) && (!createUser) && (!SecurityService.isSuperUser()))
{
Index: user/user-tool/tool/src/webapp/vm/user/chef_users_edit.vm
===================================================================
--- user/user-tool/tool/src/webapp/vm/user/chef_users_edit.vm (revision 115620)
+++ user/user-tool/tool/src/webapp/vm/user/chef_users_edit.vm (working copy)
@@ -135,7 +135,15 @@
$tlang.getString("usecre.typ")
#if ($service.allowUpdateUserType($user.Id) || !$user)
-
+ #if($userTypes)
+
+ #else
+
+ #end
#else
#if($user)$validator.escapeHtml($user.Type)#elseif($valueType)$validator.escapeHtml($valueType)#end
#end