=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js 2014-10-15 04:17:05 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js 2014-11-12 14:50:59 +0000 @@ -67,7 +67,7 @@ "rangelength" : [ 2, 210 ], "alphanumericwithbasicpuncspaces" : true }, - "groupMembersList" : { + "usersSelected" : { "required" : true } }, === modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/AddUserGroupAction.java' --- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/AddUserGroupAction.java 2014-10-16 06:17:19 +0000 +++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/AddUserGroupAction.java 2014-11-12 14:50:59 +0000 @@ -30,6 +30,7 @@ import static org.hisp.dhis.setting.SystemSettingManager.KEY_ONLY_MANAGE_WITHIN_USER_GROUPS; +import java.util.ArrayList; import java.util.List; import org.hisp.dhis.attribute.AttributeService; @@ -82,11 +83,11 @@ // Parameters // ------------------------------------------------------------------------- - private List groupMembersList; + private List usersSelected; - public void setGroupMembersList( List groupMembersList ) + public void setUsersSelected( List usersSelected ) { - this.groupMembersList = groupMembersList; + this.usersSelected = usersSelected; } private String name; @@ -111,13 +112,24 @@ public String execute() throws Exception { + if ( usersSelected == null ) + { + usersSelected = new ArrayList<>(); + } + boolean writeGroupRequired = (Boolean) systemSettingManager.getSystemSetting( KEY_ONLY_MANAGE_WITHIN_USER_GROUPS, false ); UserGroup userGroup = new UserGroup( name ); - - for ( Integer groupMember : groupMembersList ) + + for ( String userUid : usersSelected ) { - User user = userService.getUser( groupMember ); + User user = userService.getUser( userUid ); + + if( user == null ) + { + continue; + } + userGroup.addUser( user ); if ( writeGroupRequired && !userGroup.getMembers().contains( user) && !userService.canUpdate( user.getUserCredentials() ) ) @@ -128,8 +140,7 @@ if ( jsonAttributeValues != null ) { - AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues, - attributeService ); + AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues, attributeService ); } userGroupService.addUserGroup( userGroup ); === modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/UpdateUserGroupAction.java' --- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/UpdateUserGroupAction.java 2014-11-08 17:30:22 +0000 +++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/java/org/hisp/dhis/dashboard/usergroup/action/UpdateUserGroupAction.java 2014-11-12 14:50:59 +0000 @@ -39,6 +39,7 @@ import org.hisp.dhis.user.UserGroupService; import org.hisp.dhis.user.UserService; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -87,11 +88,11 @@ // Parameters // ------------------------------------------------------------------------- - private List groupMembersList; + private List usersSelected; - public void setGroupMembersList( List groupMembersList ) + public void setUsersSelected( List usersSelected ) { - this.groupMembersList = groupMembersList; + this.usersSelected = usersSelected; } private String name; @@ -123,16 +124,27 @@ public String execute() throws Exception { + if ( usersSelected == null ) + { + usersSelected = new ArrayList<>(); + } + boolean writeGroupRequired = (Boolean) systemSettingManager.getSystemSetting( KEY_ONLY_MANAGE_WITHIN_USER_GROUPS, false ); UserGroup userGroup = userGroupService.getUserGroup( userGroupId ); - Set userList = new HashSet<>(); + Set users = new HashSet<>(); - for ( Integer groupMember : groupMembersList ) + for ( String userUid : usersSelected ) { - User user = userService.getUser( groupMember ); - userList.add( user ); + User user = userService.getUser( userUid ); + + if( user == null) + { + continue; + } + + users.add( user ); if ( writeGroupRequired && !userGroup.getMembers().contains( user ) && !userService.canUpdate( user.getUserCredentials() ) ) { @@ -144,7 +156,7 @@ { for ( User member : userGroup.getMembers() ) { - if ( !userList.contains( member ) ) // Trying to remove member user from group. + if ( !users.contains( member ) ) // Trying to remove member user from group. { boolean otherGroupFound = false; @@ -166,12 +178,11 @@ } userGroup.setName( name ); - userGroup.updateUsers( userList ); + userGroup.updateUsers( users ); if ( jsonAttributeValues != null ) { - AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), - jsonAttributeValues, attributeService ); + AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues, attributeService ); } userGroupService.updateUserGroup( userGroup ); === modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/addUserGroupForm.vm' --- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/addUserGroupForm.vm 2013-07-19 08:23:53 +0000 +++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/addUserGroupForm.vm 2014-11-12 14:51:29 +0000 @@ -1,31 +1,22 @@

$i18n.getString( "add_user_group" )

@@ -41,48 +32,23 @@ $i18n.getString( "user_group_details" ) - - - - - - -#tblDynamicAttributes( { "attributes": $attributes } ) - - - - - - - - - - - - - - - - - - - - - -
$i18n.getString( "available_users" )$i18n.getString( "group_members" )
- - -
-
-
- -
- -
+ + + + + + +#tblDynamicAttributes( { "attributes": $attributes, "attributeValues": $attributeValues } ) + +#jqSelected({ + "prefix": "users", + "i18n_available": "available_users", + "i18n_selected": "group_members" +})

- - + +

=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/updateUserGroupForm.vm' --- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/updateUserGroupForm.vm 2013-07-19 08:23:53 +0000 +++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/dhis-web-dashboard-integration/updateUserGroupForm.vm 2014-11-12 14:50:59 +0000 @@ -1,93 +1,56 @@

$i18n.getString( "edit_user_group" )

- + - - - + + + - - - - + + + +
$i18n.getString( "user_group_details" )
$i18n.getString( "user_group_details" )
#tblDynamicAttributes( { "attributes": $attributes, "attributeValues": $attributeValues } ) - - - - - - - - - - - - - - - - - - - - -
$i18n.getString( "available_users" )$i18n.getString( "group_members" )
- - -
-
-
- -
- -
+#jqSelected({ + "prefix": "users", + "i18n_available": "available_users", + "i18n_selected": "group_members", + "objects": $groupMembers +})

- - + +