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 case params[:status] ? params[:status].to_i : self.status
when Event.statuses[:private] 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.update!(params.merge(raw_invitees: raw_invitees))
self.enforce_raw_invitees! self.enforce_raw_invitees!
when Event.statuses[:public] 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] when Event.statuses[:standalone]
self.update!(params.merge(raw_invitees: [])) self.update!(params.merge(raw_invitees: []))
self.invitees.destroy_all self.invitees.destroy_all

View File

@ -52,6 +52,17 @@ export default Controller.extend(ModalFunctionality, {
set(this.model.eventModel.custom_fields, field, value); 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 @action
setRawInvitees(_, newInvitees) { setRawInvitees(_, newInvitees) {
this.set("model.eventModel.raw_invitees", newInvitees); this.set("model.eventModel.raw_invitees", newInvitees);

View File

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