FIX: ensures trust_level_0 is not propagate from public to private event

This commit is contained in:
jjaffeux 2020-08-11 14:45:34 +02:00
parent 3759168ccb
commit 41d65e6a7a
3 changed files with 16 additions and 5 deletions

View File

@ -249,11 +249,11 @@ module DiscoursePostEvent
case params[:status] ? params[:status].to_i : self.status
when Event.statuses[:private]
raw_invitees = Array(params[:raw_invitees])
raw_invitees = Array(params[:raw_invitees]) - ['trust_level_0']
self.update!(params.merge(raw_invitees: raw_invitees))
self.enforce_raw_invitees!
when Event.statuses[:public]
self.update!(params.merge(raw_invitees: [:trust_level_0]))
self.update!(params.merge(raw_invitees: ['trust_level_0']))
when Event.statuses[:standalone]
self.update!(params.merge(raw_invitees: []))
self.invitees.destroy_all

View File

@ -52,6 +52,17 @@ export default Controller.extend(ModalFunctionality, {
set(this.model.eventModel.custom_fields, field, value);
},
@action
onChangeStatus(newStatus) {
if (newStatus === "private") {
this.setRawInvitees(
null,
this.model.eventModel.raw_invitees.filter(x => x !== "trust_level_0")
);
}
this.set("model.eventModel.status", newStatus);
},
@action
setRawInvitees(_, newInvitees) {
this.set("model.eventModel.raw_invitees", newInvitees);

View File

@ -34,7 +34,7 @@
name="status"
value="public"
selection=model.eventModel.status
onChange=(action (mut model.eventModel.status))
onChange=(action "onChangeStatus")
}}
<span class="message">
<span class="title">{{i18n "discourse_post_event.models.event.status.public.title"}}</span>
@ -46,7 +46,7 @@
name="status"
value="private"
selection=model.eventModel.status
onChange=(action (mut model.eventModel.status))
onChange=(action "onChangeStatus")
}}
<span class="message">
<span class="title">{{i18n "discourse_post_event.models.event.status.private.title"}}</span>
@ -58,7 +58,7 @@
name="status"
value="standalone"
selection=model.eventModel.status
onChange=(action (mut model.eventModel.status))
onChange=(action "onChangeStatus")
}}
<span class="message">
<span class="title">{{i18n "discourse_post_event.models.event.status.standalone.title"}}</span>