if User.setup setup_params
if params[:groups]
new_groups = params[:groups].split(',').map(&:strip).compact.select{|i| !i.to_s.empty?}
- can_login_perms = Link.where(tail_uuid: params[:user_email],
- head_kind: 'arvados#user',
- link_class: 'permission',
- name: 'can_login')
- if can_login_perms.any?
- perm = can_login_perms.first
- props = perm.properties
- if new_groups != props[:groups]
+ prev_groups = params[:prev_groups].split(',').map(&:strip).compact.select{|i| !i.to_s.empty?}
+ if new_groups != prev_groups
+ can_login_perms = Link.where(tail_uuid: params[:user_email],
+ head_kind: 'arvados#user',
+ link_class: 'permission',
+ name: 'can_login')
+ if can_login_perms.any?
+ perm = can_login_perms.first
+ props = perm.properties
props[:groups] = new_groups
perm.save!
end
perm_properties = can_login_perms.first.properties
current_selections[:identity_url_prefix] = perm_properties[:identity_url_prefix]
current_selections[:groups] = perm_properties[:groups].andand.join(', ')
+@current_groups = current_selections[:groups]
end
# repo perm
<div class="groups-group">
<label for="groups">Groups</label>
<input user_email="user_email" maxlength="250" name="user_email" type="hidden" value="<%=email%>">
+ <input prev_groups="prev_groups" maxlength="250" name="prev_groups" type="hidden" value="<%=groups%>">
<input class="form-control" id="groups" maxlength="250" name="groups" type="text" value="<%=groups%>"
title="Comma separated list of groups to which this user belongs">
</div>