mirror of
https://github.com/codeninjasllc/discourse.git
synced 2025-02-17 04:01:29 -05: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
|
@ -46,7 +46,7 @@
|
|||
{{#unless automatic}}
|
||||
<div>
|
||||
<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>
|
||||
{{input type="checkbox" checked=automatic_membership_retroactive}}
|
||||
{{i18n 'admin.groups.automatic_membership_retroactive'}}
|
||||
|
|
|
@ -11,6 +11,11 @@ Discourse.Group = Discourse.Model.extend({
|
|||
offset: 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() {
|
||||
return this.get("automatic") ? "automatic" : "custom";
|
||||
}.property("automatic"),
|
||||
|
@ -69,7 +74,7 @@ Discourse.Group = Discourse.Model.extend({
|
|||
name: this.get('name'),
|
||||
alias_level: this.get('alias_level'),
|
||||
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')
|
||||
};
|
||||
},
|
||||
|
|
|
@ -23,6 +23,7 @@ class Admin::GroupsController < Admin::AdminController
|
|||
group = Group.new
|
||||
|
||||
group.name = (params[:name] || '').strip
|
||||
group.alias_level = params[:alias_level].to_i if params[:alias_level].present?
|
||||
group.visible = params[:visible] == "true"
|
||||
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
||||
group.automatic_membership_retroactive = params[:automatic_membership_retroactive] == "true"
|
||||
|
@ -37,12 +38,12 @@ class Admin::GroupsController < Admin::AdminController
|
|||
def update
|
||||
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.visible = params[:visible] == "true"
|
||||
group.automatic_membership_email_domains = params[:automatic_membership_email_domains]
|
||||
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
|
||||
render_serialized(group, BasicGroupSerializer)
|
||||
|
|
|
@ -7,8 +7,4 @@ class BasicGroupSerializer < ApplicationSerializer
|
|||
:visible,
|
||||
:automatic_membership_email_domains,
|
||||
:automatic_membership_retroactive
|
||||
|
||||
def automatic_membership_email_domains
|
||||
object.automatic_membership_email_domains.presence || ""
|
||||
end
|
||||
end
|
||||
|
|
|
@ -21,12 +21,13 @@ describe Admin::GroupsController do
|
|||
expect(response.status).to eq(200)
|
||||
expect(::JSON.parse(response.body).keep_if {|r| r["id"] == group.id }).to eq([{
|
||||
"id"=>group.id,
|
||||
"automatic"=>false,
|
||||
"name"=>group.name,
|
||||
"user_count"=>1,
|
||||
"automatic"=>false,
|
||||
"alias_level"=>0,
|
||||
"visible"=>true,
|
||||
"automatic_membership_email_domains"=>"",
|
||||
"automatic_membership_email_domains"=>nil,
|
||||
"automatic_membership_retroactive"=>false
|
||||
}])
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue