Over 10 years of community discussion and knowledge are maintained here as a read-only archive.
// add a role to this user public function addRoleToUser( user:UserVO, role:RoleEnum ) : void { var result:Boolean = false; if ( ! doesUserHaveRole( user, role ) ) { for ( var i:int=0; i<roles.length; i++) { if ( roles.getItemAt(i).username == user.username ) { var userRoles:ArrayCollection = roles.getItemAt(i).roles as ArrayCollection; userRoles.addItem( role ); result = true; break; } } } sendNotification( ApplicationFacade.ADD_ROLE_RESULT, result ); }
override public function handleNotification( note:INotification ):void { switch ( note.getName() ) { ... case ApplicationFacade.ADD_ROLE_RESULT: rolePanel.userRoles = roleProxy.getUserRoles( rolePanel.user.username ); rolePanel.reset(); break; } }
// remove a role from the user public function removeRoleFromUser( user:UserVO, role:RoleEnum ) : void { if ( doesUserHaveRole( user, role ) ) { for ( var i:int=0; i<roles.length; i++) { if ( roles.getItemAt(i).username == user.username ) { var userRoles:ArrayCollection = roles.getItemAt(i).roles as ArrayCollection; for ( var j:int=0; j<userRoles.length; j++) { if ( RoleEnum( userRoles.getItemAt(j) ).equals( role ) ) { userRoles.removeItemAt(j); break; } } break; } } } }
case ApplicationFacade.ADD_ROLE_RESULT: rolePanel.userRoles = null; rolePanel.userRoles = roleProxy.getUserRoles( rolePanel.user.username ); break;