+ unless @user.administrator?
+ flash[:error] = t 'user_role.filter.not_an_administrator'
+ redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
+ end
+ end
+
+ ##
+ # require that the given role is valid. the role is a URL
+ # parameter, so should always be present.
+ def require_valid_role
+ @role = params[:role]
+ unless UserRole::ALL_ROLES.include?(@role)
+ flash[:error] = t('user_role.filter.not_a_role', :role => @role)
+ redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
+ end
+ end
+
+ ##
+ # checks that the user doesn't already have this role
+ def not_in_role
+ if @this_user.has_role? @role
+ flash[:error] = t('user_role.filter.already_has_role', :role => @role)
+ redirect_to :controller => 'user', :action => 'view', :display_name => @this_user.display_name
+ end