Skip to content

Commit f20a9f1

Browse files
committed
Limit dashboard questions to the current universe if universe scope is set
1 parent a8e0382 commit f20a9f1

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

app/controllers/main_controller.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@ def dashboard
2222
attempts = 0
2323

2424
begin
25-
@content = current_user.content.values.flatten.sample
26-
@question = @content.question unless @content.nil?
25+
if @universe_scope.present? && attempts < 2
26+
content_pool = current_user.content_in_universe(@universe_scope).values.flatten
27+
else
28+
content_pool = current_user.content.values.flatten
29+
end
2730

31+
@content = content_pool.sample
32+
@question = @content.question unless @content.nil?
2833
raise RetryMe if @content.present? && (@question.nil? || @question[:question].nil?) # :(
2934
rescue RetryMe
3035
attempts += 1

app/models/concerns/has_content.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,21 @@ def content
4141
}
4242
end
4343

44+
def content_in_universe universe_id
45+
{
46+
characters: characters.in_universe(universe_id),
47+
items: items.in_universe(universe_id),
48+
locations: locations.in_universe(universe_id),
49+
creatures: creatures.in_universe(universe_id),
50+
races: races.in_universe(universe_id),
51+
religions: religions.in_universe(universe_id),
52+
magics: magics.in_universe(universe_id),
53+
languages: languages.in_universe(universe_id),
54+
scenes: scenes.in_universe(universe_id),
55+
groups: groups.in_universe(universe_id)
56+
}
57+
end
58+
4459
def content_count
4560
[
4661
characters.length,

0 commit comments

Comments
 (0)