Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 4362

Show
Ignore:
Timestamp:
05/25/08 15:03:23 (8 months ago)
Author:
djazayeri
Message:

Fixing #776 - Cannot edit users

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs/trunk/src/web/org/openmrs/web/controller/user/UserFormController.java

    r4095 r4362  
    133133                                if (roles != null) { 
    134134                                        for (String r : roles) { 
    135                                                 Role role = us.getRole(r); 
     135                                                // Make sure that if we already have a detached instance of this role in the 
     136                                                // user's roles, that we don't fetch a second copy of that same role from 
     137                                                // the database, or else hibernate will throw a NonUniqueObjectException. 
     138                                                Role role = null; 
     139                                                for (Role test : user.getRoles()) 
     140                                                        if (test.getRole().equals(r)) 
     141                                                                role = test; 
     142                                                if (role == null) { 
     143                                                        role = us.getRole(r); 
     144                                                        user.addRole(role); 
     145                                                } 
    136146                                                newRoles.add(role); 
    137                                                 user.addRole(role); 
     147                                                 
    138148                                        } 
    139149                                }