Skip to content
Snippets Groups Projects
Commit 1d889a79 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Fix group duplication on dashboard and project order in group

parent ff9a2e2a
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -54,10 +54,12 @@ class GroupsController < ApplicationController
end
 
def projects
@projects ||= if can?(current_user, :manage_group, @group)
@group.projects.all
else
current_user.projects_sorted_by_activity.where(namespace_id: @group.id)
@projects ||= begin
if can?(current_user, :manage_group, @group)
@group.projects
else
current_user.projects.where(namespace_id: @group.id)
end.sorted_by_activity.all
end
end
 
Loading
Loading
Loading
Loading
@@ -73,7 +73,7 @@ class Project < ActiveRecord::Base
scope :public_only, where(private_flag: false)
scope :without_user, ->(user) { where("id NOT IN (:ids)", ids: user.projects.map(&:id) ) }
scope :not_in_group, ->(group) { where("id NOT IN (:ids)", ids: group.project_ids ) }
scope :authorized_for, ->(user) { joins(:users_projects) { where(user_id: user.id) } }
scope :sorted_by_activity, ->() { order("(SELECT max(events.created_at) FROM events WHERE events.project_id = projects.id) DESC") }
 
class << self
def active
Loading
Loading
@@ -285,4 +285,9 @@ class Project < ActiveRecord::Base
merge_requests
end
end
def self.authorized_for user
projects = includes(:users_projects, :namespace)
projects = projects.where("users_projects.user_id = :user_id or projects.owner_id = :user_id or namespaces.owner_id = :user_id", user_id: user.id)
end
end
Loading
Loading
@@ -127,7 +127,8 @@ class User < ActiveRecord::Base
def accessed_groups
@accessed_groups ||= begin
groups = Group.where(id: self.projects.pluck(:namespace_id)).all
groups + self.groups
groups = groups + self.groups
groups.uniq
end
end
end
Loading
Loading
@@ -80,7 +80,7 @@ module Account
end
 
def projects_sorted_by_activity
projects.order("(SELECT max(events.created_at) FROM events WHERE events.project_id = projects.id) DESC")
projects.sorted_by_activity
end
 
def namespaces
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment