diff options
| author | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-10-03 14:26:37 +0300 |
|---|---|---|
| committer | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-10-03 14:26:37 +0300 |
| commit | ce1b79afa9faa8ffaae7392f9e48273c230753c4 (patch) | |
| tree | 6605262af66e5908cd1258ef3b04bce6afa63d0e | |
| parent | 8b76e30656954c2dd95121fff46c4bc6cc81bb74 (diff) | |
| download | gitlab-ce-ce1b79afa9faa8ffaae7392f9e48273c230753c4.tar.gz | |
SQL Fixes
| -rw-r--r-- | app/controllers/groups_controller.rb | 2 | ||||
| -rw-r--r-- | app/models/group.rb | 6 | ||||
| -rw-r--r-- | app/models/project.rb | 6 |
3 files changed, 9 insertions, 5 deletions
diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 486b0bee0cb..4a05434c783 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -50,7 +50,7 @@ class GroupsController < ApplicationController end def people - @users = group.projects.map(&:users).flatten.uniq + @users = group.users end protected diff --git a/app/models/group.rb b/app/models/group.rb index 1bb805e8caf..628d00092cd 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -23,10 +23,14 @@ class Group < ActiveRecord::Base delegate :name, to: :owner, allow_nil: true, prefix: true def self.search query - where("name like :query or code like :query", query: "%#{query}%") + where("name like :query OR code like :query", query: "%#{query}%") end def to_param code end + + def users + User.joins(:users_projects).where('users_projects.project_id' => project_ids).uniq + end end diff --git a/app/models/project.rb b/app/models/project.rb index f525f292222..c00bb4563fd 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -30,15 +30,15 @@ class Project < ActiveRecord::Base # Scopes 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 :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 ) } def self.active joins(:issues, :notes, :merge_requests).order("issues.created_at, notes.created_at, merge_requests.created_at DESC") end def self.search query - where("name like :query or code like :query or path like :query", query: "%#{query}%") + where("name like :query OR code like :query OR path like :query", query: "%#{query}%") end def self.create_by_user(params, user) |
