Commit ce1b79afa9faa8ffaae7392f9e48273c230753c4
1 parent
8b76e306
Exists in
master
and in
4 other branches
SQL Fixes
Showing
3 changed files
with
9 additions
and
5 deletions
Show diff stats
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) |