← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17814: Add a new available and selected widget in the add and edit user group screens.

 

------------------------------------------------------------
revno: 17814
committer: Tran Chau<tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2014-12-29 00:51:04 +0700
message:
   Add a new available and selected widget in the add and edit user group screens.
modified:
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/AddUserGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/UpdateUserGroupAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserGroupForm.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserGroupForm.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/AddUserGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/AddUserGroupAction.java	2014-12-18 11:41:20 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/AddUserGroupAction.java	2014-12-28 17:51:04 +0000
@@ -29,7 +29,9 @@
  */
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.hisp.dhis.attribute.AttributeService;
 import org.hisp.dhis.system.util.AttributeUtils;
@@ -93,6 +95,13 @@
         this.jsonAttributeValues = jsonAttributeValues;
     }
 
+    private Set<String> userGroupsSelected = new HashSet<>();
+
+    public void setUserGroupsSelected( Set<String> userGroupsSelected )
+    {
+        this.userGroupsSelected = userGroupsSelected;
+    }
+
     // -------------------------------------------------------------------------
     // Action Implementation
     // -------------------------------------------------------------------------
@@ -112,18 +121,27 @@
         {
             User user = userService.getUser( userUid );
 
-            if( user == null )
+            if ( user == null )
             {
                 continue;
             }
-
             userGroup.addUser( user );
         }
 
         if ( jsonAttributeValues != null )
         {
-            AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues, attributeService );
-        }
+            AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues,
+                attributeService );
+        }
+
+        Set<UserGroup> managedGroups = new HashSet<>();
+
+        for ( String groupUid : userGroupsSelected )
+        {
+            UserGroup group = userGroupService.getUserGroup( groupUid );
+            managedGroups.add( group );
+        }
+        userGroup.setManagedGroups( managedGroups );
 
         userGroupService.addUserGroup( userGroup );
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/UpdateUserGroupAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/UpdateUserGroupAction.java	2014-12-18 11:41:20 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/usergroup/UpdateUserGroupAction.java	2014-12-28 17:51:04 +0000
@@ -105,7 +105,14 @@
     {
         this.jsonAttributeValues = jsonAttributeValues;
     }
+    
+    private Set<String> userGroupsSelected = new HashSet<>();
 
+    public void setUserGroupsSelected( Set<String> userGroupsSelected )
+    {
+        this.userGroupsSelected = userGroupsSelected;
+    }
+    
     // -------------------------------------------------------------------------
     // Action Implementation
     // -------------------------------------------------------------------------
@@ -151,6 +158,16 @@
             AttributeUtils.updateAttributeValuesFromJson( userGroup.getAttributeValues(), jsonAttributeValues, attributeService );
         }
 
+        
+        Set<UserGroup> managedGroups = new HashSet<>();
+        
+        for ( String groupUid : userGroupsSelected )
+        {
+            UserGroup group = userGroupService.getUserGroup( groupUid );
+            managedGroups.add( group );
+        }
+        userGroup.setManagedGroups(managedGroups);
+        
         userGroupService.updateUserGroup( userGroup );
 
         return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties	2014-12-18 11:41:20 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/resources/org/hisp/dhis/user/i18n_module.properties	2014-12-28 17:51:04 +0000
@@ -366,4 +366,6 @@
 no_of_Users=Number of users
 user_group=User Group
 available_users=Available users
-group_members=Group members
\ No newline at end of file
+group_members=Group members
+available_managed_user_groups = Available user groups
+managed_user_groups = Managed user groups
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserGroupForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserGroupForm.vm	2014-12-18 11:41:20 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/addUserGroupForm.vm	2014-12-28 17:51:04 +0000
@@ -6,12 +6,20 @@
             search: $( '#usersAvailableSearch' ),
             iterator: 'users'
         });
+		
+		$( '#userGroupsAvailable' ).selected( {
+            url: '../api/userGroups.json',
+            target: $( '#userGroupsSelected' ),
+            search: $( '#managedGroupsAvailableSearch' ),
+            iterator: 'userGroups'
+        });
 
         validation2( 'addUserGroupForm', function( form ) {
             form.submit();
         }, {
             'beforeValidateHandler': function() {
                 $( '#usersSelected' ).find( 'option' ).attr( 'selected', 'selected' );
+                $( '#userGroupsSelected' ).find( 'option' ).attr( 'selected', 'selected' );
                 #tblDynamicAttributesJavascript()
             },
             'rules': getValidationRules( 'userGroup' )
@@ -27,7 +35,7 @@
 
 #sharingCreateNotification( "userGroup" )
 
-<form id="addUserGroupForm" name="addUserGroupForm" action="addUserGroup.action" method="post" class="inputForm">
+<form id="addUserGroupForm" name="addUserGroupForm" action="addUserGroup.action" method="get" class="inputForm">
  
 <table id="detailsList">
     <col style="width: 120px"/>
@@ -50,6 +58,14 @@
     "i18n_selected": "group_members"
 })
 
+
+#jqSelected({
+  "prefix": "userGroups",
+  "i18n_available": "available_managed_user_groups",
+  "i18n_selected": "managed_user_groups"
+})
+
+
 <p>
     <input type="submit" value="$i18n.getString( 'add' )" style="width:10em"/>
     <input type="button" value="$i18n.getString( 'cancel' )" onclick="dhis2.commons.redirectCurrentPage( 'getAllUserGroups.action' )" style="width:10em"/>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserGroupForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserGroupForm.vm	2014-12-18 11:41:20 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/dhis-web-maintenance-user/updateUserGroupForm.vm	2014-12-28 17:51:04 +0000
@@ -7,11 +7,25 @@
             iterator: 'users'
         });
 
+		$( '#userGroupsAvailable' ).selected( {
+            url: '../api/userGroups.json',
+            target: $( '#userGroupsSelected' ),
+            search: $( '#managedGroupsAvailableSearch' ),
+            iterator: 'userGroups'
+        });
+		
+		$(document).ajaxStop(function() 
+		{
+			var selectedGroup = '$group.uid';
+			$( "#userGroupsAvailable option[value='" + selectedGroup + "']" ).remove();
+		});
+
         validation2( 'editUserGroupForm', function( form ) {
             form.submit();
         }, {
             'beforeValidateHandler': function() {
                 $( '#usersSelected' ).find( 'option' ).attr( 'selected', 'selected' );
+                $( '#userGroupsSelected' ).find( 'option' ).attr( 'selected', 'selected' );
                 #tblDynamicAttributesJavascript()
             },
             'rules': getValidationRules( 'userGroup' )
@@ -40,7 +54,7 @@
     </tr>
 
 </table>
-
+ 
 #tblDynamicAttributes( { "attributes": $attributes, "attributeValues": $attributeValues } )
 
 #jqSelected({
@@ -50,6 +64,14 @@
     "objects": $groupMembers
 })
 
+#jqSelected({
+  "prefix": "userGroups",
+  "i18n_available": "available_managed_user_groups",
+  "i18n_selected": "managed_user_groups",
+  "objects": $group.managedGroups
+})
+
+
 <p>
     <input type="submit" value="$i18n.getString( 'save' )" style="width:10em" />
     <input type="button" value="$i18n.getString( 'cancel' )" onclick="dhis2.commons.redirectCurrentPage( 'getAllUserGroups.action' )" style="width:10em" />