Merge branch 'active-users' into 'master'
Blocking user does not remove him/her from project/groups but show blocked label For #248 See merge request !1664
This commit is contained in:
commit
d086221f73
6 changed files with 9 additions and 22 deletions
|
@ -34,6 +34,7 @@ v 7.9.0 (unreleased)
|
|||
- Automatically link commit ranges to compare page: sha1...sha4 or sha1..sha4 (includes sha1 in comparison)
|
||||
- Move groups page from profile to dashboard
|
||||
- Starred projects page at dashboard
|
||||
- Blocking user does not remove him/her from project/groups but show blocked label
|
||||
|
||||
v 7.8.2
|
||||
- Fix service migration issue when upgrading from versions prior to 7.3
|
||||
|
|
|
@ -154,24 +154,6 @@ class User < ActiveRecord::Base
|
|||
delegate :path, to: :namespace, allow_nil: true, prefix: true
|
||||
|
||||
state_machine :state, initial: :active do
|
||||
after_transition any => :blocked do |user, transition|
|
||||
# Remove user from all projects and
|
||||
user.project_members.find_each do |membership|
|
||||
# skip owned resources
|
||||
next if membership.project.owner == user
|
||||
|
||||
return false unless membership.destroy
|
||||
end
|
||||
|
||||
# Remove user from all groups
|
||||
user.group_members.find_each do |membership|
|
||||
# skip owned resources
|
||||
next if membership.group.last_owner?(user)
|
||||
|
||||
return false unless membership.destroy
|
||||
end
|
||||
end
|
||||
|
||||
event :block do
|
||||
transition active: :blocked
|
||||
end
|
||||
|
@ -626,7 +608,7 @@ class User < ActiveRecord::Base
|
|||
def contributed_projects_ids
|
||||
Event.where(author_id: self).
|
||||
where("created_at > ?", Time.now - 1.year).
|
||||
where("action = :pushed OR (target_type = 'MergeRequest' AND action = :created)",
|
||||
where("action = :pushed OR (target_type = 'MergeRequest' AND action = :created)",
|
||||
pushed: Event::PUSHED, created: Event::CREATED).
|
||||
reorder(project_id: :desc).
|
||||
select(:project_id).
|
||||
|
|
|
@ -268,6 +268,7 @@ class NotificationService
|
|||
# Also remove duplications and nil recipients
|
||||
def reject_muted_users(users, project = nil)
|
||||
users = users.to_a.compact.uniq
|
||||
users = users.reject(&:blocked?)
|
||||
|
||||
users.reject do |user|
|
||||
next user.notification.disabled? unless project
|
||||
|
|
|
@ -116,7 +116,6 @@
|
|||
%ul
|
||||
%li User will not be able to login
|
||||
%li User will not be able to access git repositories
|
||||
%li User will be removed from joined projects and groups
|
||||
%li Personal projects will be left
|
||||
%li Owned groups will be left
|
||||
%br
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
%span.cgray= user.username
|
||||
- if user == current_user
|
||||
%span.label.label-success It's you
|
||||
- if user.blocked?
|
||||
%label.label.label-danger
|
||||
%strong Blocked
|
||||
|
||||
- if show_roles
|
||||
%span.pull-right
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
= image_tag avatar_icon(user.email, 32), class: "avatar s32"
|
||||
%p
|
||||
%strong= user.name
|
||||
- if user.blocked?
|
||||
%label.label.label-danger
|
||||
%strong Blocked
|
||||
%span.cgray= user.username
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue