mirror of
https://github.com/codeninjasllc/discourse.git
synced 2025-04-29 07:24:09 -04:00
FIX: Minor Admin bug with a setting when creating a new group
This commit is contained in:
parent
0500638900
commit
f7f5e39f75
5 changed files with 12 additions and 9 deletions
app
assets/javascripts
controllers/admin
serializers
spec/controllers/admin
|
@ -46,7 +46,7 @@
|
||||||
{{#unless automatic}}
|
{{#unless automatic}}
|
||||||
<div>
|
<div>
|
||||||
<label for="automatic_membership">{{i18n 'admin.groups.automatic_membership_email_domains'}}</label>
|
<label for="automatic_membership">{{i18n 'admin.groups.automatic_membership_email_domains'}}</label>
|
||||||
{{list-setting name="automatic_membership" settingValue=automatic_membership_email_domains}}
|
{{list-setting name="automatic_membership" settingValue=emailDomains}}
|
||||||
<label>
|
<label>
|
||||||
{{input type="checkbox" checked=automatic_membership_retroactive}}
|
{{input type="checkbox" checked=automatic_membership_retroactive}}
|
||||||
{{i18n 'admin.groups.automatic_membership_retroactive'}}
|
{{i18n 'admin.groups.automatic_membership_retroactive'}}
|
||||||
|
|
|
@ -11,6 +11,11 @@ Discourse.Group = Discourse.Model.extend({
|
||||||
offset: 0,
|
offset: 0,
|
||||||
user_count: 0,
|
user_count: 0,
|
||||||
|
|
||||||
|
emailDomains: function() {
|
||||||
|
var value = this.get("automatic_membership_email_domains");
|
||||||
|
return Em.isEmpty(value) ? "" : value;
|
||||||
|
}.property("automatic_membership_email_domains"),
|
||||||
|
|
||||||
type: function() {
|
type: function() {
|
||||||
return this.get("automatic") ? "automatic" : "custom";
|
return this.get("automatic") ? "automatic" : "custom";
|
||||||
}.property("automatic"),
|
}.property("automatic"),
|
||||||
|
@ -69,7 +74,7 @@ Discourse.Group = Discourse.Model.extend({
|
||||||
name: this.get('name'),
|
name: this.get('name'),
|
||||||
alias_level: this.get('alias_level'),
|
alias_level: this.get('alias_level'),
|
||||||
visible: !!this.get('visible'),
|
visible: !!this.get('visible'),
|
||||||
automatic_membership_email_domains: this.get('automatic_membership_email_domains'),
|
automatic_membership_email_domains: this.get('emailDomains'),
|
||||||
automatic_membership_retroactive: !!this.get('automatic_membership_retroactive')
|
automatic_membership_retroactive: !!this.get('automatic_membership_retroactive')
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
|
@ -23,6 +23,7 @@ class Admin::GroupsController < Admin::AdminController
|
||||||
group = Group.new
|
group = Group.new
|
||||||
|
|
||||||
group.name = (params[:name] || '').strip
|
group.name = (params[:name] || '').strip
|
||||||
|
group.alias_level = params[:alias_level].to_i if params[:alias_level].present?
|
||||||
group.visible = params[:visible] == "true"
|
group.visible = params[:visible] == "true"
|
||||||
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
||||||
group.automatic_membership_retroactive = params[:automatic_membership_retroactive] == "true"
|
group.automatic_membership_retroactive = params[:automatic_membership_retroactive] == "true"
|
||||||
|
@ -37,12 +38,12 @@ class Admin::GroupsController < Admin::AdminController
|
||||||
def update
|
def update
|
||||||
group = Group.find(params[:id])
|
group = Group.find(params[:id])
|
||||||
|
|
||||||
|
# group rename is ignored for automatic groups
|
||||||
|
group.name = params[:name] if params[:name] && !group.automatic
|
||||||
group.alias_level = params[:alias_level].to_i if params[:alias_level].present?
|
group.alias_level = params[:alias_level].to_i if params[:alias_level].present?
|
||||||
group.visible = params[:visible] == "true"
|
group.visible = params[:visible] == "true"
|
||||||
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
||||||
group.automatic_membership_retroactive = params[:automatic_membership_retroactive] == "true"
|
group.automatic_membership_retroactive = params[:automatic_membership_retroactive] == "true"
|
||||||
# group rename is ignored for automatic groups
|
|
||||||
group.name = params[:name] if params[:name] && !group.automatic
|
|
||||||
|
|
||||||
if group.save
|
if group.save
|
||||||
render_serialized(group, BasicGroupSerializer)
|
render_serialized(group, BasicGroupSerializer)
|
||||||
|
|
|
@ -7,8 +7,4 @@ class BasicGroupSerializer < ApplicationSerializer
|
||||||
:visible,
|
:visible,
|
||||||
:automatic_membership_email_domains,
|
:automatic_membership_email_domains,
|
||||||
:automatic_membership_retroactive
|
:automatic_membership_retroactive
|
||||||
|
|
||||||
def automatic_membership_email_domains
|
|
||||||
object.automatic_membership_email_domains.presence || ""
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -21,12 +21,13 @@ describe Admin::GroupsController do
|
||||||
expect(response.status).to eq(200)
|
expect(response.status).to eq(200)
|
||||||
expect(::JSON.parse(response.body).keep_if {|r| r["id"] == group.id }).to eq([{
|
expect(::JSON.parse(response.body).keep_if {|r| r["id"] == group.id }).to eq([{
|
||||||
"id"=>group.id,
|
"id"=>group.id,
|
||||||
|
"automatic"=>false,
|
||||||
"name"=>group.name,
|
"name"=>group.name,
|
||||||
"user_count"=>1,
|
"user_count"=>1,
|
||||||
"automatic"=>false,
|
"automatic"=>false,
|
||||||
"alias_level"=>0,
|
"alias_level"=>0,
|
||||||
"visible"=>true,
|
"visible"=>true,
|
||||||
"automatic_membership_email_domains"=>"",
|
"automatic_membership_email_domains"=>nil,
|
||||||
"automatic_membership_retroactive"=>false
|
"automatic_membership_retroactive"=>false
|
||||||
}])
|
}])
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue