Commit ce1b79afa9faa8ffaae7392f9e48273c230753c4

Authored by Dmitriy Zaporozhets
1 parent 8b76e306

SQL Fixes

app/controllers/groups_controller.rb
@@ -50,7 +50,7 @@ class GroupsController < ApplicationController @@ -50,7 +50,7 @@ class GroupsController < ApplicationController
50 end 50 end
51 51
52 def people 52 def people
53 - @users = group.projects.map(&:users).flatten.uniq 53 + @users = group.users
54 end 54 end
55 55
56 protected 56 protected
app/models/group.rb
@@ -23,10 +23,14 @@ class Group < ActiveRecord::Base @@ -23,10 +23,14 @@ class Group < ActiveRecord::Base
23 delegate :name, to: :owner, allow_nil: true, prefix: true 23 delegate :name, to: :owner, allow_nil: true, prefix: true
24 24
25 def self.search query 25 def self.search query
26 - where("name like :query or code like :query", query: "%#{query}%") 26 + where("name like :query OR code like :query", query: "%#{query}%")
27 end 27 end
28 28
29 def to_param 29 def to_param
30 code 30 code
31 end 31 end
  32 +
  33 + def users
  34 + User.joins(:users_projects).where('users_projects.project_id' => project_ids).uniq
  35 + end
32 end 36 end
app/models/project.rb
@@ -30,15 +30,15 @@ class Project < ActiveRecord::Base @@ -30,15 +30,15 @@ class Project < ActiveRecord::Base
30 30
31 # Scopes 31 # Scopes
32 scope :public_only, where(private_flag: false) 32 scope :public_only, where(private_flag: false)
33 - scope :without_user, ->(user) { where("id not in (:ids)", ids: user.projects.map(&:id) ) }  
34 - scope :not_in_group, ->(group) { where("id not in (:ids)", ids: group.project_ids ) } 33 + scope :without_user, ->(user) { where("id NOT IN (:ids)", ids: user.projects.map(&:id) ) }
  34 + scope :not_in_group, ->(group) { where("id NOT IN (:ids)", ids: group.project_ids ) }
35 35
36 def self.active 36 def self.active
37 joins(:issues, :notes, :merge_requests).order("issues.created_at, notes.created_at, merge_requests.created_at DESC") 37 joins(:issues, :notes, :merge_requests).order("issues.created_at, notes.created_at, merge_requests.created_at DESC")
38 end 38 end
39 39
40 def self.search query 40 def self.search query
41 - where("name like :query or code like :query or path like :query", query: "%#{query}%") 41 + where("name like :query OR code like :query OR path like :query", query: "%#{query}%")
42 end 42 end
43 43
44 def self.create_by_user(params, user) 44 def self.create_by_user(params, user)