Skip to content

Commit 7ab0270

Browse files
authored
Merge pull request #1776 from codidact/0valt/1759/select-init
Fix for the category default filter select using default UA styling
2 parents 806dd65 + 4471d69 commit 7ab0270

File tree

3 files changed

+45
-17
lines changed

3 files changed

+45
-17
lines changed

app/models/category.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@ class Category < ApplicationRecord
1515

1616
validates :name, uniqueness: { scope: [:community_id], case_sensitive: false }
1717

18+
COLORS = ['turquoise',
19+
'green',
20+
'blue',
21+
'darkblue',
22+
'purple',
23+
'gray',
24+
'bluegray',
25+
'yellow',
26+
'orange',
27+
'pink',
28+
'red'].freeze
29+
1830
# Is the category set as the homepage?
1931
# @return [Boolean] check result
2032
def homepage?

app/views/admin/setup.html.erb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
<div class="form-group">
1717
<%= label_tag :primary_color, 'Primary color', class: 'form-element' %>
1818
<span class="form-caption">Select a primary color for this site. Will be used as default for all categories.</span>
19-
<%= select_tag :primary_color, options_for_select(['turquoise', 'green', 'blue', 'darkblue', 'purple', 'gray', 'bluegray', 'yellow', 'orange', 'pink', 'red'],
20-
selected: SiteSetting['SiteCategoryHeaderDefaultColor']),
21-
class: 'form-element' %>
19+
<%= select_tag :primary_color,
20+
options_for_select(Category::COLORS,
21+
selected: SiteSetting['SiteCategoryHeaderDefaultColor']),
22+
class: 'form-element' %>
2223
</div>
2324

2425
<div class="form-group">
@@ -91,4 +92,4 @@
9192

9293
<%= submit_tag 'Save and continue', class: 'button is-filled' %>
9394

94-
<% end %>
95+
<% end %>

app/views/categories/_form.html.erb

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
<span class="form-caption">
4040
These post types will be displayed on the category's homepage. For a Q&A category, you might only want to show questions.
4141
</span>
42-
<%= f.select :display_post_types, options_for_select(PostType.mapping.to_a, selected: @category.display_post_types),
42+
<%= f.select :display_post_types,
43+
options_for_select(PostType.mapping.to_a, selected: @category.display_post_types),
4344
{ include_blank: true }, multiple: true, class: 'form-element' %>
4445
</div>
4546

@@ -58,7 +59,8 @@
5859
<div class="form-group">
5960
<%= f.label :tag_set_id, 'Tag set', class: 'form-element' %>
6061
<span class="form-caption">Which tag set may posts in this category draw from?</span>
61-
<%= f.select :tag_set_id, options_for_select(TagSet.all.map { |ts| [ts.name, ts.id] }, selected: @category.tag_set_id),
62+
<%= f.select :tag_set_id,
63+
options_for_select(TagSet.all.map { |ts| [ts.name, ts.id] }, selected: @category.tag_set_id),
6264
{ include_blank: true }, class: 'form-element js-category-tag-set-select' %>
6365
</div>
6466

@@ -87,7 +89,8 @@
8789
Users must have at least this trust level to post in this category. Leave blank to allow
8890
anyone to post.
8991
</span>
90-
<%= f.select :min_trust_level, options_for_select(Ability.trust_levels.invert.each_pair, selected: @category.min_trust_level),
92+
<%= f.select :min_trust_level,
93+
options_for_select(Ability.trust_levels.invert.each_pair, selected: @category.min_trust_level),
9194
{}, class: 'form-element' %>
9295
</div>
9396

@@ -97,7 +100,8 @@
97100
Users under this trust level cannot see that this category exists. Leave blank to leave the category public.
98101
This can be different (higher or lower) than the minimum posting trust level.
99102
</span>
100-
<%= f.select :min_view_trust_level, options_for_select(Ability.trust_levels.invert.each_pair, selected: @category.min_view_trust_level),
103+
<%= f.select :min_view_trust_level,
104+
options_for_select(Ability.trust_levels.invert.each_pair, selected: @category.min_view_trust_level),
101105
{}, class: 'form-element' %>
102106
</div>
103107

@@ -132,9 +136,13 @@
132136

133137
<div class="form-group">
134138
<%= f.label :color_code, 'Header color', class: 'form-element' %>
135-
<span class="form-caption">Select a color to be used for the header within this category. Leave empty for site-wide default.</span>
136-
<%= f.select :color_code, options_for_select(['turquoise', 'green', 'blue', 'darkblue', 'purple', 'gray', 'bluegray', 'yellow', 'orange', 'pink', 'red'], selected: @category.color_code),
137-
{ include_blank: true }, class: 'form-element' %>
139+
<span class="form-caption">
140+
Select a color to be used for the header within this category. Leave empty for site-wide default.
141+
</span>
142+
<%= f.select :color_code,
143+
options_for_select(Category::COLORS, selected: @category.color_code),
144+
{ include_blank: true },
145+
class: 'form-element' %>
138146
</div>
139147

140148
<div class="form-group">
@@ -150,7 +158,10 @@
150158
<%= f.label :default_filter_id, class: 'form-element' %>
151159
<span class="form-caption">The default filter for this category, used for anonymous users.</span>
152160
<% system_filters = User.find(-1).filters.to_h { |filter| [filter.name, filter.id] } %>
153-
<%= f.select :default_filter_id, options_for_select(system_filters, selected: @category.default_filter_id), { include_blank: "No default" } %>
161+
<%= f.select :default_filter_id,
162+
options_for_select(system_filters, selected: @category.default_filter_id),
163+
{ include_blank: 'No default' },
164+
class: 'form-element' %>
154165
</div>
155166
</details>
156167

@@ -163,15 +174,17 @@
163174
<div class="form-group">
164175
<%= f.label :asking_guidance_override, class: 'form-element' %>
165176
<span class="form-caption">
166-
This field overrides the default asking guidance and is shown when a new post is created. Leave blank to use site-default.
167-
</span>
177+
This field overrides the default asking guidance and is shown when a new post is created.<br/>
178+
Leave blank to use site-default.
179+
</span>
168180
<%= f.text_area :asking_guidance_override, class: 'form-element' %>
169181
</div>
170182

171183
<div class="form-group">
172184
<%= f.label :answering_guidance_override, class: 'form-element' %>
173185
<span class="form-caption">
174-
This field overrides the default answering guidance and is shown when a new answer is created. Leave blank to use site-default.
186+
This field overrides the default answering guidance and is shown when a new answer is created.<br/>
187+
Leave blank to use site-default.
175188
</span>
176189
<%= f.text_area :answering_guidance_override, class: 'form-element' %>
177190
</div>
@@ -188,7 +201,8 @@
188201
<span class="form-caption">
189202
Whether the posts of this category are eligible to be selected as hot posts.
190203
</span>
191-
<%= f.select :use_for_hot_posts, options_for_select([['yes', true], ['no', false]], selected: @category.use_for_hot_posts),
204+
<%= f.select :use_for_hot_posts,
205+
options_for_select([['yes', true], ['no', false]], selected: @category.use_for_hot_posts),
192206
{}, class: 'form-element' %>
193207
</div>
194208

@@ -197,7 +211,8 @@
197211
<span class="form-caption">
198212
Whether the posts of this category are eligible to be selected as random advertisement.
199213
</span>
200-
<%= f.select :use_for_advertisement, options_for_select([['yes', true], ['no', false]], selected: @category.use_for_advertisement),
214+
<%= f.select :use_for_advertisement,
215+
options_for_select([['yes', true], ['no', false]], selected: @category.use_for_advertisement),
201216
{}, class: 'form-element' %>
202217
</div>
203218
</details>

0 commit comments

Comments
 (0)