Skip to content
Snippets Groups Projects
Commit 00d9d767 authored by Ben Bodenmiller's avatar Ben Bodenmiller
Browse files

fix "Without projects" filter

parent f27f9803
No related branches found
No related tags found
No related merge requests found
Loading
@@ -73,6 +73,7 @@ entry.
Loading
@@ -73,6 +73,7 @@ entry.
- Fix applying GitHub-imported labels when importing job is interrupted - Fix applying GitHub-imported labels when importing job is interrupted
- Allow to search for user by secondary email address in the admin interface(/admin/users) !7115 (YarNayar) - Allow to search for user by secondary email address in the admin interface(/admin/users) !7115 (YarNayar)
- Updated commit SHA styling on the branches page. - Updated commit SHA styling on the branches page.
- Fix "Without projects" filter. !6611 (Ben Bodenmiller)
- Fix 404 when visit /projects page - Fix 404 when visit /projects page
   
## 8.13.5 (2016-11-08) ## 8.13.5 (2016-11-08)
Loading
Loading
Loading
@@ -173,7 +173,7 @@ class User < ActiveRecord::Base
Loading
@@ -173,7 +173,7 @@ class User < ActiveRecord::Base
scope :external, -> { where(external: true) } scope :external, -> { where(external: true) }
scope :active, -> { with_state(:active) } scope :active, -> { with_state(:active) }
scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all } scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all }
scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM members)') } scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM members WHERE user_id IS NOT NULL AND requested_at IS NULL)') }
scope :todo_authors, ->(user_id, state) { where(id: Todo.where(user_id: user_id, state: state).select(:author_id)) } scope :todo_authors, ->(user_id, state) { where(id: Todo.where(user_id: user_id, state: state).select(:author_id)) }
   
def self.with_two_factor def self.with_two_factor
Loading
Loading
Loading
@@ -490,6 +490,28 @@ describe User, models: true do
Loading
@@ -490,6 +490,28 @@ describe User, models: true do
end end
end end
   
describe '.without_projects' do
let!(:project) { create(:empty_project, :public) }
let!(:user) { create(:user) }
let!(:user_without_project) { create(:user) }
let!(:user_without_project2) { create(:user) }
before do
# add user to project
project.team << [user, :master]
# create invite to projet
create(:project_member, :developer, project: project, invite_token: '1234', invite_email: 'inviteduser1@example.com')
# create request to join project
project.request_access(user_without_project2)
end
it { expect(User.without_projects).not_to include user }
it { expect(User.without_projects).to include user_without_project }
it { expect(User.without_projects).to include user_without_project2 }
end
describe '.not_in_project' do describe '.not_in_project' do
before do before do
User.delete_all User.delete_all
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